From 90b71df1362b7e128ca99ee09cc8402b8421f76d Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 21 Nov 2009 17:13:34 +0000 Subject: added metadata formatter git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1389 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/notifier/settingsdialog.cpp | 45 ++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) (limited to 'src/plugins/General/notifier/settingsdialog.cpp') diff --git a/src/plugins/General/notifier/settingsdialog.cpp b/src/plugins/General/notifier/settingsdialog.cpp index 9b2a18f30..3822e64aa 100644 --- a/src/plugins/General/notifier/settingsdialog.cpp +++ b/src/plugins/General/notifier/settingsdialog.cpp @@ -20,12 +20,13 @@ #include #include - +#include #include - #include "popupwidget.h" #include "settingsdialog.h" +#define DEFAULT_TEMPLATE "%if(%t,%t,%f) \\(%l\\)\n%if(%p,
%p,)\n%if(%a,
%a,)" + SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent) { @@ -52,6 +53,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) ui.transparencySlider->setValue(100 - settings.value("opacity", 1.0).toDouble()*100); QString fontname = settings.value ("font").toString(); ui.coverSizeSlider->setValue(settings.value ("cover_size", 64).toInt()); + ui.textEdit->setPlainText(settings.value ("template", DEFAULT_TEMPLATE).toString()); settings.endGroup(); QFont font; if(!fontname.isEmpty()) @@ -59,6 +61,7 @@ SettingsDialog::SettingsDialog(QWidget *parent) ui.fontLabel->setText (font.family () + " " + QString::number(font.pointSize ())); ui.fontLabel->setFont(font); connect (ui.fontButton, SIGNAL (clicked()), SLOT (setFont())); + createMenu(); } @@ -80,9 +83,10 @@ void SettingsDialog::accept() settings.setValue("psi_notification", ui.psiCheckBox->isChecked()); settings.setValue("song_notification", ui.songCheckBox->isChecked()); settings.setValue("volume_notification", ui.volumeCheckBox->isChecked()); - settings.setValue ("opacity", 1.0 - (double)ui.transparencySlider->value()/100); - settings.setValue ("font", ui.fontLabel->font().toString()); - settings.setValue ("cover_size", ui.coverSizeSlider->value()); + settings.setValue("opacity", 1.0 - (double)ui.transparencySlider->value()/100); + settings.setValue("font", ui.fontLabel->font().toString()); + settings.setValue("cover_size", ui.coverSizeSlider->value()); + settings.setValue("template", ui.textEdit->toPlainText()); settings.endGroup(); QDialog::accept(); } @@ -98,3 +102,34 @@ void SettingsDialog::setFont() ui.fontLabel->setFont(font); } } + +void SettingsDialog::createMenu() +{ + QMenu *menu = new QMenu(this); + menu->addAction(tr("Artist"))->setData("%p"); + menu->addAction(tr("Album"))->setData("%a"); + menu->addAction(tr("Title"))->setData("%t"); + menu->addAction(tr("Track number"))->setData("%n"); + menu->addAction(tr("Two-digit track number"))->setData("%NN"); + menu->addAction(tr("Genre"))->setData("%g"); + menu->addAction(tr("Comment"))->setData("%c"); + menu->addAction(tr("Composer"))->setData("%C"); + menu->addAction(tr("Duration"))->setData("%l"); + menu->addAction(tr("Disc number"))->setData("%D"); + menu->addAction(tr("File name"))->setData("%f"); + menu->addAction(tr("File path"))->setData("%F"); + menu->addAction(tr("Year"))->setData("%y"); + menu->addAction(tr("Condition"))->setData("%if(%p&%t,%p - %t,%f)"); + ui.insertButton->setMenu(menu); + connect(menu, SIGNAL(triggered (QAction *)), SLOT(insertExpression(QAction *))); +} + +void SettingsDialog::insertExpression(QAction *a) +{ + ui.textEdit->insertPlainText(a->data().toString()); +} + +void SettingsDialog::on_resetButton_clicked() +{ + ui.textEdit->setPlainText(DEFAULT_TEMPLATE); +} -- cgit v1.2.3-13-gbd6f