aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-30 18:13:19 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-05-30 18:13:19 +0000
commit9305a6b6e565c6fc54ab6f13b2d130075580a64f (patch)
tree4b94a9f0f725be1920619ba41db656115554bb5f /src/qmmpui
parent195d573dfd2a1b20b0e61aa5612aafeee852c352 (diff)
downloadqmmp-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.cpp75
-rw-r--r--src/qmmpui/playlistheadermodel.h9
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;