aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/General/statusicon
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/General/statusicon')
-rw-r--r--src/plugins/General/statusicon/statusicon.cpp18
-rw-r--r--src/plugins/General/statusicon/statusicon.h5
-rw-r--r--src/plugins/General/statusicon/statusiconfactory.cpp4
-rw-r--r--src/plugins/General/statusicon/statusiconfactory.h3
4 files changed, 17 insertions, 13 deletions
diff --git a/src/plugins/General/statusicon/statusicon.cpp b/src/plugins/General/statusicon/statusicon.cpp
index 59225d028..119af0e78 100644
--- a/src/plugins/General/statusicon/statusicon.cpp
+++ b/src/plugins/General/statusicon/statusicon.cpp
@@ -23,24 +23,26 @@
#include <QDir>
#include <QTimer>
#include <QCoreApplication>
+#include <qmmpui/control.h>
#include "statusicon.h"
-StatusIcon::StatusIcon(QObject *parent)
+StatusIcon::StatusIcon(Control *control, QObject *parent)
: General(parent)
{
+ m_control = control;
m_tray = new QSystemTrayIcon(this);
connect(m_tray, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayActivated(QSystemTrayIcon::ActivationReason)));
m_tray->setIcon ( QIcon(":/tray_stop.png"));
m_tray->show();
QMenu *menu = new QMenu(qobject_cast<QWidget *>(parent));
- menu->addAction(tr("Play"), this, SLOT(play()));
- menu->addAction(tr("Pause"), this, SLOT(pause()));
- menu->addAction(tr("Stop"), this, SLOT(stop()));
- menu->addAction(tr("Next"), this, SLOT(next()));
- menu->addAction(tr("Previous"), this, SLOT(previous()));
+ menu->addAction(tr("Play"), control, SLOT(play()));
+ menu->addAction(tr("Pause"), control, SLOT(pause()));
+ menu->addAction(tr("Stop"), control, SLOT(stop()));
+ menu->addAction(tr("Next"), control, SLOT(next()));
+ menu->addAction(tr("Previous"), control, SLOT(previous()));
menu->addSeparator();
- menu->addAction(tr("Exit"), this, SLOT(exit()));
+ menu->addAction(tr("Exit"), control, SLOT(exit()));
m_tray->setContextMenu(menu);
QSettings settings(QDir::homePath()+"/.qmmp/qmmprc", QSettings::IniFormat);
@@ -100,7 +102,7 @@ void StatusIcon::setSongInfo(const SongInfo &song)
void StatusIcon::trayActivated(QSystemTrayIcon::ActivationReason reason)
{
if (reason == QSystemTrayIcon::Trigger)
- toggleVisibility();
+ m_control->toggleVisibility();
}
void StatusIcon::enable()
diff --git a/src/plugins/General/statusicon/statusicon.h b/src/plugins/General/statusicon/statusicon.h
index fae20422d..549cf5f18 100644
--- a/src/plugins/General/statusicon/statusicon.h
+++ b/src/plugins/General/statusicon/statusicon.h
@@ -24,7 +24,7 @@
#include <qmmpui/general.h>
-
+class Control;
/**
@author Ilya Kotov <forkotov02@hotmail.ru>
@@ -34,7 +34,7 @@ class StatusIcon : public General
{
Q_OBJECT
public:
- StatusIcon(QObject *parent = 0);
+ StatusIcon(Control *control, QObject *parent = 0);
~StatusIcon();
@@ -52,6 +52,7 @@ private:
bool m_hideToTray;
bool m_enabled;
int m_messageDelay;
+ Control *m_control;
};
diff --git a/src/plugins/General/statusicon/statusiconfactory.cpp b/src/plugins/General/statusicon/statusiconfactory.cpp
index 5aedc6f7c..1bb21e9ea 100644
--- a/src/plugins/General/statusicon/statusiconfactory.cpp
+++ b/src/plugins/General/statusicon/statusiconfactory.cpp
@@ -34,9 +34,9 @@ const GeneralProperties StatusIconFactory::properties() const
return properties;
}
-General *StatusIconFactory::create(QObject *parent)
+General *StatusIconFactory::create(Control *control, QObject *parent)
{
- return new StatusIcon(parent);
+ return new StatusIcon(control, parent);
}
QDialog *StatusIconFactory::createConfigDialog(QWidget *parent)
diff --git a/src/plugins/General/statusicon/statusiconfactory.h b/src/plugins/General/statusicon/statusiconfactory.h
index c2dc76bc5..bb75f8843 100644
--- a/src/plugins/General/statusicon/statusiconfactory.h
+++ b/src/plugins/General/statusicon/statusiconfactory.h
@@ -28,6 +28,7 @@
#include <QDialog>
#include <qmmpui/general.h>
+#include <qmmpui/control.h>
#include <qmmpui/generalfactory.h>
class StatusIconFactory : public QObject, public GeneralFactory
@@ -36,7 +37,7 @@ Q_OBJECT
Q_INTERFACES(GeneralFactory);
public:
const GeneralProperties properties() const;
- General *create(QObject *parent);
+ General *create(Control *control, QObject *parent);
QDialog *createConfigDialog(QWidget *parent);
void showAbout(QWidget *parent);
QTranslator *createTranslator(QObject *parent);