Navigation menu

This commit is contained in:
2025-04-02 12:24:17 +02:00
parent 85f9822b96
commit 5af5f4f068
2 changed files with 11 additions and 30 deletions
+11 -28
View File
@@ -118,9 +118,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
navigationToolbar->setObjectName("navigationtoolbar"); navigationToolbar->setObjectName("navigationtoolbar");
navigationToolbar->hide(); navigationToolbar->hide();
QAction *prevAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowLeft), tr("Previous image")); QAction *prevAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowLeft), tr("Previous image"));
prevAction->setShortcuts({Qt::Key_Left, Qt::Key_Up});
QAction *nextAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowRight), tr("Next image")); QAction *nextAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowRight), tr("Next image"));
QAction *prevSubAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowUp), tr("Prev sub image")); nextAction->setShortcuts({Qt::Key_Right, Qt::Key_Down});
QAction *nextSubAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowDown), tr("Next sub image")); QAction *prevSubAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowUp), tr("Prev sub image"), Qt::Key_PageUp);
QAction *nextSubAction = navigationToolbar->addAction(style()->standardIcon(QStyle::SP_ArrowDown), tr("Next sub image"), Qt::Key_PageDown);
connect(prevAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::decrement)); connect(prevAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::decrement));
connect(nextAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::increment)); connect(nextAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::increment));
connect(prevSubAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::prevSubImage)); connect(prevSubAction, &QAction::triggered, m_ringList, static_cast<void (ImageRingList::*)()>(&ImageRingList::prevSubImage));
@@ -195,6 +197,13 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
editMenu->addAction(tr("Settings"), this, &MainWindow::showSettingsDialog); editMenu->addAction(tr("Settings"), this, &MainWindow::showSettingsDialog);
menuBar()->addMenu(editMenu); menuBar()->addMenu(editMenu);
QMenu *navigationMenu = new QMenu(tr("Navigation"), this);
navigationMenu->addAction(prevAction);
navigationMenu->addAction(nextAction);
navigationMenu->addAction(prevSubAction);
navigationMenu->addAction(nextSubAction);
menuBar()->addMenu(navigationMenu);
QMenu *viewMenu = new QMenu(tr("View"), this); QMenu *viewMenu = new QMenu(tr("View"), this);
viewMenu->addAction(tr("Zoom In"), QKeySequence::ZoomIn, m_image, &ImageScrollArea::zoomIn); viewMenu->addAction(tr("Zoom In"), QKeySequence::ZoomIn, m_image, &ImageScrollArea::zoomIn);
viewMenu->addAction(tr("Zoom Out"), QKeySequence::ZoomOut, m_image, &ImageScrollArea::zoomOut); viewMenu->addAction(tr("Zoom Out"), QKeySequence::ZoomOut, m_image, &ImageScrollArea::zoomOut);
@@ -359,32 +368,6 @@ MainWindow::~MainWindow()
delete m_database; delete m_database;
} }
void MainWindow::keyPressEvent(QKeyEvent *event)
{
switch (event->key())
{
case Qt::Key_Left:
case Qt::Key_Up:
m_ringList->decrement();
break;
case Qt::Key_Right:
case Qt::Key_Down:
m_ringList->increment();
break;
default:
event->ignore();
break;
}
if(event->isAccepted())
updateWindowTitle();
}
void MainWindow::keyReleaseEvent(QKeyEvent *event)
{
event->ignore();
}
void MainWindow::setupSigterm() void MainWindow::setupSigterm()
{ {
#ifdef __linux__ #ifdef __linux__
-2
View File
@@ -34,8 +34,6 @@ public:
MainWindow(QWidget *parent = 0); MainWindow(QWidget *parent = 0);
~MainWindow() override; ~MainWindow() override;
protected: protected:
void keyPressEvent(QKeyEvent *event) override;
void keyReleaseEvent(QKeyEvent *event) override;
void setupSigterm(); void setupSigterm();
static void signalHandler(int); static void signalHandler(int);
void closeEvent(QCloseEvent *event) override; void closeEvent(QCloseEvent *event) override;