diff --git a/resources/desktop/com.github.rssguard.appdata.xml b/resources/desktop/com.github.rssguard.appdata.xml
index 90175f9a6..4b3019170 100644
--- a/resources/desktop/com.github.rssguard.appdata.xml
+++ b/resources/desktop/com.github.rssguard.appdata.xml
@@ -26,7 +26,7 @@
https://github.com/sponsors/martinrotter
-
+
none
diff --git a/src/librssguard/core/feedsmodel.cpp b/src/librssguard/core/feedsmodel.cpp
index 12e163e50..4fc12e2ec 100644
--- a/src/librssguard/core/feedsmodel.cpp
+++ b/src/librssguard/core/feedsmodel.cpp
@@ -28,7 +28,7 @@
using RootItemPtr = RootItem*;
-FeedsModel::FeedsModel(QObject* parent) : QAbstractItemModel(parent), m_itemHeight(-1) {
+FeedsModel::FeedsModel(QObject* parent) : QAbstractItemModel(parent) {
setObjectName(QSL("FeedsModel"));
// Create root item.
@@ -120,7 +120,7 @@ bool FeedsModel::dropMimeData(const QMimeData* data, Qt::DropAction action, int
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
tr("Cannot perform drag & drop operation"),
tr("You can't transfer dragged item into different account, this is not supported."),
- QSystemTrayIcon::MessageIcon::Warning });
+ QSystemTrayIcon::MessageIcon::Critical });
qDebugNN << LOGSEC_FEEDMODEL
<< "Dragged item cannot be dragged into different account. Cancelling drag-drop action.";
return false;
@@ -459,13 +459,6 @@ void FeedsModel::setupFonts() {
m_normalFont = fon;
m_boldFont = m_normalFont;
m_boldFont.setBold(true);
-
- m_itemHeight = qApp->settings()->value(GROUP(GUI), SETTING(GUI::HeightRowFeeds)).toInt();
-
- if (m_itemHeight > 0) {
- m_boldFont.setPixelSize(int(m_itemHeight * 0.6));
- m_normalFont.setPixelSize(int(m_itemHeight * 0.6));
- }
}
void FeedsModel::reloadWholeLayout() {
diff --git a/src/librssguard/core/feedsmodel.h b/src/librssguard/core/feedsmodel.h
index 89a05e908..baedc6a1b 100644
--- a/src/librssguard/core/feedsmodel.h
+++ b/src/librssguard/core/feedsmodel.h
@@ -148,7 +148,6 @@ class RSSGUARD_DLLSPEC FeedsModel : public QAbstractItemModel {
private:
RootItem* m_rootItem;
- int m_itemHeight;
QList m_headerData;
QList m_tooltipData;
QIcon m_countsIcon;
diff --git a/src/librssguard/core/messagesmodel.cpp b/src/librssguard/core/messagesmodel.cpp
index c0af1f00f..b9e5920b7 100644
--- a/src/librssguard/core/messagesmodel.cpp
+++ b/src/librssguard/core/messagesmodel.cpp
@@ -22,7 +22,7 @@
MessagesModel::MessagesModel(QObject* parent)
: QSqlQueryModel(parent), m_cache(new MessagesModelCache(this)), m_messageHighlighter(MessageHighlighter::NoHighlighting),
- m_customDateFormat(QString()), m_selectedItem(nullptr), m_itemHeight(-1), m_displayFeedIcons(false) {
+ m_customDateFormat(QString()), m_selectedItem(nullptr), m_displayFeedIcons(false) {
setupFonts();
setupIcons();
setupHeaderData();
@@ -119,15 +119,6 @@ void MessagesModel::setupFonts() {
m_boldStrikedFont = m_boldFont;
m_normalStrikedFont.setStrikeOut(true);
m_boldStrikedFont.setStrikeOut(true);
-
- m_itemHeight = qApp->settings()->value(GROUP(GUI), SETTING(GUI::HeightRowMessages)).toInt();
-
- if (m_itemHeight > 0) {
- m_boldFont.setPixelSize(int(m_itemHeight * 0.6));
- m_normalFont.setPixelSize(int(m_itemHeight * 0.6));
- m_boldStrikedFont.setPixelSize(int(m_itemHeight * 0.6));
- m_normalStrikedFont.setPixelSize(int(m_itemHeight * 0.6));
- }
}
void MessagesModel::loadMessages(RootItem* item) {
diff --git a/src/librssguard/core/messagesmodel.h b/src/librssguard/core/messagesmodel.h
index 2c3b5d938..6653b795f 100644
--- a/src/librssguard/core/messagesmodel.h
+++ b/src/librssguard/core/messagesmodel.h
@@ -103,7 +103,6 @@ class MessagesModel : public QSqlQueryModel, public MessagesModelSqlLayer {
QIcon m_unreadIcon;
QIcon m_enclosuresIcon;
QList m_scoreIcons;
- int m_itemHeight;
bool m_displayFeedIcons;
};
diff --git a/src/librssguard/gui/dialogs/formmain.cpp b/src/librssguard/gui/dialogs/formmain.cpp
index 9f2f5be11..db0eb48f0 100644
--- a/src/librssguard/gui/dialogs/formmain.cpp
+++ b/src/librssguard/gui/dialogs/formmain.cpp
@@ -122,7 +122,7 @@ void FormMain::showDbCleanupAssistant() {
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
tr("Cannot cleanup database"),
tr("Cannot cleanup database, because another critical action is running."),
- QSystemTrayIcon::Warning });
+ QSystemTrayIcon::MessageIcon::Warning });
}
}
@@ -466,7 +466,7 @@ void FormMain::switchVisibility(bool force_hide) {
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
tr("Close dialogs"),
tr("Close opened modal dialogs first."),
- QSystemTrayIcon::Warning });
+ QSystemTrayIcon::MessageIcon::Warning });
}
else {
hide();
diff --git a/src/librssguard/gui/feedsview.cpp b/src/librssguard/gui/feedsview.cpp
index 264358081..10aa4933c 100644
--- a/src/librssguard/gui/feedsview.cpp
+++ b/src/librssguard/gui/feedsview.cpp
@@ -738,7 +738,7 @@ void FeedsView::setupAppearance() {
setAllColumnsShowFocus(false);
setRootIsDecorated(false);
setSelectionMode(QAbstractItemView::SelectionMode::SingleSelection);
- setItemDelegate(new StyledItemDelegateWithoutFocus(this));
+ setItemDelegate(new StyledItemDelegateWithoutFocus(GUI::HeightRowFeeds, this));
}
void FeedsView::selectionChanged(const QItemSelection& selected, const QItemSelection& deselected) {
diff --git a/src/librssguard/gui/messagesview.cpp b/src/librssguard/gui/messagesview.cpp
index f751ab7c7..00b9dd667 100644
--- a/src/librssguard/gui/messagesview.cpp
+++ b/src/librssguard/gui/messagesview.cpp
@@ -215,7 +215,7 @@ void MessagesView::setupAppearance() {
setAllColumnsShowFocus(false);
setSelectionMode(QAbstractItemView::SelectionMode::ExtendedSelection);
- setItemDelegate(new StyledItemDelegateWithoutFocus(this));
+ setItemDelegate(new StyledItemDelegateWithoutFocus(GUI::HeightRowMessages, this));
header()->setDefaultSectionSize(MESSAGES_VIEW_DEFAULT_COL);
header()->setMinimumSectionSize(MESSAGES_VIEW_MINIMUM_COL);
header()->setFirstSectionMovable(true);
diff --git a/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.cpp b/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.cpp
index 066b0332b..cdfa506ff 100644
--- a/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.cpp
+++ b/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.cpp
@@ -2,7 +2,10 @@
#include "gui/reusable/styleditemdelegatewithoutfocus.h"
-StyledItemDelegateWithoutFocus::StyledItemDelegateWithoutFocus(QObject* parent) : QStyledItemDelegate(parent) {}
+#include "miscellaneous/application.h"
+
+StyledItemDelegateWithoutFocus::StyledItemDelegateWithoutFocus(const QString& row_height_settings_key, QObject* parent)
+ : QStyledItemDelegate(parent), m_rowHeightSettingsKey(row_height_settings_key) {}
void StyledItemDelegateWithoutFocus::paint(QPainter* painter,
const QStyleOptionViewItem& option,
@@ -15,3 +18,15 @@ void StyledItemDelegateWithoutFocus::paint(QPainter* painter,
QStyledItemDelegate::paint(painter, itemOption, index);
}
+
+QSize StyledItemDelegateWithoutFocus::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const {
+ auto row_height = qApp->settings()->value(GROUP(GUI), m_rowHeightSettingsKey).toInt();
+ auto original_hint = QStyledItemDelegate::sizeHint(option, index);
+
+ if (row_height <= 0) {
+ return original_hint;
+ }
+ else {
+ return QSize(original_hint.width(), row_height);
+ }
+}
diff --git a/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.h b/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.h
index 7fd5c4776..688181d90 100644
--- a/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.h
+++ b/src/librssguard/gui/reusable/styleditemdelegatewithoutfocus.h
@@ -15,9 +15,13 @@ class StyledItemDelegateWithoutFocus : public QStyledItemDelegate {
Q_OBJECT
public:
- explicit StyledItemDelegateWithoutFocus(QObject* parent = nullptr);
+ explicit StyledItemDelegateWithoutFocus(const QString& row_height_settings_key, QObject* parent = nullptr);
virtual void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
+ virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const;
+
+ private:
+ QString m_rowHeightSettingsKey;
};
#endif // STYLEDITEMDELEGATEWITHOUTFOCUS_H
diff --git a/src/librssguard/gui/settings/settingsfeedsmessages.cpp b/src/librssguard/gui/settings/settingsfeedsmessages.cpp
index 038beddc3..fce8e5625 100644
--- a/src/librssguard/gui/settings/settingsfeedsmessages.cpp
+++ b/src/librssguard/gui/settings/settingsfeedsmessages.cpp
@@ -42,11 +42,6 @@ SettingsFeedsMessages::SettingsFeedsMessages(Settings* settings, QWidget* parent
connect(m_ui->m_checkDisplayPlaceholders, &QCheckBox::toggled, this, &SettingsFeedsMessages::dirtifySettings);
#endif
- connect(m_ui->m_spinHeightRowsMessages, static_cast(&QSpinBox::valueChanged),
- this, &SettingsFeedsMessages::requireRestart);
- 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);
diff --git a/src/librssguard/gui/systemtrayicon.cpp b/src/librssguard/gui/systemtrayicon.cpp
index 6c5b8f67e..60ab3cdee 100644
--- a/src/librssguard/gui/systemtrayicon.cpp
+++ b/src/librssguard/gui/systemtrayicon.cpp
@@ -20,7 +20,7 @@ bool TrayIconMenu::event(QEvent* event) {
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
tr("Close dialogs"),
tr("Close opened modal dialogs first."),
- QSystemTrayIcon::Warning });
+ QSystemTrayIcon::MessageIcon::Warning });
}
return QMenu::event(event);
diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp
index 335099950..f06c00943 100644
--- a/src/librssguard/miscellaneous/application.cpp
+++ b/src/librssguard/miscellaneous/application.cpp
@@ -510,7 +510,7 @@ void Application::showGuiMessage(Notification::Event event,
}
}
- if (dest.m_messageBox) {
+ if (dest.m_messageBox || msg.m_type == QSystemTrayIcon::MessageIcon::Critical) {
// Tray icon or OSD is not available, display simple text box.
MessageBox::show(parent == nullptr ? mainFormWidget() : parent,
QMessageBox::Icon(msg.m_type), msg.m_title, msg.m_message,
diff --git a/src/librssguard/miscellaneous/application.h b/src/librssguard/miscellaneous/application.h
index 535e690ba..c4bfb4d66 100644
--- a/src/librssguard/miscellaneous/application.h
+++ b/src/librssguard/miscellaneous/application.h
@@ -55,7 +55,7 @@ struct GuiMessage {
struct GuiMessageDestination {
public:
- GuiMessageDestination(bool tray = true, bool message_box = true, bool status_bar = false)
+ GuiMessageDestination(bool tray = true, bool message_box = false, bool status_bar = false)
: m_tray(tray), m_messageBox(message_box), m_statusBar(status_bar) {}
bool m_tray;
diff --git a/src/librssguard/network-web/oauth2service.cpp b/src/librssguard/network-web/oauth2service.cpp
index 3f9c1ce29..24963890f 100644
--- a/src/librssguard/network-web/oauth2service.cpp
+++ b/src/librssguard/network-web/oauth2service.cpp
@@ -192,7 +192,8 @@ void OAuth2Service::refreshAccessToken(const QString& refresh_token) {
qApp->showGuiMessage(Notification::Event::LoginDataRefreshed, {
tr("Logging in via OAuth 2.0..."),
tr("Refreshing login tokens for '%1'...").arg(m_tokenUrl.toString()),
- QSystemTrayIcon::MessageIcon::Information });
+ QSystemTrayIcon::MessageIcon::Information },
+ { true, false, true });
qDebugNN << LOGSEC_OAUTH << "Posting data for access token refreshing:" << QUOTE_W_SPACE_DOT(content);
m_networkManager.post(networkRequest, content.toUtf8());
diff --git a/src/librssguard/services/standard/standardcategory.cpp b/src/librssguard/services/standard/standardcategory.cpp
index e16bcba84..30209ccd8 100644
--- a/src/librssguard/services/standard/standardcategory.cpp
+++ b/src/librssguard/services/standard/standardcategory.cpp
@@ -40,7 +40,7 @@ bool StandardCategory::performDragDropChange(RootItem* target_item) {
<< "Cannot overwrite category:"
<< QUOTE_W_SPACE_DOT(ex.message());
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
- tr("Error"),
+ tr("Cannot save category data"),
tr("Cannot save data for category, detailed information was logged via debug log."),
QSystemTrayIcon::MessageIcon::Critical });
return false;
diff --git a/src/librssguard/services/standard/standardfeed.cpp b/src/librssguard/services/standard/standardfeed.cpp
index ec11f39ef..3786b8b97 100644
--- a/src/librssguard/services/standard/standardfeed.cpp
+++ b/src/librssguard/services/standard/standardfeed.cpp
@@ -207,7 +207,7 @@ void StandardFeed::fetchMetadataForItself() {
<< "Cannot overwrite feed:"
<< QUOTE_W_SPACE_DOT(ex.message());
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
- tr("Error"),
+ tr("Cannot save feed data"),
tr("Cannot save data for feed: %1").arg(ex.message()),
QSystemTrayIcon::MessageIcon::Critical });
}
diff --git a/src/librssguard/services/standard/standardserviceroot.cpp b/src/librssguard/services/standard/standardserviceroot.cpp
index c51c32d75..eb0b5b7e9 100644
--- a/src/librssguard/services/standard/standardserviceroot.cpp
+++ b/src/librssguard/services/standard/standardserviceroot.cpp
@@ -396,7 +396,7 @@ void StandardServiceRoot::addNewCategory(RootItem* selected_item) {
qApp->showGuiMessage(Notification::Event::GeneralEvent, {
tr("Cannot add category"),
tr("Cannot add category because another critical operation is ongoing."),
- QSystemTrayIcon::Warning });
+ QSystemTrayIcon::MessageIcon::Warning });
// Thus, cannot delete and quit the method.
return;