diff options
Diffstat (limited to 'src/plugins/General/statusicon')
| -rw-r--r-- | src/plugins/General/statusicon/statusicon.cpp | 18 | ||||
| -rw-r--r-- | src/plugins/General/statusicon/statusicon.h | 5 | ||||
| -rw-r--r-- | src/plugins/General/statusicon/statusiconfactory.cpp | 4 | ||||
| -rw-r--r-- | src/plugins/General/statusicon/statusiconfactory.h | 3 |
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); |
