aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui')
-rw-r--r--src/qmmpui/playlistgroup.cpp5
-rw-r--r--src/qmmpui/playlistgroup.h1
-rw-r--r--src/qmmpui/playlistitem.h2
-rw-r--r--src/qmmpui/playlisttrack.cpp29
-rw-r--r--src/qmmpui/playlisttrack.h1
5 files changed, 38 insertions, 0 deletions
diff --git a/src/qmmpui/playlistgroup.cpp b/src/qmmpui/playlistgroup.cpp
index 225b9b8d4..210245bb2 100644
--- a/src/qmmpui/playlistgroup.cpp
+++ b/src/qmmpui/playlistgroup.cpp
@@ -44,6 +44,11 @@ const QString PlayListGroup::formattedTitle(int column)
return m_name;
}
+const QStringList PlayListGroup::formattedTitles()
+{
+ return QStringList() << m_name;
+}
+
bool PlayListGroup::contains(PlayListTrack *track) const
{
return trackList.contains(track);
diff --git a/src/qmmpui/playlistgroup.h b/src/qmmpui/playlistgroup.h
index 8db56c1ed..7292470e1 100644
--- a/src/qmmpui/playlistgroup.h
+++ b/src/qmmpui/playlistgroup.h
@@ -46,6 +46,7 @@ public:
* @param column Number of column (unused).
*/
const QString formattedTitle(int column = 0);
+ const QStringList formattedTitles();
/*!
* Returns \b true if the group contains track \b track.
* Otherwise returns \b false.
diff --git a/src/qmmpui/playlistitem.h b/src/qmmpui/playlistitem.h
index cf4f1d89f..344996890 100644
--- a/src/qmmpui/playlistitem.h
+++ b/src/qmmpui/playlistitem.h
@@ -53,6 +53,8 @@ public:
* @param column Number of column.
*/
virtual const QString formattedTitle(int column) = 0;
+
+ virtual const QStringList formattedTitles() = 0;
/*!
* Returns formatted length of the item.
*/
diff --git a/src/qmmpui/playlisttrack.cpp b/src/qmmpui/playlisttrack.cpp
index b21e8fbb8..4e4d759a4 100644
--- a/src/qmmpui/playlisttrack.cpp
+++ b/src/qmmpui/playlisttrack.cpp
@@ -160,6 +160,35 @@ const QString PlayListTrack::formattedTitle(int column)
return m_formattedTitles[column];
}
+const QStringList PlayListTrack::formattedTitles()
+{
+ if(m_formattedTitles.count() != m_settings->columnManager()->count())
+ {
+ while(m_formattedTitles.count() > m_columnManager->count())
+ m_formattedTitles.takeLast();
+
+ while(m_formattedTitles.count() < m_columnManager->count())
+ m_formattedTitles.append(QString());
+
+ while(m_titleFormats.count() > m_columnManager->count())
+ m_titleFormats.takeLast();
+
+ while(m_titleFormats.count() < m_columnManager->count())
+ m_titleFormats.append(QString());
+ }
+
+ for(int column = 0; column < m_columnManager->count(); column++)
+ {
+ if(m_formattedTitles[column].isEmpty() || m_titleFormats[column] != m_columnManager->pattern(column))
+ {
+ m_titleFormats[column] = m_settings->columnManager()->pattern(column);
+ formatTitle(column);
+ }
+ }
+
+ return m_formattedTitles;
+}
+
const QString PlayListTrack::formattedLength()
{
if(m_length != 0 && m_formattedLength.isEmpty())
diff --git a/src/qmmpui/playlisttrack.h b/src/qmmpui/playlisttrack.h
index 78e562950..71966a2d4 100644
--- a/src/qmmpui/playlisttrack.h
+++ b/src/qmmpui/playlisttrack.h
@@ -57,6 +57,7 @@ public:
* @param column Number of column.
*/
const QString formattedTitle(int column);
+ const QStringList formattedTitles();
/*!
* Returns formatted length of the item.
*/