diff --git a/src/librssguard/core/messagesmodel.cpp b/src/librssguard/core/messagesmodel.cpp index 3737f38b6..e16357c21 100644 --- a/src/librssguard/core/messagesmodel.cpp +++ b/src/librssguard/core/messagesmodel.cpp @@ -24,6 +24,8 @@ #include #include +#define RAD_COLOR 0, 180, 0 + MessagesModel::MessagesModel(QObject* parent) : QSqlQueryModel(parent), m_view(nullptr), m_cache(new MessagesModelCache(this)), m_messageHighlighter(MessageHighlighter::NoHighlighting), m_customDateFormat(QString()), @@ -43,8 +45,6 @@ MessagesModel::~MessagesModel() { qDebugNN << LOGSEC_MESSAGEMODEL << "Destroying MessagesModel instance."; } -#define RAD_COLOR 0, 180, 0 - void MessagesModel::setupIcons() { m_favoriteIcon = qApp->icons()->fromTheme(QSL("mail-mark-important")); m_readIcon = qApp->icons()->fromTheme(QSL("mail-mark-read")); @@ -94,10 +94,16 @@ QIcon MessagesModel::generateUnreadIcon() { QPointF center(64, 64); qreal radius = 32; + QColor custom_clr = qApp->skins()->colorForModel(SkinEnums::PaletteColors::FgNewMessages).value(); + + if (!custom_clr.isValid()) { + custom_clr = QColor(RAD_COLOR); + } + QRadialGradient grad(center, radius); - grad.setColorAt(0.000, QColor(RAD_COLOR, 255)); - grad.setColorAt(0.8, QColor(RAD_COLOR, 0.8 * 255)); - grad.setColorAt(1.000, QColor(RAD_COLOR, 0.000)); + grad.setColorAt(0.0, QColor(custom_clr.red(), custom_clr.green(), custom_clr.blue(), 255)); + grad.setColorAt(0.8, QColor(custom_clr.red(), custom_clr.green(), custom_clr.blue(), 0.8 * 255)); + grad.setColorAt(1.0, QColor(custom_clr.red(), custom_clr.green(), custom_clr.blue(), 0.0)); QPen pen; pen.setWidth(96); diff --git a/src/librssguard/core/messagesmodel.h b/src/librssguard/core/messagesmodel.h index 07df1117d..4d6606786 100644 --- a/src/librssguard/core/messagesmodel.h +++ b/src/librssguard/core/messagesmodel.h @@ -58,6 +58,7 @@ class MessagesModel : public QSqlQueryModel, public MessagesModelSqlLayer { RootItem* loadedItem() const; MessagesModelCache* cache() const; + void setupIcons(); void setupFonts(); void updateDateFormat(); void updateFeedIconsDisplay(); @@ -97,7 +98,6 @@ class MessagesModel : public QSqlQueryModel, public MessagesModelSqlLayer { private: void setupHeaderData(); - void setupIcons(); private: MessagesView* m_view; diff --git a/src/librssguard/gui/settings/settingsgui.cpp b/src/librssguard/gui/settings/settingsgui.cpp index 67cdb6976..3aa2218e5 100644 --- a/src/librssguard/gui/settings/settingsgui.cpp +++ b/src/librssguard/gui/settings/settingsgui.cpp @@ -467,6 +467,7 @@ void SettingsGui::saveSettings() { qApp->mainForm()->tabWidget()->feedMessageViewer()->refreshVisualProperties(); qApp->feedReader()->feedsModel()->reloadWholeLayout(); + qApp->feedReader()->messagesModel()->setupIcons(); qApp->feedReader()->messagesModel()->reloadWholeLayout(); onEndSaveSettings();