aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/trackchange/trackchange.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-02-20 17:15:22 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2020-02-20 17:15:22 +0000
commit94aa57d698a6400ae9c9d46991193d8ee844bb83 (patch)
tree627ff0e180f70bc7eca9ddd7f6792f64fd9182fc /src/plugins/General/trackchange/trackchange.cpp
parentbc9f38c3aa0ba093afb569497ba046493fada15f (diff)
downloadqmmp-94aa57d698a6400ae9c9d46991193d8ee844bb83.tar.gz
qmmp-94aa57d698a6400ae9c9d46991193d8ee844bb83.tar.bz2
qmmp-94aa57d698a6400ae9c9d46991193d8ee844bb83.zip
trackchange: feature to start command on application startup/exit (#202)
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9235 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/General/trackchange/trackchange.cpp')
-rw-r--r--src/plugins/General/trackchange/trackchange.cpp34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/plugins/General/trackchange/trackchange.cpp b/src/plugins/General/trackchange/trackchange.cpp
index cbe5009f7..5c8168129 100644
--- a/src/plugins/General/trackchange/trackchange.cpp
+++ b/src/plugins/General/trackchange/trackchange.cpp
@@ -18,16 +18,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
-#include <QAction>
#include <QSettings>
#include <QApplication>
-#include <QProgressDialog>
-#include <QMessageBox>
-#include <QFile>
-#include <QDir>
#include <QProcess>
-#include <QMap>
-#include <QtDebug>
#include <qmmp/soundcore.h>
#include <qmmpui/uihelper.h>
#include <qmmpui/playlistmodel.h>
@@ -45,10 +38,17 @@ TrackChange::TrackChange(QObject *parent) : QObject(parent)
connect(m_core, SIGNAL(trackInfoChanged()), SLOT(onTrackInfoChanged()));
connect(m_core, SIGNAL(finished()), SLOT(onFinised()));
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
- m_newTrackCommand = settings.value("TrackChange/new_track_command").toString();
- m_endOfTrackCommand = settings.value("TrackChange/end_of_track_command").toString();
- m_endOfPlCommand = settings.value("TrackChange/end_of_pl_command").toString();
- m_titleChangeCommand = settings.value("TrackChange/title_change_command").toString();
+ settings.beginGroup("TrackChange");
+ m_newTrackCommand = settings.value("new_track_command").toString();
+ m_endOfTrackCommand = settings.value("end_of_track_command").toString();
+ m_endOfPlCommand = settings.value("end_of_pl_command").toString();
+ m_titleChangeCommand = settings.value("title_change_command").toString();
+ m_appStartupCommand = settings.value("title_change_command").toString();
+ m_appExitCommand = settings.value("title_change_command").toString();
+ settings.endGroup();
+
+ connect(qApp, SIGNAL(aboutToQuit()), SLOT(onAppExit()));
+ onAppStartup();
}
TrackChange::~TrackChange()
@@ -104,6 +104,18 @@ void TrackChange::onFinised()
}
}
+void TrackChange::onAppStartup()
+{
+ if(QApplication::allWindows().count() == 1 && !m_appStartupCommand.isEmpty()) //detect startup
+ QProcess::startDetached(m_appStartupCommand);
+}
+
+void TrackChange::onAppExit()
+{
+ if(!m_appExitCommand.isEmpty())
+ QProcess::startDetached(m_appExitCommand);
+}
+
bool TrackChange::executeCommand(const TrackInfo &info, const QString &format)
{
TrackInfo tmp = info;