From 08e903a4dd77a0b7c6ad424de1fddd7c7f8c8b65 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Fri, 10 Sep 2021 20:24:31 +0000 Subject: added application menu git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@10292 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/qsui/mainwindow.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/plugins/Ui/qsui/mainwindow.cpp') 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 #include #include +#include #include #include #include @@ -329,6 +330,30 @@ void MainWindow::showSettings() m_seekBar->readSettings(); } +void MainWindow::showAppMenu() +{ + QAction *action = qobject_cast(sender()); + if(!action) + return; + + QPoint menuPos = pos(); + + for(QWidget *w : action->associatedWidgets()) + { + QToolButton *toolButton = qobject_cast(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() << forward << backward); addActions(ActionManager::instance()->actions()); -- cgit v1.2.3-13-gbd6f