diff options
Diffstat (limited to 'src/plugins/General/notifier/notifier.cpp')
| -rw-r--r-- | src/plugins/General/notifier/notifier.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/src/plugins/General/notifier/notifier.cpp b/src/plugins/General/notifier/notifier.cpp index 2c2c53ae4..9f6006366 100644 --- a/src/plugins/General/notifier/notifier.cpp +++ b/src/plugins/General/notifier/notifier.cpp @@ -19,6 +19,9 @@ ***************************************************************************/ #include <QTimer> +#include <QFile> +#include <QDir> +#include <QSettings> #include "popupwidget.h" #include "notifier.h" @@ -26,7 +29,13 @@ Notifier::Notifier(QObject *parent) : General(parent) { - m_popupWidget = 0; + m_popupWidget = 0; + QFile::remove(QDir::homePath()+"/.psi/tune"); + QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat); + settings.beginGroup("Notifier"); + m_desktop = settings.value("desktop_notification", TRUE).toBool(); + m_psi = settings.value("psi_notification", FALSE).toBool(); + settings.endGroup(); } Notifier::~Notifier() @@ -46,6 +55,7 @@ void Notifier::setState(const uint &state) } case General::Stopped: { + QFile::remove(QDir::homePath()+"/.psi/tune"); break; } } @@ -53,7 +63,18 @@ void Notifier::setState(const uint &state) void Notifier::setSongInfo(const SongInfo &song) { - if(m_popupWidget) + if (m_popupWidget) delete m_popupWidget; - m_popupWidget = new PopupWidget(song); + if(m_desktop) + m_popupWidget = new PopupWidget(song); + if(!m_psi) + return; + QFile file(QDir::homePath()+"/.psi/tune"); //psi file + file.open(QIODevice::WriteOnly | QIODevice::Text); + file.write(song.title().toUtf8()+"\n"); + file.write(song.artist().toUtf8()+"\n"); + file.write(song.album().toUtf8()+"\n"); + file.write(QString("%1").arg(song.track()).toUtf8()+"\n"); + file.write(QString("%1").arg(song.length()).toUtf8()+"\n"); + file.close(); } |
