aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-05-27 19:14:16 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-05-27 19:14:16 +0000
commit1e663731dba61097a922380b2c2c937bb7b79c13 (patch)
treec51b719d6ef36f40cdcf746f911197ca86774f22 /src
parent0ded49767b9cb8a9b870f10bde72c434453ea43b (diff)
downloadqmmp-1e663731dba61097a922380b2c2c937bb7b79c13.tar.gz
qmmp-1e663731dba61097a922380b2c2c937bb7b79c13.tar.bz2
qmmp-1e663731dba61097a922380b2c2c937bb7b79c13.zip
more playlist options
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@390 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/ui/configdialog.cpp8
-rw-r--r--src/ui/forms/configdialog.ui74
-rw-r--r--src/ui/playlistitem.cpp25
3 files changed, 59 insertions, 48 deletions
diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp
index 2da35d826..9c5566f33 100644
--- a/src/ui/configdialog.cpp
+++ b/src/ui/configdialog.cpp
@@ -97,6 +97,11 @@ void ConfigDialog::readSettings()
settings.value ("PlayList/title_format", "%p - %t").toString());
ui.metadataCheckBox->setChecked(
settings.value ("PlayList/load_metadata", TRUE).toBool());
+ ui.underscoresCheckBox->setChecked(settings.value ("PlayList/convert_underscore", TRUE).toBool());
+ ui.per20CheckBox->setChecked(settings.value ("PlayList/convert_twenty", TRUE).toBool());
+ ui.fullPathCheckBox->setChecked(settings.value ("PlayList/full_stream_path", FALSE).toBool());
+
+
QString f_dialogName =
settings.value("FileDialog",QtFileDialogFactory::QtFileDialogFactoryName).toString();
@@ -528,6 +533,9 @@ void ConfigDialog::saveSettings()
QSettings settings (QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat);
settings.setValue ("PlayList/title_format", ui.formatLineEdit->text());
settings.setValue ("PlayList/load_metadata", ui.metadataCheckBox->isChecked());
+ settings.setValue ("PlayList/convert_underscore", ui.underscoresCheckBox->isChecked());
+ settings.setValue ("PlayList/convert_twenty", ui.per20CheckBox->isChecked());
+ settings.setValue ("PlayList/full_stream_path", ui.fullPathCheckBox->isChecked());
settings.setValue ("FileDialog", ui.fileDialogComboBox->currentText());
settings.setValue ("Proxy/use_proxy", ui.enableProxyCheckBox->isChecked());
settings.setValue ("Proxy/authentication", ui.authProxyCheckBox->isChecked());
diff --git a/src/ui/forms/configdialog.ui b/src/ui/forms/configdialog.ui
index 6e08c2c00..c686ad8a4 100644
--- a/src/ui/forms/configdialog.ui
+++ b/src/ui/forms/configdialog.ui
@@ -313,26 +313,8 @@
</layout>
</widget>
<widget class="QWidget" name="page" >
- <layout class="QGridLayout" >
- <property name="leftMargin" >
- <number>9</number>
- </property>
- <property name="topMargin" >
- <number>9</number>
- </property>
- <property name="rightMargin" >
- <number>9</number>
- </property>
- <property name="bottomMargin" >
- <number>9</number>
- </property>
- <property name="horizontalSpacing" >
- <number>6</number>
- </property>
- <property name="verticalSpacing" >
- <number>6</number>
- </property>
- <item row="0" column="0" >
+ <layout class="QVBoxLayout" >
+ <item>
<widget class="QGroupBox" name="groupBox_3" >
<property name="title" >
<string>Metadata</string>
@@ -366,28 +348,13 @@
</layout>
</widget>
</item>
- <item row="1" column="0" >
+ <item>
<widget class="QGroupBox" name="groupBox_2" >
<property name="title" >
<string>Song Display</string>
</property>
- <layout class="QHBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="leftMargin" >
- <number>9</number>
- </property>
- <property name="topMargin" >
- <number>9</number>
- </property>
- <property name="rightMargin" >
- <number>9</number>
- </property>
- <property name="bottomMargin" >
- <number>9</number>
- </property>
- <item>
+ <layout class="QGridLayout" >
+ <item row="0" column="0" >
<widget class="QLabel" name="label_4" >
<property name="text" >
<string>Title format:</string>
@@ -397,28 +364,49 @@
</property>
</widget>
</item>
- <item>
+ <item row="0" column="1" >
<widget class="QLineEdit" name="formatLineEdit" />
</item>
- <item>
+ <item row="0" column="2" >
<widget class="QToolButton" name="titleButton" >
<property name="text" >
<string>...</string>
</property>
</widget>
</item>
+ <item row="1" column="0" colspan="2" >
+ <widget class="QCheckBox" name="underscoresCheckBox" >
+ <property name="text" >
+ <string>Convert underscores to blanks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2" >
+ <widget class="QCheckBox" name="per20CheckBox" >
+ <property name="text" >
+ <string>Convert %20 to blanks</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2" >
+ <widget class="QCheckBox" name="fullPathCheckBox" >
+ <property name="text" >
+ <string>Show full path of a stream</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
- <item row="2" column="0" >
+ <item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
- <width>20</width>
- <height>121</height>
+ <width>387</width>
+ <height>101</height>
</size>
</property>
</spacer>
diff --git a/src/ui/playlistitem.cpp b/src/ui/playlistitem.cpp
index ed92e4268..c7f600c8e 100644
--- a/src/ui/playlistitem.cpp
+++ b/src/ui/playlistitem.cpp
@@ -40,14 +40,20 @@ PlayListItem::PlayListItem(const QString& path) : SongInfo(), m_flag(FREE)
m_use_meta = settings.value ("PlayList/load_metadata", TRUE).toBool();
//format
m_format = settings.value("PlayList/title_format", "%p - %t").toString();
+ //other properties
+ m_convertUnderscore = settings.value ("PlayList/convert_underscore", TRUE).toBool();
+ m_convertTwenty = settings.value ("PlayList/convert_twenty", TRUE).toBool();
+ m_fullStreamPath = settings.value ("PlayList/full_stream_path", FALSE).toBool();
+
if (m_use_meta && !path.startsWith("http://"))
{
m_tag = Decoder::createTag(path);
readMetadata();
}
+ else if (path.startsWith("http://") && m_fullStreamPath)
+ m_title = path;
else
- m_title = path.startsWith("http://") ? path: path.section('/',-1);
-
+ m_title = path.split('/',QString::SkipEmptyParts).takeLast ();
}
PlayListItem::~PlayListItem()
@@ -123,7 +129,7 @@ void PlayListItem::readMetadata()
{
//clear();
m_title.clear();
- if(m_tag) //read length first
+ if (m_tag) //read length first
setValue(SongInfo::LENGTH, m_tag->length());
if (m_use_meta && m_tag && !m_tag->isEmpty())
{
@@ -147,10 +153,19 @@ void PlayListItem::readMetadata()
m_title = printTag(m_title, "%y", QString("%1").arg(year ()));
}
if (m_title.isEmpty())
- m_title = path().startsWith("http://") ? path(): path().section('/',-1);
- if(m_tag)
+ {
+ if (path().startsWith("http://") && m_fullStreamPath)
+ m_title = path();
+ else
+ m_title = path().split('/',QString::SkipEmptyParts).takeLast ();
+ }
+ if (m_tag)
delete m_tag;
m_tag = 0;
+ if (m_convertUnderscore)
+ m_title.replace("_", " ");
+ if (m_convertTwenty)
+ m_title.replace("%20", " ");
}
QString PlayListItem::printTag(QString str, QString regExp, QString tagStr)