From f5d5bea8408daf39aaa09b18c6ed4bd2f7c52a3f Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sun, 26 Dec 2021 19:58:08 +0100 Subject: [PATCH] Add green theme color, make "error" configurable --- resources/qml/Avatar.qml | 4 ++-- resources/qml/EncryptionIndicator.qml | 2 +- resources/qml/dialogs/UserProfile.qml | 16 ++++++++-------- src/ui/Theme.cpp | 6 ++++++ src/ui/Theme.h | 6 ++++-- 5 files changed, 21 insertions(+), 13 deletions(-) diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml index 09529fcd..069f639a 100644 --- a/resources/qml/Avatar.qml +++ b/resources/qml/Avatar.qml @@ -79,9 +79,9 @@ AbstractButton { function updatePresence() { switch (Presence.userPresence(userid)) { case "online": - return "#00cc66"; + return Nheko.theme.green; case "unavailable": - return "#ff9933"; + return Nheko.theme.red; case "offline": default: // return "#a82353" don't show anything if offline, since it is confusing, if presence is disabled diff --git a/resources/qml/EncryptionIndicator.qml b/resources/qml/EncryptionIndicator.qml index 7455149d..0bbdffc6 100644 --- a/resources/qml/EncryptionIndicator.qml +++ b/resources/qml/EncryptionIndicator.qml @@ -40,7 +40,7 @@ Image { if (encrypted) { switch (trust) { case Crypto.Verified: - return sourceUrl + "green"; + return sourceUrl + Nheko.theme.green; case Crypto.TOFU: return sourceUrl + Nheko.colors.buttonText; default: diff --git a/resources/qml/dialogs/UserProfile.qml b/resources/qml/dialogs/UserProfile.qml index d218e8fe..e57d4de5 100644 --- a/resources/qml/dialogs/UserProfile.qml +++ b/resources/qml/dialogs/UserProfile.qml @@ -313,13 +313,13 @@ ApplicationWindow { source: { switch (verificationStatus) { case VerificationStatus.VERIFIED: - return "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?green"; + return "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?" + Nheko.theme.green; case VerificationStatus.UNVERIFIED: - return "image://colorimage/:/icons/icons/ui/shield-filled-exclamation-mark.svg?#d6c020"; + return "image://colorimage/:/icons/icons/ui/shield-filled-exclamation-mark.svg?" + Nheko.theme.orange; case VerificationStatus.SELF: - return "image://colorimage/:/icons/icons/ui/checkmark.svg?green"; + return "image://colorimage/:/icons/icons/ui/checkmark.svg?" + Nheko.theme.green; default: - return "image://colorimage/:/icons/icons/ui/shield-filled-cross.svg?#d6c020"; + return "image://colorimage/:/icons/icons/ui/shield-filled-cross.svg?" + Nheko.theme.orange; } } } @@ -394,13 +394,13 @@ ApplicationWindow { source: { switch (verificationStatus) { case VerificationStatus.VERIFIED: - return "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?green"; + return "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?" + Nheko.theme.green; case VerificationStatus.UNVERIFIED: - return "image://colorimage/:/icons/icons/ui/shield-filled-exclamation-mark.svg?#d6c020"; + return "image://colorimage/:/icons/icons/ui/shield-filled-exclamation-mark.svg?" + Nheko.theme.orange; case VerificationStatus.SELF: - return "image://colorimage/:/icons/icons/ui/checkmark.svg?green"; + return "image://colorimage/:/icons/icons/ui/checkmark.svg?" + Nheko.theme.green; default: - return "image://colorimage/:/icons/icons/ui/shield-filled.svg?red"; + return "image://colorimage/:/icons/icons/ui/shield-filled.svg?" + Nheko.theme.red; } } } diff --git a/src/ui/Theme.cpp b/src/ui/Theme.cpp index f3bd5b78..e6290adf 100644 --- a/src/ui/Theme.cpp +++ b/src/ui/Theme.cpp @@ -69,16 +69,22 @@ Theme::Theme(QStringView theme) sidebarBackground_ = QColor(0x23, 0x36, 0x49); alternateButton_ = QColor(0xcc, 0xcc, 0xcc); red_ = QColor(0xa8, 0x23, 0x53); + green_ = QColor("green"); orange_ = QColor(0xfc, 0xbe, 0x05); + error_ = QColor("#dd3d3d"); } else if (theme == u"dark") { sidebarBackground_ = QColor(0x2d, 0x31, 0x39); alternateButton_ = QColor(0x41, 0x4A, 0x59); red_ = QColor(0xa8, 0x23, 0x53); + green_ = QColor("green"); orange_ = QColor(0xfc, 0xc5, 0x3a); + error_ = QColor("#dd3d3d"); } else { sidebarBackground_ = p.window().color(); alternateButton_ = p.dark().color(); red_ = QColor(Qt::GlobalColor::red); + green_ = QColor("green"); orange_ = QColor(0xff, 0xa5, 0x00); // SVG orange + error_ = QColor("#dd3d3d"); } } diff --git a/src/ui/Theme.h b/src/ui/Theme.h index 2c85c61e..94c89fc5 100644 --- a/src/ui/Theme.h +++ b/src/ui/Theme.h @@ -15,6 +15,7 @@ class Theme : public QPalette Q_PROPERTY(QColor alternateButton READ alternateButton CONSTANT) Q_PROPERTY(QColor separator READ separator CONSTANT) Q_PROPERTY(QColor red READ red CONSTANT) + Q_PROPERTY(QColor green READ green CONSTANT) Q_PROPERTY(QColor error READ error CONSTANT) Q_PROPERTY(QColor orange READ orange CONSTANT) public: @@ -26,9 +27,10 @@ public: QColor alternateButton() const { return alternateButton_; } QColor separator() const { return separator_; } QColor red() const { return red_; } - QColor error() const { return QColor(0xdd, 0x3d, 0x3d); } + QColor green() const { return green_; } + QColor error() const { return error_; } QColor orange() const { return orange_; } private: - QColor sidebarBackground_, separator_, red_, orange_, alternateButton_; + QColor sidebarBackground_, separator_, red_, green_, error_, orange_, alternateButton_; };