1
0

feat: use submenu in right click menu to reduce the height of menu panel

This commit is contained in:
2026-07-15 21:59:30 +08:00
parent 81413b51da
commit bd35a8c3e0
2 changed files with 32 additions and 17 deletions

View File

@@ -111,11 +111,35 @@ MainWindow::MainWindow(QWidget *parent)
m_am->actionToggleCheckerboard, m_am->actionToggleCheckerboard,
}, this); }, this);
m_menu = new QMenu(this); m_subMenuCopy = new QMenu(this);
m_subMenuCopy->setTitle(tr("&Copy"));
m_subMenuCopy->setIcon(QIcon::fromTheme(QLatin1String("edit-copy")));
{ {
m_menu->addAction(m_am->actionCopyPixmap); m_subMenuCopy->addAction(m_am->actionCopyPixmap);
m_menu->addAction(m_am->actionCopyFilePath); m_subMenuCopy->addAction(m_am->actionCopyFilePath);
}
m_subMenuTransform = new QMenu(this);
m_subMenuTransform->setTitle(tr("&Transform"));
{
m_subMenuTransform->addAction(m_am->actionActualSize);
m_subMenuTransform->addAction(m_am->actionFitToScreen);
m_subMenuTransform->addAction(m_am->actionFitByWidth);
m_subMenuTransform->addAction(m_am->actionFitByHeight);
m_subMenuTransform->addAction(m_am->actionZoomIn);
m_subMenuTransform->addAction(m_am->actionZoomOut);
m_subMenuTransform->addSeparator();
m_subMenuTransform->addAction(m_am->actionFlipHorizontal);
m_subMenuTransform->addAction(m_am->actionFlipVertical);
m_subMenuTransform->addAction(m_am->actionRotateClockwise);
m_subMenuTransform->addAction(m_am->actionRotateCounterClockwise);
}
m_menu = new QMenu(this);
{
m_menu->addMenu(m_subMenuCopy);
m_menu->addSeparator(); m_menu->addSeparator();
@@ -124,19 +148,7 @@ MainWindow::MainWindow(QWidget *parent)
m_menu->addSeparator(); m_menu->addSeparator();
m_menu->addAction(m_am->actionActualSize); m_menu->addMenu(m_subMenuTransform);
m_menu->addAction(m_am->actionFitToScreen);
m_menu->addAction(m_am->actionFitByWidth);
m_menu->addAction(m_am->actionFitByHeight);
m_menu->addAction(m_am->actionZoomIn);
m_menu->addAction(m_am->actionZoomOut);
m_menu->addSeparator();
m_menu->addAction(m_am->actionFlipHorizontal);
m_menu->addAction(m_am->actionFlipVertical);
m_menu->addAction(m_am->actionRotateClockwise);
m_menu->addAction(m_am->actionRotateCounterClockwise);
m_menu->addSeparator(); m_menu->addSeparator();
@@ -157,6 +169,7 @@ MainWindow::MainWindow(QWidget *parent)
m_menu->addAction(m_am->actionHelp); m_menu->addAction(m_am->actionHelp);
} }
connect(m_pm, &PlaylistManager::playlistChanged, this, std::bind(&MainWindow::updateActionState, this)); connect(m_pm, &PlaylistManager::playlistChanged, this, std::bind(&MainWindow::updateActionState, this));
connect(m_pm, &PlaylistManager::playlistChanged, this, std::bind(&MainWindow::galleryCurrent, this, false)); connect(m_pm, &PlaylistManager::playlistChanged, this, std::bind(&MainWindow::galleryCurrent, this, false));

View File

@@ -103,6 +103,8 @@ private:
NavigatorView *m_nav; NavigatorView *m_nav;
QMenu *m_menu; QMenu *m_menu;
QMenu *m_subMenuCopy;
QMenu *m_subMenuTransform;
QVBoxLayout * m_centralLayout = nullptr; QVBoxLayout * m_centralLayout = nullptr;
QFileSystemWatcher *m_fileSystemWatcher; QFileSystemWatcher *m_fileSystemWatcher;
BottomButtonGroup *m_bottomButtonGroup; BottomButtonGroup *m_bottomButtonGroup;