aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/qmmpuisettings.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-02-09 19:10:54 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-02-09 19:10:54 +0000
commitbc28f1332bbbf9bad49bbad6fd01ef03b4ab99b9 (patch)
tree24dd1dc055212b1486b3cb27c888883e062888f7 /src/qmmpui/qmmpuisettings.cpp
parent68759dc1fdf12840cd8ab137fa2bc0d07719d754 (diff)
downloadqmmp-bc28f1332bbbf9bad49bbad6fd01ef03b4ab99b9.tar.gz
qmmp-bc28f1332bbbf9bad49bbad6fd01ef03b4ab99b9.tar.bz2
qmmp-bc28f1332bbbf9bad49bbad6fd01ef03b4ab99b9.zip
refactoring: add QmmpUiSettings class, removed deprecated code
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2588 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/qmmpuisettings.cpp')
-rw-r--r--src/qmmpui/qmmpuisettings.cpp126
1 files changed, 126 insertions, 0 deletions
diff --git a/src/qmmpui/qmmpuisettings.cpp b/src/qmmpui/qmmpuisettings.cpp
new file mode 100644
index 000000000..15d0b774b
--- /dev/null
+++ b/src/qmmpui/qmmpuisettings.cpp
@@ -0,0 +1,126 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Ilya Kotov *
+ * forkotov02@hotmail.ru *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ ***************************************************************************/
+
+#include <QSettings>
+#include <QApplication>
+#include <qmmp/qmmp.h>
+#include "playlistmanager.h"
+#include "qmmpuisettings.h"
+
+QmmpUiSettings *QmmpUiSettings::m_instance = 0;
+
+QmmpUiSettings::QmmpUiSettings(QObject *parent) : QObject(parent)
+{
+ m_instance = this;
+ QSettings s (Qmmp::configFile(), QSettings::IniFormat);
+ m_format = s.value("PlayList/title_format", "%p%if(%p&%t, - ,)%t").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_resume_on_startup = s.value("General/resume_on_startup", false).toBool();
+}
+
+QmmpUiSettings::~QmmpUiSettings()
+{
+ m_instance = 0;
+ sync();
+}
+
+const QString QmmpUiSettings::format() const
+{
+ return m_format;
+}
+
+bool QmmpUiSettings::convertUnderscore() const
+{
+ return m_convertUnderscore;
+}
+
+bool QmmpUiSettings::convertTwenty() const
+{
+ return m_convertTwenty;
+}
+
+bool QmmpUiSettings::useMetadata() const
+{
+ return m_useMetadata;
+}
+
+void QmmpUiSettings::setConvertUnderscore(bool yes)
+{
+ m_convertUnderscore = yes;
+}
+
+void QmmpUiSettings::setConvertTwenty(bool yes)
+{
+ m_convertTwenty = yes;
+}
+
+void QmmpUiSettings::setFormat(const QString &format)
+{
+ m_format = format;
+ if(format != m_format)
+ {
+ m_format = format;
+ //emit settingsChanged();
+ foreach(PlayListModel *model, PlayListManager::instance()->playLists())
+ {
+ foreach(PlayListItem *item, model->items())
+ item->setText(QString());
+ model->doCurrentVisibleRequest();
+ }
+ }
+}
+
+void QmmpUiSettings::setUseMetadata(bool yes)
+{
+ m_useMetadata = yes;
+}
+
+bool QmmpUiSettings::resumeOnStartup() const
+{
+ return m_resume_on_startup;
+}
+
+void QmmpUiSettings::setResumeOnStartup(bool enabled)
+{
+ m_resume_on_startup = enabled;
+}
+
+void QmmpUiSettings::sync()
+{
+ QSettings s(Qmmp::configFile(), QSettings::IniFormat);
+ s.setValue("PlayList/title_format", m_format);
+ s.setValue("PlayList/convert_underscore", m_convertUnderscore);
+ s.setValue("PlayList/convert_twenty", m_convertTwenty);
+ s.setValue("PlayList/load_metadata", m_useMetadata);
+ s.setValue("General/resume_on_startup", m_resume_on_startup);
+}
+
+QmmpUiSettings * QmmpUiSettings::instance()
+{
+ if(!m_instance)
+ return new QmmpUiSettings(qApp);
+ return m_instance;
+}
+
+
+
+