refactor: use class member menu instead of runtime created menu
This commit is contained in:
@@ -104,6 +104,52 @@ MainWindow::MainWindow(QWidget *parent)
|
|||||||
m_am->actionToggleCheckerboard,
|
m_am->actionToggleCheckerboard,
|
||||||
}, this);
|
}, this);
|
||||||
|
|
||||||
|
m_menu = new QMenu(this);
|
||||||
|
|
||||||
|
{
|
||||||
|
m_menu->addAction(m_am->actionCopyPixmap);
|
||||||
|
m_menu->addAction(m_am->actionCopyFilePath);
|
||||||
|
|
||||||
|
m_menu->addSeparator();
|
||||||
|
|
||||||
|
m_menu->addAction(m_am->actionPrevPicture);
|
||||||
|
m_menu->addAction(m_am->actionNextPicture);
|
||||||
|
|
||||||
|
m_menu->addSeparator();
|
||||||
|
|
||||||
|
m_menu->addAction(m_am->actionActualSize);
|
||||||
|
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->addAction(m_am->actionToggleAvoidResetTransform);
|
||||||
|
m_menu->addAction(m_am->actionToggleCheckerboard);
|
||||||
|
m_menu->addAction(m_am->actionTogglePauseAnimation);
|
||||||
|
m_menu->addAction(m_am->actionAnimationNextFrame);
|
||||||
|
|
||||||
|
m_menu->addSeparator();
|
||||||
|
|
||||||
|
m_menu->addAction(m_am->actionTrash);
|
||||||
|
m_menu->addAction(m_am->actionLocateInFileManager);
|
||||||
|
m_menu->addAction(m_am->actionProperties);
|
||||||
|
|
||||||
|
m_menu->addSeparator();
|
||||||
|
|
||||||
|
m_menu->addAction(m_am->actionSettings);
|
||||||
|
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));
|
||||||
@@ -341,52 +387,7 @@ void MainWindow::resizeEvent(QResizeEvent *event)
|
|||||||
|
|
||||||
void MainWindow::contextMenuEvent(QContextMenuEvent *event)
|
void MainWindow::contextMenuEvent(QContextMenuEvent *event)
|
||||||
{
|
{
|
||||||
QMenu * menu = new QMenu;
|
m_menu->exec(mapToGlobal(event->pos()));
|
||||||
|
|
||||||
menu->addAction(m_am->actionCopyPixmap);
|
|
||||||
menu->addAction(m_am->actionCopyFilePath);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionPrevPicture);
|
|
||||||
menu->addAction(m_am->actionNextPicture);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionActualSize);
|
|
||||||
menu->addAction(m_am->actionFitToScreen);
|
|
||||||
menu->addAction(m_am->actionFitByWidth);
|
|
||||||
menu->addAction(m_am->actionFitByHeight);
|
|
||||||
menu->addAction(m_am->actionZoomIn);
|
|
||||||
menu->addAction(m_am->actionZoomOut);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionFlipHorizontal);
|
|
||||||
menu->addAction(m_am->actionFlipVertical);
|
|
||||||
menu->addAction(m_am->actionRotateClockwise);
|
|
||||||
menu->addAction(m_am->actionRotateCounterClockwise);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionToggleAvoidResetTransform);
|
|
||||||
menu->addAction(m_am->actionToggleCheckerboard);
|
|
||||||
menu->addAction(m_am->actionTogglePauseAnimation);
|
|
||||||
menu->addAction(m_am->actionAnimationNextFrame);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionTrash);
|
|
||||||
menu->addAction(m_am->actionLocateInFileManager);
|
|
||||||
menu->addAction(m_am->actionProperties);
|
|
||||||
|
|
||||||
menu->addSeparator();
|
|
||||||
|
|
||||||
menu->addAction(m_am->actionSettings);
|
|
||||||
menu->addAction(m_am->actionHelp);
|
|
||||||
|
|
||||||
menu->exec(mapToGlobal(event->pos()));
|
|
||||||
menu->deleteLater();
|
|
||||||
|
|
||||||
return FramelessWindow::contextMenuEvent(event);
|
return FramelessWindow::contextMenuEvent(event);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
class QMenu;
|
||||||
class QGraphicsView;
|
class QGraphicsView;
|
||||||
class QFileSystemWatcher;
|
class QFileSystemWatcher;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
@@ -105,6 +106,7 @@ private:
|
|||||||
GraphicsView *m_gv;
|
GraphicsView *m_gv;
|
||||||
NavigatorView *m_nav;
|
NavigatorView *m_nav;
|
||||||
|
|
||||||
|
QMenu *m_menu;
|
||||||
QFileSystemWatcher *m_fileSystemWatcher;
|
QFileSystemWatcher *m_fileSystemWatcher;
|
||||||
BottomButtonGroup *m_bottomButtonGroup;
|
BottomButtonGroup *m_bottomButtonGroup;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user