diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index e4680aa99..8a9bc673d 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -30,7 +30,7 @@
https://martinrotter.github.io/donate/
-
+
none
diff --git a/src/librssguard/gui/dialogs/formmain.ui b/src/librssguard/gui/dialogs/formmain.ui
index fc0644130..bd44b283d 100755
--- a/src/librssguard/gui/dialogs/formmain.ui
+++ b/src/librssguard/gui/dialogs/formmain.ui
@@ -738,7 +738,7 @@
- New web browser tab
+ New browser tab
Ctrl+T
@@ -795,7 +795,7 @@
true
- &Show tree branches
+ &Show tree expanders
diff --git a/src/librssguard/gui/dialogs/formsettings.cpp b/src/librssguard/gui/dialogs/formsettings.cpp
index a3f826946..4f4e26293 100644
--- a/src/librssguard/gui/dialogs/formsettings.cpp
+++ b/src/librssguard/gui/dialogs/formsettings.cpp
@@ -16,6 +16,7 @@
#include "gui/settings/settingsgeneral.h"
#include "gui/settings/settingsgui.h"
#include "gui/settings/settingslocalization.h"
+#include "gui/settings/settingsnotifications.h"
#include "gui/settings/settingsshortcuts.h"
FormSettings::FormSettings(QWidget& parent)
@@ -33,14 +34,17 @@ FormSettings::FormSettings(QWidget& parent)
connect(m_ui.m_buttonBox, &QDialogButtonBox::accepted, this, &FormSettings::saveSettings);
connect(m_ui.m_buttonBox, &QDialogButtonBox::rejected, this, &FormSettings::cancelSettings);
connect(m_btnApply, &QPushButton::clicked, this, &FormSettings::applySettings);
+
addSettingsPanel(new SettingsGeneral(&m_settings, this));
addSettingsPanel(new SettingsDatabase(&m_settings, this));
addSettingsPanel(new SettingsGui(&m_settings, this));
+ addSettingsPanel(new SettingsNotifications(&m_settings, this));
addSettingsPanel(new SettingsLocalization(&m_settings, this));
addSettingsPanel(new SettingsShortcuts(&m_settings, this));
addSettingsPanel(new SettingsBrowserMail(&m_settings, this));
addSettingsPanel(new SettingsDownloads(&m_settings, this));
addSettingsPanel(new SettingsFeedsMessages(&m_settings, this));
+
m_ui.m_listSettings->setCurrentRow(0);
}
diff --git a/src/librssguard/gui/settings/settingsgui.cpp b/src/librssguard/gui/settings/settingsgui.cpp
index 68f70c990..f79c7c5f9 100755
--- a/src/librssguard/gui/settings/settingsgui.cpp
+++ b/src/librssguard/gui/settings/settingsgui.cpp
@@ -42,7 +42,6 @@ SettingsGui::SettingsGui(Settings* settings, QWidget* parent) : SettingsPanel(se
&SettingsGui::dirtifySettings);
connect(m_ui->m_treeSkins, &QTreeWidget::currentItemChanged, this, &SettingsGui::dirtifySettings);
connect(m_ui->m_grpTray, &QGroupBox::toggled, this, &SettingsGui::dirtifySettings);
- connect(m_ui->m_checkEnableNotifications, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
connect(m_ui->m_checkHidden, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
connect(m_ui->m_checkMonochromeIcons, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
connect(m_ui->m_checkCountUnreadMessages, &QCheckBox::toggled, this, &SettingsGui::dirtifySettings);
@@ -95,9 +94,6 @@ void SettingsGui::loadSettings() {
m_ui->m_checkHidden->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::MainWindowStartsHidden)).toBool());
m_ui->m_checkHideWhenMinimized->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::HideMainWindowWhenMinimized)).toBool());
- // Load fancy notification settings.
- m_ui->m_checkEnableNotifications->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::EnableNotifications)).toBool());
-
// Load settings of icon theme.
const QString current_theme = qApp->icons()->currentIconTheme();
auto icons = qApp->icons()->installedIconThemes();
@@ -227,9 +223,6 @@ void SettingsGui::saveSettings() {
// Make sure that number of unread messages is shown in tray icon as requested.
qApp->feedReader()->feedsModel()->notifyWithCounts();
- // Save notifications.
- settings()->setValue(GROUP(GUI), GUI::EnableNotifications, m_ui->m_checkEnableNotifications->isChecked());
-
// Save selected icon theme.
QString selected_icon_theme = m_ui->m_cmbIconTheme->itemData(m_ui->m_cmbIconTheme->currentIndex()).toString();
QString original_icon_theme = qApp->icons()->currentIconTheme();
diff --git a/src/librssguard/gui/settings/settingsgui.ui b/src/librssguard/gui/settings/settingsgui.ui
index e8cf48268..e895d0966 100644
--- a/src/librssguard/gui/settings/settingsgui.ui
+++ b/src/librssguard/gui/settings/settingsgui.ui
@@ -121,6 +121,12 @@
-
+
+
+ 0
+ 0
+
+
Tray icon
@@ -131,27 +137,6 @@
QFormLayout::ExpandingFieldsGrow
-
-
-
-
- Hide main window when it is minimized
-
-
-
- -
-
-
- Start application hidden
-
-
-
- -
-
-
- Enable popup balloon tooltips
-
-
-
-
@@ -166,6 +151,20 @@
+ -
+
+
+ Hide main window when it is minimized
+
+
+
+ -
+
+
+ Start application hidden
+
+
+
@@ -386,7 +385,6 @@
m_grpTray
m_checkMonochromeIcons
m_checkCountUnreadMessages
- m_checkEnableNotifications
m_checkHideWhenMinimized
m_checkHidden
m_checkCloseTabsDoubleClick
diff --git a/src/librssguard/gui/settings/settingsnotifications.cpp b/src/librssguard/gui/settings/settingsnotifications.cpp
new file mode 100755
index 000000000..16245f7f2
--- /dev/null
+++ b/src/librssguard/gui/settings/settingsnotifications.cpp
@@ -0,0 +1,29 @@
+// For license of this file, see /LICENSE.md.
+
+#include "gui/settings/settingsnotifications.h"
+
+#include "miscellaneous/settings.h"
+
+SettingsNotifications::SettingsNotifications(Settings* settings, QWidget* parent) : SettingsPanel(settings, parent) {
+ m_ui.setupUi(this);
+
+ connect(m_ui.m_checkEnableNotifications, &QCheckBox::toggled, this, &SettingsNotifications::dirtifySettings);
+}
+
+void SettingsNotifications::loadSettings() {
+ onBeginLoadSettings();
+
+ // Load fancy notification settings.
+ m_ui.m_checkEnableNotifications->setChecked(settings()->value(GROUP(Notifications), SETTING(Notifications::EnableNotifications)).toBool());
+
+ onEndLoadSettings();
+}
+
+void SettingsNotifications::saveSettings() {
+ onBeginSaveSettings();
+
+ // Save notifications.
+ settings()->setValue(GROUP(Notifications), Notifications::EnableNotifications, m_ui.m_checkEnableNotifications->isChecked());
+
+ onEndSaveSettings();
+}
diff --git a/src/librssguard/gui/settings/settingsnotifications.h b/src/librssguard/gui/settings/settingsnotifications.h
new file mode 100755
index 000000000..eac55fb4f
--- /dev/null
+++ b/src/librssguard/gui/settings/settingsnotifications.h
@@ -0,0 +1,30 @@
+// For license of this file, see /LICENSE.md.
+
+#ifndef SETTINGSNOTIFICATIONS_H
+#define SETTINGSNOTIFICATIONS_H
+
+#include "gui/settings/settingspanel.h"
+
+#include "ui_settingsnotifications.h"
+
+class Settings;
+
+class SettingsNotifications : public SettingsPanel {
+ Q_OBJECT
+
+ public:
+ explicit SettingsNotifications(Settings* settings, QWidget* parent = nullptr);
+
+ virtual QString title() const;
+ virtual void loadSettings();
+ virtual void saveSettings();
+
+ private:
+ Ui::SettingsNotifications m_ui;
+};
+
+inline QString SettingsNotifications::title() const {
+ return tr("Notifications");
+}
+
+#endif // SETTINGSNOTIFICATIONS_H
diff --git a/src/librssguard/gui/settings/settingsnotifications.ui b/src/librssguard/gui/settings/settingsnotifications.ui
new file mode 100755
index 000000000..ebde7f9b8
--- /dev/null
+++ b/src/librssguard/gui/settings/settingsnotifications.ui
@@ -0,0 +1,53 @@
+
+
+ SettingsNotifications
+
+
+
+ 0
+ 0
+ 400
+ 300
+
+
+
+ Form
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+ -
+
+
+ Qt::Vertical
+
+
+
+ 20
+ 40
+
+
+
+
+ -
+
+
+ Enable popup balloon tooltips
+
+
+
+
+
+
+
+
diff --git a/src/librssguard/gui/systemtrayicon.cpp b/src/librssguard/gui/systemtrayicon.cpp
index b662b9caa..038f09a79 100644
--- a/src/librssguard/gui/systemtrayicon.cpp
+++ b/src/librssguard/gui/systemtrayicon.cpp
@@ -69,7 +69,7 @@ bool SystemTrayIcon::isSystemTrayDesired() {
}
bool SystemTrayIcon::areNotificationsEnabled() {
- return qApp->settings()->value(GROUP(GUI), SETTING(GUI::EnableNotifications)).toBool();
+ return qApp->settings()->value(GROUP(Notifications), SETTING(Notifications::EnableNotifications)).toBool();
}
void SystemTrayIcon::showPrivate() {
diff --git a/src/librssguard/librssguard.pro b/src/librssguard/librssguard.pro
index 07b6f9531..c255b4dc9 100644
--- a/src/librssguard/librssguard.pro
+++ b/src/librssguard/librssguard.pro
@@ -61,6 +61,7 @@ HEADERS += core/feeddownloader.h \
exceptions/networkexception.h \
exceptions/scriptexception.h \
gui/reusable/baselineedit.h \
+ gui/settings/settingsnotifications.h \
gui/toolbars/basetoolbar.h \
gui/reusable/comboboxwithstatus.h \
gui/reusable/colortoolbutton.h \
@@ -242,6 +243,7 @@ SOURCES += core/feeddownloader.cpp \
exceptions/networkexception.cpp \
exceptions/scriptexception.cpp \
gui/reusable/baselineedit.cpp \
+ gui/settings/settingsnotifications.cpp \
gui/toolbars/basetoolbar.cpp \
gui/reusable/comboboxwithstatus.cpp \
gui/reusable/colortoolbutton.cpp \
@@ -410,6 +412,7 @@ FORMS += gui/dialogs/formabout.ui \
gui/settings/settingsgeneral.ui \
gui/settings/settingsgui.ui \
gui/settings/settingslocalization.ui \
+ gui/settings/settingsnotifications.ui \
gui/settings/settingsshortcuts.ui \
gui/toolbars/toolbareditor.ui \
network-web/downloaditem.ui \
diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp
index 62a8739b7..adf44ddcb 100755
--- a/src/librssguard/miscellaneous/settings.cpp
+++ b/src/librssguard/miscellaneous/settings.cpp
@@ -193,9 +193,6 @@ DVALUE(bool) GUI::UnreadNumbersInTrayIconDef = true;
DKEY GUI::UseTrayIcon = "use_tray_icon";
DVALUE(bool) GUI::UseTrayIconDef = true;
-DKEY GUI::EnableNotifications = "enable_notifications";
-DVALUE(bool) GUI::EnableNotificationsDef = true;
-
DKEY GUI::TabCloseMiddleClick = "tab_close_mid_button";
DVALUE(bool) GUI::TabCloseMiddleClickDef = true;
@@ -315,6 +312,9 @@ DKEY Keyboard::ID = "keyboard";
// Notifications.
DKEY Notifications::ID = "notifications";
+DKEY Notifications::EnableNotifications = "enable_notifications";
+DVALUE(bool) Notifications::EnableNotificationsDef = true;
+
// Web browser.
DKEY Browser::ID = "browser";
diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h
index 93a88ee83..30e644adf 100644
--- a/src/librssguard/miscellaneous/settings.h
+++ b/src/librssguard/miscellaneous/settings.h
@@ -207,9 +207,6 @@ namespace GUI {
KEY UnreadNumbersInTrayIcon;
VALUE(bool) UnreadNumbersInTrayIconDef;
- KEY EnableNotifications;
- VALUE(bool) EnableNotificationsDef;
-
KEY TabCloseMiddleClick;
VALUE(bool) TabCloseMiddleClickDef;
@@ -363,6 +360,9 @@ namespace Keyboard {
// Notifications.
namespace Notifications {
KEY ID;
+
+ KEY EnableNotifications;
+ VALUE(bool) EnableNotificationsDef;
}
// Web browser.