diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-09-10 20:24:31 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-09-10 20:24:31 +0000 |
| commit | 08e903a4dd77a0b7c6ad424de1fddd7c7f8c8b65 (patch) | |
| tree | a440c4218efd17a0d560deb2365da36f2ec2ee15 /src/plugins/Ui/qsui/mainwindow.cpp | |
| parent | 3c3347722e616bedc440761f7decaaac43ab002b (diff) | |
| download | qmmp-08e903a4dd77a0b7c6ad424de1fddd7c7f8c8b65.tar.gz qmmp-08e903a4dd77a0b7c6ad424de1fddd7c7f8c8b65.tar.bz2 qmmp-08e903a4dd77a0b7c6ad424de1fddd7c7f8c8b65.zip | |
added application menu
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10292 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui/qsui/mainwindow.cpp')
| -rw-r--r-- | src/plugins/Ui/qsui/mainwindow.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/Ui/qsui/mainwindow.cpp b/src/plugins/Ui/qsui/mainwindow.cpp index fc8a1ebe2..2ab26c1c3 100644 --- a/src/plugins/Ui/qsui/mainwindow.cpp +++ b/src/plugins/Ui/qsui/mainwindow.cpp @@ -26,6 +26,7 @@ #include <QSettings> #include <QInputDialog> #include <QGridLayout> +#include <QtDebug> #include <qmmp/soundcore.h> #include <qmmp/decoder.h> #include <qmmp/metadatamanager.h> @@ -329,6 +330,30 @@ void MainWindow::showSettings() m_seekBar->readSettings(); } +void MainWindow::showAppMenu() +{ + QAction *action = qobject_cast<QAction *>(sender()); + if(!action) + return; + + QPoint menuPos = pos(); + + for(QWidget *w : action->associatedWidgets()) + { + QToolButton *toolButton = qobject_cast<QToolButton *>(w); + if(toolButton && toolButton->parentWidget()) + { + menuPos = toolButton->parentWidget()->mapToGlobal(toolButton->geometry().bottomLeft()); + break; + } + } + + QMenu *appMenu = new QMenu(this); + appMenu->setAttribute(Qt::WA_DeleteOnClose, true); + appMenu->addActions(menuBar()->actions()); + appMenu->popup(menuPos); +} + void MainWindow::updateVolumeIcon() { int maxVol = m_core->volume(); @@ -656,6 +681,8 @@ void MainWindow::createActions() QAction* backward = new QAction(this); backward->setShortcut(QKeySequence(Qt::Key_Left)); connect(backward,SIGNAL(triggered(bool)),this,SLOT(backward())); + //application menu + SET_ACTION(ActionManager::APPLICATION_MENU, this, SLOT(showAppMenu())); addActions(QList<QAction*>() << forward << backward); addActions(ActionManager::instance()->actions()); |
