aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/playlistheadermodel.cpp23
-rw-r--r--src/qmmpui/playlistheadermodel.h2
2 files changed, 24 insertions, 1 deletions
diff --git a/src/qmmpui/playlistheadermodel.cpp b/src/qmmpui/playlistheadermodel.cpp
index 7a6b1695f..eb00fd883 100644
--- a/src/qmmpui/playlistheadermodel.cpp
+++ b/src/qmmpui/playlistheadermodel.cpp
@@ -39,6 +39,7 @@ PlayListHeaderModel::PlayListHeaderModel(QObject *parent) :
col.size = s.value("size", 150).toInt();
col.titleFormatter = new MetaDataFormatter(col.pattern);
col.autoResize = s.value("autoresize", false).toBool();
+ col.minSize = 30;
m_columns.append(col);
s.endGroup();
}
@@ -70,6 +71,7 @@ void PlayListHeaderModel::insert(int index, const QString &name, const QString &
col.titleFormatter = new MetaDataFormatter(pattern);
col.size = 50;
col.autoResize = false;
+ col.minSize = 30;
m_columns.insert(index, col);
sync();
emit columnAdded(index);
@@ -101,7 +103,7 @@ void PlayListHeaderModel::resize(int index, int size)
return;
}
- m_columns[index].size = qMax(size, 30);
+ m_columns[index].size = qMax(size, m_columns[index].minSize);
emit columnResized(index);
emit headerChanged();
}
@@ -120,6 +122,25 @@ void PlayListHeaderModel::setAutoResize(int index)
}
}
+void PlayListHeaderModel::setMinimalSize(int index, int size)
+{
+ if(index >= m_columns.size())
+ {
+ qWarning("ColumnManager: index is out of range");
+ return;
+ }
+
+ if(size < 10)
+ {
+ qWarning("ColumnManager: invalid size");
+ return;
+ }
+
+ m_columns[index].minSize = size;
+ if(m_columns[index].size < size)
+ resize(index, size);
+}
+
void PlayListHeaderModel::move(int from, int to)
{
if(from < 0 || from >= m_columns.size())
diff --git a/src/qmmpui/playlistheadermodel.h b/src/qmmpui/playlistheadermodel.h
index be84aafae..1cc4cf2eb 100644
--- a/src/qmmpui/playlistheadermodel.h
+++ b/src/qmmpui/playlistheadermodel.h
@@ -40,6 +40,7 @@ public:
void remove(int index);
void resize(int index, int size);
void setAutoResize(int index);
+ void setMinimalSize(int index, int size);
void move(int from, int to);
void execEdit(int index, QWidget *parent = 0);
void execInsert(int index, QWidget *parent = 0);
@@ -66,6 +67,7 @@ private:
QString name;
QString pattern;
int size;
+ int minSize;
bool autoResize;
MetaDataFormatter *titleFormatter;
};