From bc28f1332bbbf9bad49bbad6fd01ef03b4ab99b9 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 9 Feb 2012 19:10:54 +0000 Subject: 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 --- src/qmmpui/qmmpuisettings.cpp | 126 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 src/qmmpui/qmmpuisettings.cpp (limited to 'src/qmmpui/qmmpuisettings.cpp') 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 +#include +#include +#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; +} + + + + -- cgit v1.2.3-13-gbd6f