diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-05-30 18:13:19 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-05-30 18:13:19 +0000 |
| commit | 9305a6b6e565c6fc54ab6f13b2d130075580a64f (patch) | |
| tree | 4b94a9f0f725be1920619ba41db656115554bb5f /src/qmmpui | |
| parent | 195d573dfd2a1b20b0e61aa5612aafeee852c352 (diff) | |
| download | qmmp-9305a6b6e565c6fc54ab6f13b2d130075580a64f.tar.gz qmmp-9305a6b6e565c6fc54ab6f13b2d130075580a64f.tar.bz2 qmmp-9305a6b6e565c6fc54ab6f13b2d130075580a64f.zip | |
fixed build
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5044 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/playlistheadermodel.cpp | 75 | ||||
| -rw-r--r-- | src/qmmpui/playlistheadermodel.h | 9 |
2 files changed, 61 insertions, 23 deletions
diff --git a/src/qmmpui/playlistheadermodel.cpp b/src/qmmpui/playlistheadermodel.cpp index 4c228945d..80943979a 100644 --- a/src/qmmpui/playlistheadermodel.cpp +++ b/src/qmmpui/playlistheadermodel.cpp @@ -18,7 +18,6 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include <QSettings> #include <QApplication> #include <qmmp/qmmp.h> #include "columneditor_p.h" @@ -39,10 +38,54 @@ PlayListHeaderModel::PlayListHeaderModel(QObject *parent) : PlayListHeaderModel::~PlayListHeaderModel() { - sync(); m_columns.clear(); } +void PlayListHeaderModel::restoreSettings(const QString &groupName) +{ + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.beginGroup(groupName); + restoreSettings(&settings); + settings.endGroup(); +} + +void PlayListHeaderModel::restoreSettings(QSettings *settings) +{ + QStringList names = settings->value("pl_column_names").toStringList(); + QStringList patterns = settings->value("pl_column_names").toStringList(); + + if(!names.isEmpty() && (names.count() == patterns.count())) + { + m_columns.clear(); + for(int i = 0; i < m_columns.count(); ++i) + { + ColumnHeader h = {names.at(i), patterns.at(i)}; + m_columns.append(h); + } + } +} + +void PlayListHeaderModel::saveSettings(const QString &groupName) +{ + QSettings settings (Qmmp::configFile(), QSettings::IniFormat); + settings.beginGroup(groupName); + saveSettings(&settings); + settings.endGroup(); +} + +void PlayListHeaderModel::saveSettings(QSettings *settings) +{ + QStringList names, patterns; + for(int i = 0; i < m_columns.count(); ++i) + { + names << m_columns[i].name; + patterns << m_columns[i].pattern; + } + + settings->setValue("pl_column_names", names); + settings->setValue("pl_column_patterns", patterns); +} + void PlayListHeaderModel::insert(int index, const QString &name, const QString &pattern) { if(index < 0 || index > m_columns.size()) @@ -55,7 +98,7 @@ void PlayListHeaderModel::insert(int index, const QString &name, const QString & col.name = name; col.pattern = pattern; m_columns.insert(index, col); - sync(); + rebuildFormatters(); emit columnAdded(index); emit headerChanged(); } @@ -71,7 +114,7 @@ void PlayListHeaderModel::remove(int index) if(m_columns.count() == 1) return; - sync(); + rebuildFormatters(); emit columnRemoved(index); emit headerChanged(); } @@ -91,6 +134,7 @@ void PlayListHeaderModel::move(int from, int to) } m_columns.move(from, to); + rebuildFormatters(); emit columnMoved(from, to); emit headerChanged(); } @@ -111,6 +155,7 @@ void PlayListHeaderModel::execEdit(int index, QWidget *parent) { m_columns[index].name = editor.name(); m_columns[index].pattern = editor.pattern(); + rebuildFormatters(); emit columnChanged(index); emit headerChanged(); } @@ -157,24 +202,10 @@ const QString PlayListHeaderModel::pattern(int index) const return m_columns[index].pattern; } -void PlayListHeaderModel::sync() +void PlayListHeaderModel::rebuildFormatters() { - /*QSettings s (Qmmp::configFile(), QSettings::IniFormat); - s.beginGroup("PlayList"); - int old_count = s.value("column_count", 1).toInt(); - s.setValue("column_count", m_columns.count()); + QStringList patterns; for(int i = 0; i < m_columns.count(); ++i) - { - s.beginGroup(QString("column%1").arg(i)); - ColumnHeader col = m_columns.at(i); - s.setValue("name", col.name); - s.setValue("pattern", col.pattern); - s.endGroup(); - } - s.setValue("column_count", m_columns.count()); - for(int i = m_columns.count(); i < old_count; ++i) - { - s.remove(QString("column%1").arg(i)); - } - s.endGroup();*/ + patterns.append(m_columns[i].pattern); + m_helper->setTitleFormats(patterns); } diff --git a/src/qmmpui/playlistheadermodel.h b/src/qmmpui/playlistheadermodel.h index 561151c66..6ce4e8c71 100644 --- a/src/qmmpui/playlistheadermodel.h +++ b/src/qmmpui/playlistheadermodel.h @@ -23,6 +23,7 @@ #include <QObject> #include <QWidget> +#include <QSettings> #include "metadataformatter.h" class MetaDataHelper; @@ -38,6 +39,11 @@ public: ~PlayListHeaderModel(); + void restoreSettings(const QString &groupName); + void restoreSettings(QSettings *settings); + void saveSettings(const QString &groupName); + void saveSettings(QSettings *settings); + void insert(int index, const QString &name, const QString &pattern); void remove(int index); void move(int from, int to); @@ -57,7 +63,8 @@ signals: void headerChanged(); private: - void sync(); + void rebuildFormatters(); + struct ColumnHeader { QString name; |
