diff --git a/resources/skins/nudus-dark/metadata.xml b/resources/skins/nudus-dark/metadata.xml index 2fd3b0fb5..4d3fc0bcb 100644 --- a/resources/skins/nudus-dark/metadata.xml +++ b/resources/skins/nudus-dark/metadata.xml @@ -7,6 +7,8 @@ #85ACF6 #D9E3F7 + #c684f4 + #d3a3f4 #DF5656 #910303 #44AA44 diff --git a/resources/skins/nudus-light/metadata.xml b/resources/skins/nudus-light/metadata.xml index b857dbb2d..a190f8ff8 100644 --- a/resources/skins/nudus-light/metadata.xml +++ b/resources/skins/nudus-light/metadata.xml @@ -6,6 +6,8 @@ #3A6FE4 #F0F2FC + #cc39e2 + #d57fe2 #E74343 #FFD7D7 #77dd77 diff --git a/resources/skins/plain/metadata.xml b/resources/skins/plain/metadata.xml index ced7b669f..b70b0a7dd 100644 --- a/resources/skins/plain/metadata.xml +++ b/resources/skins/plain/metadata.xml @@ -12,8 +12,13 @@ --> #3A4EE4 #ff66cc + + #3A4EE4 + #ff66cc + #4EE43A #ff99ff + #00ff99 \ No newline at end of file diff --git a/src/librssguard/miscellaneous/application.cpp b/src/librssguard/miscellaneous/application.cpp index 2d494c131..feee5a869 100644 --- a/src/librssguard/miscellaneous/application.cpp +++ b/src/librssguard/miscellaneous/application.cpp @@ -239,8 +239,9 @@ void Application::performLogging(QtMsgType type, const QMessageLogContext& conte } } - qApp->displayLogMessageInDialog(console_message); - + if (qApp != nullptr) { + qApp->displayLogMessageInDialog(console_message); + } if (type == QtMsgType::QtFatalMsg) { qApp->exit(EXIT_FAILURE); } diff --git a/src/librssguard/miscellaneous/skinfactory.cpp b/src/librssguard/miscellaneous/skinfactory.cpp index fd2237852..2df85b7a6 100644 --- a/src/librssguard/miscellaneous/skinfactory.cpp +++ b/src/librssguard/miscellaneous/skinfactory.cpp @@ -478,7 +478,6 @@ QString SkinEnums::palleteColorText(PaletteColors col) { case SkinEnums::PaletteColors::FgSelectedInteresting: return QObject::tr("interesting stuff (highlighted)"); - ; case SkinEnums::PaletteColors::FgError: return QObject::tr("errored items"); @@ -486,6 +485,12 @@ QString SkinEnums::palleteColorText(PaletteColors col) { case SkinEnums::PaletteColors::FgSelectedError: return QObject::tr("errored items (highlighted)"); + case SkinEnums::PaletteColors::FgNewMessages: + return QObject::tr("items with new articles"); + + case SkinEnums::PaletteColors::FgSelectedNewMessages: + return QObject::tr("items with new articles (highlighted)"); + case SkinEnums::PaletteColors::Allright: return QObject::tr("OK-ish color"); diff --git a/src/librssguard/miscellaneous/skinfactory.h b/src/librssguard/miscellaneous/skinfactory.h index 4f8bbc5f4..fb32fa834 100644 --- a/src/librssguard/miscellaneous/skinfactory.h +++ b/src/librssguard/miscellaneous/skinfactory.h @@ -17,7 +17,7 @@ class RootItem; class SkinEnums : public QObject { - Q_OBJECT + Q_OBJECT public: enum class PaletteColors { @@ -34,7 +34,13 @@ class SkinEnums : public QObject { FgSelectedError = 8, // OK-ish color (background of list with test results of article filter). - Allright = 16 + Allright = 16, + + // Foreground color of items with new articles. + FgNewMessages = 32, + + // Foreground color of selected items with new articles. + FgSelectedNewMessages = 64 }; static QString palleteColorText(PaletteColors col); @@ -43,24 +49,24 @@ class SkinEnums : public QObject { }; struct RSSGUARD_DLLSPEC Skin { - QString m_baseName; - QString m_visibleName; - QString m_author; - QString m_version; - QString m_description; - QString m_rawData; - QString m_adblocked; - QString m_layoutMarkupWrapper; - QString m_enclosureImageMarkup; - QString m_layoutMarkup; - QString m_enclosureMarkup; - QHash m_colorPalette; - QStringList m_forcedStyles; - bool m_forcedSkinColors; - QMultiHash>> m_stylePalette; + QString m_baseName; + QString m_visibleName; + QString m_author; + QString m_version; + QString m_description; + QString m_rawData; + QString m_adblocked; + QString m_layoutMarkupWrapper; + QString m_enclosureImageMarkup; + QString m_layoutMarkup; + QString m_enclosureMarkup; + QHash m_colorPalette; + QStringList m_forcedStyles; + bool m_forcedSkinColors; + QMultiHash>> m_stylePalette; - QVariant colorForModel(SkinEnums::PaletteColors type, bool ignore_custom_colors = false) const; - QPalette extractPalette() const; + QVariant colorForModel(SkinEnums::PaletteColors type, bool ignore_custom_colors = false) const; + QPalette extractPalette() const; }; uint qHash(const SkinEnums::PaletteColors& key); @@ -68,7 +74,7 @@ uint qHash(const SkinEnums::PaletteColors& key); Q_DECLARE_METATYPE(Skin) class RSSGUARD_DLLSPEC SkinFactory : public QObject { - Q_OBJECT + Q_OBJECT public: explicit SkinFactory(QObject* parent = nullptr); @@ -104,7 +110,6 @@ class RSSGUARD_DLLSPEC SkinFactory : public QObject { QString currentStyle() const; private: - // Loads the skin from given skin_data. void loadSkinFromData(const Skin& skin); diff --git a/src/librssguard/services/abstract/feed.cpp b/src/librssguard/services/abstract/feed.cpp index 7a36e268d..a705ce259 100644 --- a/src/librssguard/services/abstract/feed.cpp +++ b/src/librssguard/services/abstract/feed.cpp @@ -59,7 +59,7 @@ QVariant Feed::data(int column, int role) const { case HIGHLIGHTED_FOREGROUND_TITLE_ROLE: switch (status()) { case Status::NewMessages: - return qApp->skins()->currentSkin().colorForModel(SkinEnums::PaletteColors::FgSelectedInteresting); + return qApp->skins()->currentSkin().colorForModel(SkinEnums::PaletteColors::FgSelectedNewMessages); case Status::Normal: if (countOfUnreadMessages() > 0) { @@ -82,7 +82,7 @@ QVariant Feed::data(int column, int role) const { case Qt::ItemDataRole::ForegroundRole: switch (status()) { case Status::NewMessages: - return qApp->skins()->currentSkin().colorForModel(SkinEnums::PaletteColors::FgInteresting); + return qApp->skins()->currentSkin().colorForModel(SkinEnums::PaletteColors::FgNewMessages); case Status::Normal: if (countOfUnreadMessages() > 0) {