aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/notifier/notifier.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/General/notifier/notifier.cpp')
-rw-r--r--src/plugins/General/notifier/notifier.cpp27
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();
}