aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/columnmanager.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-04-06 19:05:40 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2015-04-06 19:05:40 +0000
commit87ddc7354f4c9f50e2363f9620360479165373b1 (patch)
treebfe2e5450f5ce3f4b85ee6c6af4fd34ac1754d96 /src/qmmpui/columnmanager.cpp
parentb4f09093f3557f4cea6acb73bddc3e2962b5045a (diff)
downloadqmmp-87ddc7354f4c9f50e2363f9620360479165373b1.tar.gz
qmmp-87ddc7354f4c9f50e2363f9620360479165373b1.tar.bz2
qmmp-87ddc7354f4c9f50e2363f9620360479165373b1.zip
added auto resize feature
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4819 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/columnmanager.cpp')
-rw-r--r--src/qmmpui/columnmanager.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/src/qmmpui/columnmanager.cpp b/src/qmmpui/columnmanager.cpp
index 8da0e5c0a..95c0bb768 100644
--- a/src/qmmpui/columnmanager.cpp
+++ b/src/qmmpui/columnmanager.cpp
@@ -38,6 +38,7 @@ ColumnManager::ColumnManager(QObject *parent) :
col.pattern = s.value("pattern", "%p%if(%p&%t, - ,)%t").toString();
col.size = s.value("size", 150).toInt();
col.titleFormatter = new MetaDataFormatter(col.pattern);
+ col.autoResize = s.value("autoresize", false).toBool();
m_columns.append(col);
s.endGroup();
}
@@ -68,6 +69,7 @@ void ColumnManager::insert(int index, const QString &name, const QString &patter
col.pattern = pattern;
col.titleFormatter = new MetaDataFormatter(pattern);
col.size = 50;
+ col.autoResize = false;
m_columns.insert(index, col);
sync();
emit inserted(index);
@@ -102,6 +104,21 @@ void ColumnManager::resize(int index, int size)
emit resized(index);
}
+void ColumnManager::setAutoResize(int index, bool autoResize)
+{
+ if(index < 0 || index >= m_columns.size())
+ {
+ qWarning("ColumnManager: index is out of range");
+ return;
+ }
+
+ if(m_columns[index].autoResize != autoResize)
+ {
+ m_columns[index].autoResize = autoResize;
+ emit changed(index);
+ }
+}
+
void ColumnManager::move(int from, int to)
{
if(from < 0 || from >= m_columns.size())
@@ -131,12 +148,14 @@ void ColumnManager::execEditor(int index, QWidget *parent)
if(!parent)
parent = qApp->activeWindow();
- ColumnEditor editor(m_columns[index].name, m_columns[index].pattern, parent);
+ ColumnEditor editor(m_columns[index].name, m_columns[index].pattern,
+ m_columns[index].autoResize, parent);
if(editor.exec() == QDialog::Accepted)
{
m_columns[index].name = editor.name();
m_columns[index].pattern = editor.pattern();
m_columns[index].titleFormatter->setPattern(editor.pattern());
+ m_columns[index].autoResize = editor.autoResize();
emit changed(index);
}
}
@@ -185,6 +204,17 @@ const QString ColumnManager::pattern(int index) const
return m_columns[index].pattern;
}
+QList<int> ColumnManager::autoResizeColumns() const
+{
+ QList<int> columns;
+ for(int i = 0; i < m_columns.count(); ++i)
+ {
+ if(m_columns[i].autoResize)
+ columns.append(i);
+ }
+ return columns;
+}
+
void ColumnManager::sync()
{
QSettings s (Qmmp::configFile(), QSettings::IniFormat);
@@ -198,6 +228,7 @@ void ColumnManager::sync()
s.setValue("name", col.name);
s.setValue("pattern", col.pattern);
s.setValue("size", col.size);
+ s.setValue("autoresize", col.autoResize);
s.endGroup();
}
s.setValue("column_count", m_columns.count());