diff --git a/src/librssguard/gui/reusable/basetreeview.cpp b/src/librssguard/gui/reusable/basetreeview.cpp index 13c058264..5a0c755d5 100755 --- a/src/librssguard/gui/reusable/basetreeview.cpp +++ b/src/librssguard/gui/reusable/basetreeview.cpp @@ -2,9 +2,11 @@ #include "gui/reusable/basetreeview.h" +#include "miscellaneous/application.h" + #include -BaseTreeView::BaseTreeView(QWidget* parent) : QTreeView(parent), m_keyboardShortcutsLimited(false) { +BaseTreeView::BaseTreeView(QWidget* parent) : QTreeView(parent) { m_allowedKeyboardKeys = { Qt::Key::Key_Back, Qt::Key::Key_Select, @@ -22,16 +24,8 @@ BaseTreeView::BaseTreeView(QWidget* parent) : QTreeView(parent), m_keyboardShort }; } -bool BaseTreeView::keyboardShortcutsLimited() const { - return m_keyboardShortcutsLimited; -} - -void BaseTreeView::setKeyboardShortcutsLimited(bool limited) { - m_keyboardShortcutsLimited = limited; -} - void BaseTreeView::keyPressEvent(QKeyEvent* event) { - if (m_keyboardShortcutsLimited && + if (qApp->settings()->value(GROUP(Feeds), SETTING(Feeds::OnlyBasicShortcutsInLists)).toBool() && !m_allowedKeyboardKeys.contains(event->key()) && !event->matches(QKeySequence::StandardKey::SelectAll)) { event->ignore(); diff --git a/src/librssguard/gui/reusable/basetreeview.h b/src/librssguard/gui/reusable/basetreeview.h index 90e68e3de..e22de6696 100755 --- a/src/librssguard/gui/reusable/basetreeview.h +++ b/src/librssguard/gui/reusable/basetreeview.h @@ -11,14 +11,10 @@ class BaseTreeView : public QTreeView { public: explicit BaseTreeView(QWidget* parent = nullptr); - bool keyboardShortcutsLimited() const; - void setKeyboardShortcutsLimited(bool limited); - protected: virtual void keyPressEvent(QKeyEvent* event); private: - bool m_keyboardShortcutsLimited; QList m_allowedKeyboardKeys; }; diff --git a/src/librssguard/gui/settings/settingsbrowsermail.ui b/src/librssguard/gui/settings/settingsbrowsermail.ui index 960294309..f7b08cc53 100644 --- a/src/librssguard/gui/settings/settingsbrowsermail.ui +++ b/src/librssguard/gui/settings/settingsbrowsermail.ui @@ -81,7 +81,7 @@ - + Executable file of web browser @@ -107,7 +107,7 @@ - + Parameters passed to executable @@ -196,7 +196,7 @@ - + true @@ -225,7 +225,7 @@ - + Parameters passed to executable @@ -359,6 +359,13 @@ + + + BaseLineEdit + QLineEdit +
baselineedit.h
+
+
m_tabBrowserProxy m_grpCustomExternalBrowser diff --git a/src/librssguard/gui/settings/settingsfeedsmessages.cpp b/src/librssguard/gui/settings/settingsfeedsmessages.cpp index 67c6c5458..038beddc3 100644 --- a/src/librssguard/gui/settings/settingsfeedsmessages.cpp +++ b/src/librssguard/gui/settings/settingsfeedsmessages.cpp @@ -47,6 +47,7 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings* settings, QWidget* parent connect(m_ui->m_spinHeightRowsFeeds, static_cast(&QSpinBox::valueChanged), this, &SettingsFeedsMessages::requireRestart); + connect(m_ui->m_cbListsRestrictedShortcuts, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_cmbIgnoreContentsChanges, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_cbHideCountsIfNoUnread, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); connect(m_ui->m_checkAutoUpdate, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings); @@ -137,6 +138,8 @@ void SettingsFeedsMessages::loadSettings() { m_ui->m_spinHeightRowsMessages->setValue(settings()->value(GROUP(GUI), SETTING(GUI::HeightRowMessages)).toInt()); m_ui->m_spinHeightRowsFeeds->setValue(settings()->value(GROUP(GUI), SETTING(GUI::HeightRowFeeds)).toInt()); + m_ui->m_cbListsRestrictedShortcuts->setChecked(settings()->value(GROUP(Feeds), + SETTING(Feeds::OnlyBasicShortcutsInLists)).toBool()); m_ui->m_cbHideCountsIfNoUnread->setChecked(settings()->value(GROUP(Feeds), SETTING(Feeds::HideCountsIfNoUnread)).toBool()); m_ui->m_checkDisplayFeedIcons->setChecked(settings()->value(GROUP(Messages), SETTING(Messages::DisplayFeedIconsInList)).toBool()); m_ui->m_checkBringToForegroundAfterMsgOpened->setChecked(settings()->value(GROUP(Messages), @@ -204,6 +207,9 @@ void SettingsFeedsMessages::saveSettings() { settings()->setValue(GROUP(GUI), GUI::HeightRowMessages, m_ui->m_spinHeightRowsMessages->value()); settings()->setValue(GROUP(GUI), GUI::HeightRowFeeds, m_ui->m_spinHeightRowsFeeds->value()); + settings()->setValue(GROUP(Feeds), Feeds::OnlyBasicShortcutsInLists, + m_ui->m_cbListsRestrictedShortcuts->isChecked()); + settings()->setValue(GROUP(Feeds), Feeds::HideCountsIfNoUnread, m_ui->m_cbHideCountsIfNoUnread->isChecked()); settings()->setValue(GROUP(Messages), Messages::DisplayFeedIconsInList, m_ui->m_checkDisplayFeedIcons->isChecked()); settings()->setValue(GROUP(Messages), Messages::BringAppToFrontAfterMessageOpenedExternally, diff --git a/src/librssguard/gui/settings/settingsfeedsmessages.ui b/src/librssguard/gui/settings/settingsfeedsmessages.ui index 63d086baf..48692f3f7 100644 --- a/src/librssguard/gui/settings/settingsfeedsmessages.ui +++ b/src/librssguard/gui/settings/settingsfeedsmessages.ui @@ -26,7 +26,7 @@ - 1 + 0 @@ -236,14 +236,14 @@ - + Display tooltips for feeds and articles - + Qt::Vertical @@ -256,6 +256,13 @@ + + + + Allow only basic keyboard shortcuts for feed/article list + + +
@@ -494,6 +501,7 @@ m_spinHeightRowsFeeds m_cmbCountsFeedList m_cbHideCountsIfNoUnread + m_cbListsRestrictedShortcuts m_checkShowTooltips m_checkRemoveReadMessagesOnExit m_cmbIgnoreContentsChanges diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp index 011c5a619..e9d95e48e 100644 --- a/src/librssguard/miscellaneous/settings.cpp +++ b/src/librssguard/miscellaneous/settings.cpp @@ -72,6 +72,9 @@ DVALUE(bool) Feeds::HideCountsIfNoUnreadDef = false; DKEY Feeds::AutoExpandOnSelection = "auto_expand_on_selection"; DVALUE(bool) Feeds::AutoExpandOnSelectionDef = false; +DKEY Feeds::OnlyBasicShortcutsInLists = "only_basic_shortcuts_in_lists"; +DVALUE(bool) Feeds::OnlyBasicShortcutsInListsDef = false; + DKEY Feeds::ListFont = "list_font"; // Messages. diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h index 18bbb508a..0fa03825c 100644 --- a/src/librssguard/miscellaneous/settings.h +++ b/src/librssguard/miscellaneous/settings.h @@ -89,6 +89,9 @@ namespace Feeds { KEY AutoExpandOnSelection; VALUE(bool) AutoExpandOnSelectionDef; + KEY OnlyBasicShortcutsInLists; + VALUE(bool) OnlyBasicShortcutsInListsDef; + KEY ListFont; }