aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/qmmpuisettings.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-12-14 15:12:20 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-12-14 15:12:20 +0000
commit92f1159a134f4d9dbd93176107afc48e4f77cb81 (patch)
tree4aa971c42e00d36cc8d588273f3ad0ff6b46fb16 /src/qmmpui/qmmpuisettings.cpp
parent8351bd6fbf8b9b6b3360a0cfd6546127794d0b89 (diff)
downloadqmmp-92f1159a134f4d9dbd93176107afc48e4f77cb81.tar.gz
qmmp-92f1159a134f4d9dbd93176107afc48e4f77cb81.tar.bz2
qmmp-92f1159a134f4d9dbd93176107afc48e4f77cb81.zip
fixed saving of the playlist settings (Fixes issue 622)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3960 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/qmmpuisettings.cpp')
-rw-r--r--src/qmmpui/qmmpuisettings.cpp105
1 files changed, 90 insertions, 15 deletions
diff --git a/src/qmmpui/qmmpuisettings.cpp b/src/qmmpui/qmmpuisettings.cpp
index f757a7b31..46be8610c 100644
--- a/src/qmmpui/qmmpuisettings.cpp
+++ b/src/qmmpui/qmmpuisettings.cpp
@@ -30,17 +30,26 @@ QmmpUiSettings::QmmpUiSettings(QObject *parent) : QObject(parent)
{
m_instance = this;
QSettings s (Qmmp::configFile(), QSettings::IniFormat);
+ s.beginGroup("PlayList");
m_title_format = s.value("PlayList/title_format", "%p%if(%p&%t, - ,)%t").toString();
m_group_format = s.value("PlayList/group_format", "%p%if(%p&%a, - %if(%y,[%y] ,),)%a").toString();
- m_convertUnderscore = s.value ("PlayList/convert_underscore", true).toBool();
- m_convertTwenty = s.value ("PlayList/convert_twenty", true).toBool();
- m_useMetadata = s.value ("PlayList/load_metadata", true).toBool();
- m_autosave_playlist = s.value("PlayList/autosave", true).toBool();
- m_resume_on_startup = s.value("General/resume_on_startup", false).toBool();
- m_restrict_filters = s.value("General/restrict_filters").toStringList();
- m_exclude_filters = s.value("General/exclude_filters", QStringList() << "*.cue").toStringList();
- m_use_default_pl = s.value("General/use_default_pl", false).toBool();
- m_default_pl_name = s.value("General/default_pl_name", tr("Playlist")).toString();
+ m_convertUnderscore = s.value ("convert_underscore", true).toBool();
+ m_convertTwenty = s.value ("convert_twenty", true).toBool();
+ m_useMetadata = s.value ("load_metadata", true).toBool();
+ m_autosave_playlist = s.value("autosave", true).toBool();
+ m_repeate_list = s.value("repeate_list",false).toBool();
+ m_shuffle = s.value("shuffle",false).toBool();
+ m_groups_enabled = s.value("groups",false).toBool();
+ m_repeat_track = s.value("repeate_track",false).toBool();
+ m_no_pl_advance = s.value("no_advance",false).toBool();
+ s.endGroup();
+ s.beginGroup("General");
+ m_resume_on_startup = s.value("resume_on_startup", false).toBool();
+ m_restrict_filters = s.value("restrict_filters").toStringList();
+ m_exclude_filters = s.value("exclude_filters", QStringList() << "*.cue").toStringList();
+ m_use_default_pl = s.value("use_default_pl", false).toBool();
+ m_default_pl_name = s.value("default_pl_name", tr("Playlist")).toString();
+ s.endGroup();
m_use_clipboard = s.value("URLDialog/use_clipboard", false).toBool();
}
@@ -60,6 +69,31 @@ const QString QmmpUiSettings::groupFormat() const
return m_group_format;
}
+bool QmmpUiSettings::isRepeatableList() const
+{
+ return m_repeate_list;
+}
+
+bool QmmpUiSettings::isShuffle() const
+{
+ return m_shuffle;
+}
+
+bool QmmpUiSettings::isGroupsEnabled() const
+{
+ return m_groups_enabled;
+}
+
+bool QmmpUiSettings::isRepeatableTrack() const
+{
+ return m_repeat_track;
+}
+
+bool QmmpUiSettings::isNoPlaylistAdvance() const
+{
+ return m_no_pl_advance;
+}
+
bool QmmpUiSettings::convertUnderscore() const
{
return m_convertUnderscore;
@@ -102,11 +136,9 @@ void QmmpUiSettings::setGroupFormat(const QString &groupFormat)
if(groupFormat != m_group_format)
{
m_group_format = groupFormat;
- if(!PlayListManager::instance()->isGroupsEnabled())
- return;
foreach(PlayListModel *model, PlayListManager::instance()->playLists())
{
- model->prepareGroups(true);
+ model->updateGroups();
}
}
}
@@ -145,6 +177,11 @@ void QmmpUiSettings::sync()
s.setValue("PlayList/convert_twenty", m_convertTwenty);
s.setValue("PlayList/load_metadata", m_useMetadata);
s.setValue("PlayList/autosave", m_autosave_playlist);
+ s.setValue("PlayList/repeate_list", m_repeate_list);
+ s.setValue("PlayList/shuffle", m_shuffle);
+ s.setValue("PlayList/groups", m_groups_enabled);
+ s.setValue("PlayList/repeate_track", m_repeat_track);
+ s.setValue("PlayList/no_advance", m_no_pl_advance);
s.setValue("General/resume_on_startup", m_resume_on_startup);
s.setValue("General/restrict_filters", m_restrict_filters);
s.setValue("General/exclude_filters", m_exclude_filters);
@@ -153,6 +190,46 @@ void QmmpUiSettings::sync()
s.setValue("URLDialog/use_clipboard", m_use_clipboard);
}
+void QmmpUiSettings::setRepeatableList(bool r)
+{
+ if(m_repeate_list == r)
+ return;
+ m_repeate_list = r;
+ emit repeatableListChanged(r);
+}
+
+void QmmpUiSettings::setShuffle(bool s)
+{
+ if(m_shuffle == s)
+ return;
+ m_shuffle = s;
+ emit shuffleChanged(s);
+}
+
+void QmmpUiSettings::setGroupsEnabled(bool enabled)
+{
+ if(m_groups_enabled == enabled)
+ return;
+ m_groups_enabled = enabled;
+ emit groupsChanged(enabled);
+}
+
+void QmmpUiSettings::setRepeatableTrack(bool enabled)
+{
+ if(m_repeat_track == enabled)
+ return;
+ m_repeat_track = enabled;
+ emit repeatableTrackChanged(enabled);
+}
+
+void QmmpUiSettings::setNoPlaylistAdvance(bool enabled)
+{
+ if(m_no_pl_advance == enabled)
+ return;
+ m_no_pl_advance = enabled;
+ emit noPlaylistAdvanceChanged(enabled);
+}
+
QStringList QmmpUiSettings::restrictFilters() const
{
return m_restrict_filters;
@@ -183,7 +260,7 @@ QString QmmpUiSettings::defaultPlayListName() const
return m_default_pl_name;
}
-QmmpUiSettings * QmmpUiSettings::instance()
+QmmpUiSettings *QmmpUiSettings::instance()
{
if(!m_instance)
return new QmmpUiSettings(qApp);
@@ -199,11 +276,9 @@ void QmmpUiSettings::setDefaultPlayList(const QString &name, bool enabled)
void QmmpUiSettings::setAutoSavePlayList(bool enabled)
{
m_autosave_playlist = enabled;
- PlayListManager::instance()->readSettings();
}
bool QmmpUiSettings::autoSavePlayList() const
{
return m_autosave_playlist;
}
-