aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/notifier/settingsdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/General/notifier/settingsdialog.cpp')
-rw-r--r--src/plugins/General/notifier/settingsdialog.cpp45
1 files changed, 40 insertions, 5 deletions
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 <QSettings>
#include <QFontDialog>
-
+#include <QMenu>
#include <qmmp/qmmp.h>
-
#include "popupwidget.h"
#include "settingsdialog.h"
+#define DEFAULT_TEMPLATE "<b>%if(%t,%t,%f)</b> \\(%l\\)\n%if(%p,<br>%p,)\n%if(%a,<br>%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);
+}