From 09babc91d257b2500a6e97ebbfbd21193a8cb8db Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Sat, 1 Oct 2022 23:57:02 +0200
Subject: [PATCH] Green is not Svg::green

fixes #1203
---
 resources/qml/Avatar.qml |  4 ++--
 src/ui/Theme.cpp         | 10 +++++-----
 src/ui/Theme.h           |  4 ++++
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index 069f639a2..2da593707 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 Nheko.theme.green;
+                return Nheko.theme.online;
             case "unavailable":
-                return Nheko.theme.red;
+                return Nheko.theme.unavailable;
             case "offline":
             default:
                 // return "#a82353" don't show anything if offline, since it is confusing, if presence is disabled
diff --git a/src/ui/Theme.cpp b/src/ui/Theme.cpp
index 4af882e2d..024502309 100644
--- a/src/ui/Theme.cpp
+++ b/src/ui/Theme.cpp
@@ -69,22 +69,22 @@ Theme::Theme(QStringView theme)
         sidebarBackground_ = QColor(0x23, 0x36, 0x49);
         alternateButton_   = QColor(0xcc, 0xcc, 0xcc);
         red_               = QColor(0xa8, 0x23, 0x53);
-        green_             = QColor(Qt::GlobalColor::green);
+        green_             = QColor(QColorConstants::Svg::green);
         orange_            = QColor(0xfc, 0xbe, 0x05);
         error_             = QColor(0xdd, 0x3d, 0x3d);
     } else if (theme == u"dark") {
         sidebarBackground_ = QColor(0x2d, 0x31, 0x39);
         alternateButton_   = QColor(0x41, 0x4A, 0x59);
         red_               = QColor(0xa8, 0x23, 0x53);
-        green_             = QColor(Qt::GlobalColor::green);
+        green_             = QColor(QColorConstants::Svg::green);
         orange_            = QColor(0xfc, 0xc5, 0x3a);
         error_             = QColor(0xdd, 0x3d, 0x3d);
     } else {
         sidebarBackground_ = p.window().color();
         alternateButton_   = p.dark().color();
-        red_               = QColor(Qt::GlobalColor::red);
-        green_             = QColor(Qt::GlobalColor::green);
-        orange_            = QColor(0xff, 0xa5, 0x00); // SVG orange
+        red_               = QColor(QColorConstants::Svg::red);
+        green_             = QColor(QColorConstants::Svg::green);
+        orange_            = QColor(QColorConstants::Svg::orange); // SVG orange
         error_             = QColor(0xdd, 0x3d, 0x3d);
     }
 }
diff --git a/src/ui/Theme.h b/src/ui/Theme.h
index 94c89fc58..a9fb0519b 100644
--- a/src/ui/Theme.h
+++ b/src/ui/Theme.h
@@ -18,6 +18,8 @@ class Theme : public QPalette
     Q_PROPERTY(QColor green READ green CONSTANT)
     Q_PROPERTY(QColor error READ error CONSTANT)
     Q_PROPERTY(QColor orange READ orange CONSTANT)
+    Q_PROPERTY(QColor online READ online CONSTANT)
+    Q_PROPERTY(QColor unavailable READ unavailable CONSTANT)
 public:
     Theme() {}
     explicit Theme(QStringView theme);
@@ -30,6 +32,8 @@ public:
     QColor green() const { return green_; }
     QColor error() const { return error_; }
     QColor orange() const { return orange_; }
+    QColor online() const { return QColor(0x00, 0xcc, 0x66); }
+    QColor unavailable() const { return QColor(0xff, 0x99, 0x33); }
 
 private:
     QColor sidebarBackground_, separator_, red_, green_, error_, orange_, alternateButton_;
-- 
GitLab