aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/notifier
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-02-22 19:07:37 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-02-22 19:07:37 +0000
commit2826871c0459086e9ea299f4e4a439cc5ba65006 (patch)
tree606969cf7948afd2247fcbee6c7cdaf56312ec7b /src/plugins/General/notifier
parentc6802d917ad4c0de10dd768a3dfb95975518c1b3 (diff)
downloadqmmp-2826871c0459086e9ea299f4e4a439cc5ba65006.tar.gz
qmmp-2826871c0459086e9ea299f4e4a439cc5ba65006.tar.bz2
qmmp-2826871c0459086e9ea299f4e4a439cc5ba65006.zip
added psi-plus notification (Closes issue 421)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2069 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/notifier')
-rw-r--r--src/plugins/General/notifier/notifier.cpp47
1 files changed, 37 insertions, 10 deletions
diff --git a/src/plugins/General/notifier/notifier.cpp b/src/plugins/General/notifier/notifier.cpp
index 89bbad0e1..05f98fd7e 100644
--- a/src/plugins/General/notifier/notifier.cpp
+++ b/src/plugins/General/notifier/notifier.cpp
@@ -33,7 +33,6 @@ Notifier::Notifier(QObject *parent)
m_popupWidget = 0;
m_l = -1;
m_r = -1;
- QFile::remove(QDir::homePath()+"/.psi/tune");
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
settings.beginGroup("Notifier");
m_desktop = settings.value("song_notification", true).toBool();
@@ -46,6 +45,12 @@ Notifier::Notifier(QObject *parent)
connect (m_core, SIGNAL(volumeChanged(int, int)), SLOT(showVolume(int, int)));
if (m_core->state() == Qmmp::Playing) //test message
showMetaData();
+
+ if(m_psi) //clear psi notification
+ {
+ QFile::remove(QDir::homePath()+"/.psi/tune");
+ QFile::remove(QDir::homePath()+"/.psi-plus/tune");
+ }
}
Notifier::~Notifier()
@@ -62,7 +67,11 @@ void Notifier::setState(Qmmp::State state)
}
case Qmmp::Stopped:
{
- QFile::remove(QDir::homePath()+"/.psi/tune");
+ if (m_psi)
+ {
+ QFile::remove(QDir::homePath()+"/.psi/tune");
+ QFile::remove(QDir::homePath()+"/.psi-plus/tune");
+ }
break;
}
}
@@ -79,14 +88,32 @@ void Notifier::showMetaData()
if (!m_psi)
return;
- QFile file(QDir::homePath()+"/.psi/tune"); //psi file
- file.open(QIODevice::WriteOnly | QIODevice::Text);
- file.write(m_core->metaData(Qmmp::TITLE).toUtf8()+"\n");
- file.write(m_core->metaData(Qmmp::ARTIST).toUtf8()+"\n");
- file.write(m_core->metaData(Qmmp::ALBUM).toUtf8()+"\n");
- file.write(m_core->metaData(Qmmp::TRACK).toUtf8()+"\n");
- file.write(QString("%1").arg(m_core->totalTime()/1000).toUtf8()+"\n");
- file.close();
+
+ QByteArray data;
+ data.append(m_core->metaData(Qmmp::TITLE).toUtf8()+"\n");
+ data.append(m_core->metaData(Qmmp::ARTIST).toUtf8()+"\n");
+ data.append(m_core->metaData(Qmmp::ALBUM).toUtf8()+"\n");
+ data.append(m_core->metaData(Qmmp::TRACK).toUtf8()+"\n");
+ data.append(QString("%1").arg(m_core->totalTime()/1000).toUtf8()+"\n");
+
+ QDir psi_dir(QDir::homePath()+"/.psi/");
+ if(psi_dir.exists())
+ {
+ QFile file(QDir::homePath()+"/.psi/tune");
+ file.open(IODevice::WriteOnly | QIODevice::Text || QIODevice::Truncate);
+ file.write(data);
+ file.close();
+ }
+
+ QDir psi_plus_dir(QDir::homePath()+"/.psi-plus/");
+ if(psi_plus_dir.exists())
+ {
+ QFile file(QDir::homePath()+"/.psi-plus/tune");
+ file.open(IODevice::WriteOnly | QIODevice::Text || QIODevice::Truncate);
+ file.write(data);
+ file.close();
+ }
+
}
void Notifier::showVolume(int l, int r)