Use enum class instead of enum.
authorCamila <hello@camila.codes>
Wed, 7 Apr 2021 10:07:53 +0000 (12:07 +0200)
committerallexzander (Rebase PR Action) <allexzander@users.noreply.github.com>
Thu, 8 Apr 2021 07:10:59 +0000 (07:10 +0000)
Signed-off-by: Camila <hello@camila.codes>
src/gui/userstatus.cpp
src/gui/userstatus.h

index 3637b4fd9128563c0647e9752c4560c59137c9f6..9e4bbf65aba95c3350bbf517edf11b4e44ce179e 100644 (file)
@@ -36,27 +36,27 @@ UserStatus::UserStatus(QObject *parent)
 UserStatus::Status UserStatus::stringToEnum(const QString &status) const 
 {
     // it needs to match the Status enum
-    const QHash<QString, Status> preDefinedStatus{{"online", Online},
-                                               {"dnd", DoNotDisturb}, //DoNotDisturb
-                                               {"away", Away},
-                                               {"offline", Offline},
-                                               {"invisible", Invisible}};
+    const QHash<QString, Status> preDefinedStatus{{"online", Status::Online},
+                                               {"dnd", Status::DoNotDisturb}, //DoNotDisturb
+                                               {"away", Status::Away},
+                                               {"offline", Status::Offline},
+                                               {"invisible", Status::Invisible}};
     
     // api should return invisible, dnd,... toLower() it is to make sure 
     // it matches _preDefinedStatus, otherwise the default is online (0)
     const auto statusKey = status.isEmpty() ? QStringLiteral("online") : status.toLower();
-    return preDefinedStatus.value(statusKey, Online);
+    return preDefinedStatus.value(statusKey, Status::Online);
 }
 
 QString UserStatus::enumToUserString(Status status) const 
 {
     switch (status) {
-    case Away:
+    case Status::Away:
         return tr("Away");
-    case DoNotDisturb:
+    case Status::DoNotDisturb:
         return tr("Do not disturb");
-    case Invisible:
-    case Offline:
+    case Status::Invisible:
+    case Status::Offline:
         return tr("Offline");
     default:
         return tr("Online");
@@ -113,12 +113,12 @@ QString UserStatus::message() const
 QUrl UserStatus::icon() const
 {
     switch (_status) {
-    case Away:
+    case Status::Away:
         return Theme::instance()->statusAwayImageSource();
-    case DoNotDisturb:
+    case Status::DoNotDisturb:
         return Theme::instance()->statusDoNotDisturbImageSource();
-    case Invisible:
-    case Offline:
+    case Status::Invisible:
+    case Status::Offline:
         return Theme::instance()->statusInvisibleImageSource();
     default:
         return Theme::instance()->statusOnlineImageSource();
index c8ca3d3108242702cd8b71ccf2c7450cc404cf70..5d40e03bed32e68cbf0fe0418407d7e992b167d8 100644 (file)
@@ -28,7 +28,7 @@ class UserStatus : public QObject
     
 public:
     explicit UserStatus(QObject *parent = nullptr);
-    enum Status {
+    enum class Status {
         Online,
         DoNotDisturb,
         Away,