diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-02-22 21:35:59 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2008-02-22 21:35:59 +0000 |
| commit | d74a64851416c16622464b81c6c21cc781b0f899 (patch) | |
| tree | 5a20a0aeea2f54e8c62fe6087a085efb5022a071 /src/qmmpui/generalhandler.cpp | |
| parent | 24b5ddfcbfe13a6d51365004aa276ffb269fac62 (diff) | |
| download | qmmp-d74a64851416c16622464b81c6c21cc781b0f899.tar.gz qmmp-d74a64851416c16622464b81c6c21cc781b0f899.tar.bz2 qmmp-d74a64851416c16622464b81c6c21cc781b0f899.zip | |
volume control support for general plugins
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@253 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/generalhandler.cpp')
| -rw-r--r-- | src/qmmpui/generalhandler.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/qmmpui/generalhandler.cpp b/src/qmmpui/generalhandler.cpp index c4dd86934..99df0e320 100644 --- a/src/qmmpui/generalhandler.cpp +++ b/src/qmmpui/generalhandler.cpp @@ -30,6 +30,8 @@ GeneralHandler::GeneralHandler(QObject *parent) : QObject(parent) { m_instance = this; + m_left = 0; + m_right = 0; m_state = General::Stopped; GeneralFactory* factory; foreach(factory, *General::generalFactories()) @@ -38,6 +40,7 @@ GeneralHandler::GeneralHandler(QObject *parent) { General *general = factory->create(parent); connect(general, SIGNAL(commandCalled(uint)), SLOT(processCommand(uint))); + connect(general, SIGNAL(volumeChanged(int, int)), SIGNAL(volumeChanged(int, int))); m_generals.insert(factory, general); } } @@ -76,15 +79,28 @@ void GeneralHandler::setSongInfo(const SongInfo &info) } } +void GeneralHandler::updateVolume(int left, int right) +{ + m_left = left; + m_right = right; + General *general; + foreach(general, m_generals.values()) + { + general->updateVolume(left, right); + } +} + void GeneralHandler::setEnabled(GeneralFactory* factory, bool enable) { - if(enable == m_generals.keys().contains(factory)) + if (enable == m_generals.keys().contains(factory)) return; - if(enable) + if (enable) { General *general = factory->create(parent()); connect(general, SIGNAL(commandCalled(uint)), SLOT(processCommand(uint))); + connect(general, SIGNAL(volumeChanged(int, int)), SIGNAL(volumeChanged(int, int))); m_generals.insert(factory, general); + general->updateVolume(m_left, m_right); if (m_state != General::Stopped) { general->setState(m_state); @@ -102,15 +118,17 @@ void GeneralHandler::setEnabled(GeneralFactory* factory, bool enable) void GeneralHandler::showSettings(GeneralFactory* factory, QWidget* parentWidget) { QDialog *dialog = factory->createConfigDialog(parentWidget); - if(!dialog) + if (!dialog) return; - if(dialog->exec() == QDialog::Accepted && m_generals.keys().contains(factory)) + if (dialog->exec() == QDialog::Accepted && m_generals.keys().contains(factory)) { delete m_generals.value(factory); General *general = factory->create(parent()); connect(general, SIGNAL(commandCalled(uint)), SLOT(processCommand(uint))); + connect(general, SIGNAL(volumeChanged(int, int)), SIGNAL(volumeChanged(int, int))); m_generals[factory] = general; + general->updateVolume(m_left, m_right); if (m_state != General::Stopped) { general->setState(m_state); |
