diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-05-27 19:14:16 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-05-27 19:14:16 +0000 |
| commit | 1e663731dba61097a922380b2c2c937bb7b79c13 (patch) | |
| tree | c51b719d6ef36f40cdcf746f911197ca86774f22 /src | |
| parent | 0ded49767b9cb8a9b870f10bde72c434453ea43b (diff) | |
| download | qmmp-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.cpp | 8 | ||||
| -rw-r--r-- | src/ui/forms/configdialog.ui | 74 | ||||
| -rw-r--r-- | src/ui/playlistitem.cpp | 25 |
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) |
