UI: add context menu for later use

This commit is contained in:
2025-07-16 00:43:01 +08:00
parent 042988ffbb
commit 097b32c70d
3 changed files with 23 additions and 9 deletions

View File

@ -27,6 +27,7 @@
#include <QListView> #include <QListView>
#include <QCollator> #include <QCollator>
#include <QMimeData> #include <QMimeData>
#include <QMenu>
#include <QWindow> #include <QWindow>
#include <QStandardPaths> #include <QStandardPaths>
#include <QMediaDevices> #include <QMediaDevices>
@ -267,6 +268,16 @@ void MainWindow::dropEvent(QDropEvent *e)
} }
} }
void MainWindow::contextMenuEvent(QContextMenuEvent *event)
{
QMenu * menu = new QMenu;
menu->addAction(ui->actionHelp);
menu->exec(mapToGlobal(event->pos()));
menu->deleteLater();
return QMainWindow::contextMenuEvent(event);
}
void MainWindow::loadFile() void MainWindow::loadFile()
{ {
QStringList musicFolders(QStandardPaths::standardLocations(QStandardPaths::MusicLocation)); QStringList musicFolders(QStandardPaths::standardLocations(QStandardPaths::MusicLocation));
@ -734,4 +745,3 @@ QGraphicsDropShadowEffect *MainWindow::createLabelShadowEffect()
effect->setOffset(1, 1); effect->setOffset(1, 1);
return effect; return effect;
} }

View File

@ -55,6 +55,7 @@ protected:
void mouseReleaseEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override;
void dragEnterEvent(QDragEnterEvent *e) override; void dragEnterEvent(QDragEnterEvent *e) override;
void dropEvent(QDropEvent *e) override; void dropEvent(QDropEvent *e) override;
void contextMenuEvent(QContextMenuEvent *event) override;
void loadFile(); void loadFile();
void loadFile(const QUrl &url); void loadFile(const QUrl &url);

View File

@ -217,7 +217,7 @@ QListView {
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
@ -295,7 +295,7 @@ QListView {
<item> <item>
<layout class="QVBoxLayout" name="playerPanelLayout"> <layout class="QVBoxLayout" name="playerPanelLayout">
<property name="sizeConstraint"> <property name="sizeConstraint">
<enum>QLayout::SizeConstraint::SetDefaultConstraint</enum> <enum>QLayout::SetDefaultConstraint</enum>
</property> </property>
<property name="rightMargin"> <property name="rightMargin">
<number>10</number> <number>10</number>
@ -364,7 +364,7 @@ QListView {
<string notr="true">0:00</string> <string notr="true">0:00</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignmentFlag::AlignRight|Qt::AlignmentFlag::AlignTrailing|Qt::AlignmentFlag::AlignVCenter</set> <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
@ -599,7 +599,7 @@ QListView {
<number>100</number> <number>100</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
@ -653,17 +653,20 @@ QListView {
</layout> </layout>
</widget> </widget>
<action name="actionHelp"> <action name="actionHelp">
<property name="icon">
<iconset theme="system-help"/>
</property>
<property name="text"> <property name="text">
<string>Help</string> <string>About</string>
</property> </property>
<property name="toolTip"> <property name="toolTip">
<string>Help</string> <string>About</string>
</property> </property>
<property name="shortcut"> <property name="shortcut">
<string>F1</string> <string>F1</string>
</property> </property>
<property name="menuRole"> <property name="menuRole">
<enum>QAction::MenuRole::NoRole</enum> <enum>QAction::AboutRole</enum>
</property> </property>
</action> </action>
<action name="actionOpen"> <action name="actionOpen">
@ -677,7 +680,7 @@ QListView {
<string>Ctrl+O</string> <string>Ctrl+O</string>
</property> </property>
<property name="menuRole"> <property name="menuRole">
<enum>QAction::MenuRole::NoRole</enum> <enum>QAction::NoRole</enum>
</property> </property>
</action> </action>
</widget> </widget>