From c78052552e961b749aa95bf5986a7ecfffd7d633 Mon Sep 17 00:00:00 2001 From: Bionus Date: Sun, 5 Jun 2022 17:24:59 +0200 Subject: [PATCH] Add shortcuts to change page (fix #1983) --- src/gui/src/settings/options-window.cpp | 8 +++ src/gui/src/settings/options-window.ui | 72 +++++++++++++++++++++++++ src/gui/src/tabs/search-tab.cpp | 15 ++++++ 3 files changed, 95 insertions(+) diff --git a/src/gui/src/settings/options-window.cpp b/src/gui/src/settings/options-window.cpp index 6df92cef5..470668506 100644 --- a/src/gui/src/settings/options-window.cpp +++ b/src/gui/src/settings/options-window.cpp @@ -329,6 +329,10 @@ OptionsWindow::OptionsWindow(Profile *profile, ThemeLoader *themeLoader, QWidget ui->keyMainNewTab->setKeySequence(getKeySequence(settings, "keyNewTab", QKeySequence::AddTab, Qt::CTRL + Qt::Key_T)); ui->keyMainPrevTab->setKeySequence(getKeySequence(settings, "keyPrevTab", Qt::CTRL + Qt::Key_PageDown)); ui->keyMainNextTab->setKeySequence(getKeySequence(settings, "keyNextTab", Qt::CTRL + Qt::Key_PageUp)); + ui->keyMainFirstPage->setKeySequence(getKeySequence(settings, "keyFirstPage", Qt::CTRL + Qt::Key_Home)); + ui->keyMainPreviousPage->setKeySequence(getKeySequence(settings, "keyPreviousPage", Qt::CTRL + Qt::Key_Left)); + ui->keyMainNextPage->setKeySequence(getKeySequence(settings, "keyNextPage", Qt::CTRL + Qt::Key_Right)); + ui->keyMainLastPage->setKeySequence(getKeySequence(settings, "keyLastPage", Qt::CTRL + Qt::Key_End)); ui->keyMainBrowseSave->setKeySequence(getKeySequence(settings, "keyBrowseSave", QKeySequence::Open, Qt::CTRL + Qt::Key_O)); ui->keyMainFavoritesBack->setKeySequence(getKeySequence(settings, "keyFavoritesBack", Qt::Key_Escape)); settings->endGroup(); @@ -1296,6 +1300,10 @@ void OptionsWindow::save() settings->setValue("keyNewTab", ui->keyMainNewTab->keySequence().toString()); settings->setValue("keyPrevTab", ui->keyMainPrevTab->keySequence().toString()); settings->setValue("keyNextTab", ui->keyMainNextTab->keySequence().toString()); + settings->setValue("keyFirstPage", ui->keyMainFirstPage->keySequence().toString()); + settings->setValue("keyPreviousPage", ui->keyMainPreviousPage->keySequence().toString()); + settings->setValue("keyNextPage", ui->keyMainNextPage->keySequence().toString()); + settings->setValue("keyLastPage", ui->keyMainLastPage->keySequence().toString()); settings->setValue("keyBrowseSave", ui->keyMainBrowseSave->keySequence().toString()); settings->setValue("keyFavoritesBack", ui->keyMainFavoritesBack->keySequence().toString()); settings->endGroup(); diff --git a/src/gui/src/settings/options-window.ui b/src/gui/src/settings/options-window.ui index 029984049..d0acc2d34 100644 --- a/src/gui/src/settings/options-window.ui +++ b/src/gui/src/settings/options-window.ui @@ -1983,6 +1983,78 @@ + + + + Go to first page + + + + 3 + + + 3 + + + + + + + + + + + Go to previous page + + + + 3 + + + 3 + + + + + + + + + + + Go to next page + + + + 3 + + + 3 + + + + + + + + + + + Go to last page + + + + 3 + + + 3 + + + + + + + diff --git a/src/gui/src/tabs/search-tab.cpp b/src/gui/src/tabs/search-tab.cpp index 27a828b2d..a08e7e70d 100644 --- a/src/gui/src/tabs/search-tab.cpp +++ b/src/gui/src/tabs/search-tab.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include "downloader/download-query-image.h" @@ -80,6 +81,20 @@ void SearchTab::init() QString globalPostFilter = m_settings->value("globalPostFilter").toString(); m_postFiltering->setText(globalPostFilter); } + + // Navigation keyboard shortcuts + if (ui_buttonFirstPage != nullptr) { + ui_buttonFirstPage->setShortcut(getKeySequence(m_settings, "Main/Shortcuts/keyFirstPage", Qt::CTRL + Qt::Key_Home)); + } + if (ui_buttonPreviousPage != nullptr) { + ui_buttonPreviousPage->setShortcut(getKeySequence(m_settings, "Main/Shortcuts/keyPreviousPage", Qt::CTRL + Qt::Key_Left)); + } + if (ui_buttonNextPage != nullptr) { + ui_buttonNextPage->setShortcut(getKeySequence(m_settings, "Main/Shortcuts/keyNextPage", Qt::CTRL + Qt::Key_Right)); + } + if (ui_buttonLastPage != nullptr) { + ui_buttonLastPage->setShortcut(getKeySequence(m_settings, "Main/Shortcuts/keyLastPage", Qt::CTRL + Qt::Key_End)); + } } SearchTab::~SearchTab()