aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/playlistitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/playlistitem.cpp')
-rw-r--r--src/qmmpui/playlistitem.cpp32
1 files changed, 9 insertions, 23 deletions
diff --git a/src/qmmpui/playlistitem.cpp b/src/qmmpui/playlistitem.cpp
index f52aec350..7912c502b 100644
--- a/src/qmmpui/playlistitem.cpp
+++ b/src/qmmpui/playlistitem.cpp
@@ -21,7 +21,7 @@
#include <QDir>
#include <qmmp/decoder.h>
-
+#include "playlistsettings.h"
#include "playlistitem.h"
PlayListItem::PlayListItem() : AbstractPlaylistItem(), m_flag(FREE)
@@ -29,26 +29,12 @@ PlayListItem::PlayListItem() : AbstractPlaylistItem(), m_flag(FREE)
m_info = 0;
}
-PlayListItem::PlayListItem(FileInfo *info, QSettings *settings) : AbstractPlaylistItem(), m_flag(FREE)
+PlayListItem::PlayListItem(FileInfo *info) : AbstractPlaylistItem(), m_flag(FREE)
{
m_selected = FALSE;
m_current = FALSE;
m_info = info;
- //use external settings or create new
- QSettings *s = settings;
- if (!s)
- s = new QSettings (Qmmp::configFile(), QSettings::IniFormat);
-
- m_use_meta = s->value ("PlayList/load_metadata", TRUE).toBool(); //TODO move to libqmmp
- //format
- m_format = s->value("PlayList/title_format", "%p - %t").toString();
- //other properties
- m_convertUnderscore = s->value ("PlayList/convert_underscore", TRUE).toBool();
- m_convertTwenty = s->value ("PlayList/convert_twenty", TRUE).toBool();
- if (!settings) //delete created settings only
- delete s;
-
setMetaData(info->metaData());
setMetaData(Qmmp::URL, m_info->path());
setLength(m_info->length());
@@ -124,7 +110,7 @@ void PlayListItem::setText(const QString &title)
void PlayListItem::readMetadata()
{
- m_title = m_format;
+ m_title = PlaylistSettings::instance()->format();
m_title = printTag(m_title, "%p", artist());
m_title = printTag(m_title, "%a", album());
m_title = printTag(m_title, "%t", title());
@@ -142,14 +128,15 @@ void PlayListItem::readMetadata()
if (m_info)
delete m_info;
m_info = 0;
- if (m_convertUnderscore)
+ if (PlaylistSettings::instance()->convertUnderscore())
m_title.replace("_", " ");
- if (m_convertTwenty)
+ if (PlaylistSettings::instance()->convertTwenty())
m_title.replace("%20", " ");
}
QString PlayListItem::printTag(QString str, QString regExp, QString tagStr)
{
+ QString format = PlaylistSettings::instance()->format();
if (!tagStr.isEmpty())
str.replace(regExp, tagStr);
else
@@ -162,9 +149,9 @@ QString PlayListItem::printTag(QString str, QString regExp, QString tagStr)
if (nextPos < 0)
{
//last separator
- regExpPos = m_format.lastIndexOf(regExp);
- nextPos = m_format.lastIndexOf("%", regExpPos - 1);
- QString lastSep = m_format.right (m_format.size() - nextPos - 2);
+ regExpPos = format.lastIndexOf(regExp);
+ nextPos = format.lastIndexOf("%", regExpPos - 1);
+ QString lastSep = format.right (format.size() - nextPos - 2);
str.remove(lastSep);
str.remove(regExp);
}
@@ -173,4 +160,3 @@ QString PlayListItem::printTag(QString str, QString regExp, QString tagStr)
}
return str;
}
-