From 5eac7b6f2a2a82a8164d8ab37c694e048b9aa8c0 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 23 Dec 2020 18:03:10 +0100 Subject: [PATCH] Better UX in settings/gui. --- .../desktop/com.github.rssguard.appdata.xml | 2 +- src/librssguard/gui/settings/settingsgui.cpp | 16 ++++----- src/librssguard/gui/settings/settingsgui.ui | 33 ++++++++++++++++--- .../miscellaneous/databasequeries.cpp | 4 +-- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml index 0a35f2810..d6d3bd853 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/settings/settingsgui.cpp b/src/librssguard/gui/settings/settingsgui.cpp index 14d4a4365..208dd4e54 100755 --- a/src/librssguard/gui/settings/settingsgui.cpp +++ b/src/librssguard/gui/settings/settingsgui.cpp @@ -55,7 +55,7 @@ SettingsGui::SettingsGui(Settings* settings, QWidget* parent) : SettingsPanel(se connect(m_ui->m_editorMessagesToolbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings); connect(m_ui->m_editorStatusbar, &ToolBarEditor::setupChanged, this, &SettingsGui::dirtifySettings); connect(m_ui->m_editorStatusbar, &ToolBarEditor::setupChanged, this, &SettingsGui::requireRestart); - connect(m_ui->m_listStyles, &QListWidget::currentItemChanged, this, &SettingsGui::dirtifySettings); + connect(m_ui->m_cmbStyles, static_cast(&QComboBox::currentIndexChanged), this, &SettingsGui::dirtifySettings); connect(m_ui->m_cmbSelectToolBar, static_cast(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars, &QStackedWidget::setCurrentIndex); } @@ -156,14 +156,14 @@ void SettingsGui::loadSettings() { // Load styles. for (const QString& style_name : QStyleFactory::keys()) { - m_ui->m_listStyles->addItem(style_name); + m_ui->m_cmbStyles->addItem(style_name); } - QList items = m_ui->m_listStyles->findItems(settings()->value(GROUP(GUI), SETTING(GUI::Style)).toString(), - Qt::MatchFixedString); + int item_style = m_ui->m_cmbStyles->findText(settings()->value(GROUP(GUI), SETTING(GUI::Style)).toString(), + Qt::MatchFlag::MatchFixedString); - if (!items.isEmpty()) { - m_ui->m_listStyles->setCurrentItem(items.at(0)); + if (item_style >= 0) { + m_ui->m_cmbStyles->setCurrentIndex(item_style); } // Load tab settings. @@ -243,8 +243,8 @@ void SettingsGui::saveSettings() { } // Set new style. - if (!m_ui->m_listStyles->selectedItems().isEmpty()) { - const QString new_style = m_ui->m_listStyles->currentItem()->text(); + if (m_ui->m_cmbStyles->currentIndex() >= 0) { + const QString new_style = m_ui->m_cmbStyles->currentText(); const QString old_style = qApp->settings()->value(GROUP(GUI), SETTING(GUI::Style)).toString(); if (old_style != new_style) { diff --git a/src/librssguard/gui/settings/settingsgui.ui b/src/librssguard/gui/settings/settingsgui.ui index 74529d78d..edb55b470 100644 --- a/src/librssguard/gui/settings/settingsgui.ui +++ b/src/librssguard/gui/settings/settingsgui.ui @@ -87,16 +87,19 @@ Style + + m_cmbStyles + - - - Skin + + m_treeSkins + @@ -129,6 +132,22 @@ + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + @@ -337,6 +356,9 @@ Toolbar button style + + m_cmbToolbarButtonStyle + @@ -344,6 +366,9 @@ Select toolbar to edit + + m_cmbSelectToolBar + @@ -364,7 +389,7 @@ m_tabUi m_scrollIconSkins m_cmbIconTheme - m_listStyles + m_cmbStyles m_treeSkins m_grpTray m_checkMonochromeIcons diff --git a/src/librssguard/miscellaneous/databasequeries.cpp b/src/librssguard/miscellaneous/databasequeries.cpp index 965a23e03..15a9c99a5 100755 --- a/src/librssguard/miscellaneous/databasequeries.cpp +++ b/src/librssguard/miscellaneous/databasequeries.cpp @@ -1071,8 +1071,8 @@ int DatabaseQueries::updateMessages(QSqlDatabase db, message.m_feedId != feed_id_existing_message || message.m_contents != contents_existing_message)) || - /* 2 */ (message.m_createdFromFeed && message.m_created.toMSecsSinceEpoch() != date_existing_message - && message.m_contents != contents_existing_message) || + /* 2 */ (message.m_createdFromFeed && message.m_created.toMSecsSinceEpoch() != date_existing_message && + message.m_contents != contents_existing_message) || /* 3 */ force_update) { // Message exists, it is changed, update it.