[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [ruqola] src: Add favorite support.
From:       Montel Laurent <null () kde ! org>
Date:       2017-08-31 20:20:44
Message-ID: E1dnVxE-000493-6N () code ! kde ! org
[Download RAW message or body]

Git commit 929d478bb65ff6357930fc44f23c1cae8b97f848 by Montel Laurent.
Committed on 31/08/2017 at 20:20.
Pushed by mlaurent into branch 'master'.

Add favorite support.

M  +13   -9    src/qml/Desktop.qml
M  +2    -2    src/rocketchatbackend.cpp
M  +3    -0    src/roommodel.cpp
M  +2    -1    src/roommodel.h
M  +5    -0    src/roomwrapper.cpp
M  +4    -1    src/roomwrapper.h

https://commits.kde.org/ruqola/929d478bb65ff6357930fc44f23c1cae8b97f848

diff --git a/src/qml/Desktop.qml b/src/qml/Desktop.qml
index ab88375..5104e44 100644
--- a/src/qml/Desktop.qml
+++ b/src/qml/Desktop.qml
@@ -177,22 +177,31 @@ Kirigami.ApplicationWindow {
             rightPadding: Kirigami.Units.smallSpacing
             topPadding: Kirigami.Units.smallSpacing
             bottomPadding: Kirigami.Units.smallSpacing
+
             header: Column {
 
                 RowLayout {
                     anchors.left: parent.left
                     anchors.right: parent.right
                     anchors.leftMargin: 2*Kirigami.Units.smallSpacing
+                    visible: appid.selectedRoom
 
-                    Controls.ToolButton {
-                        text: "ToolButton"
-                        visible: false//appid.selectedRoom
-                    }
+                    ToolButton {
+                        iconName: "favorite"
+                        checkable: true
+                        checked: appid.selectedRoom.favorite
+                        onCheckedChanged: {
+                            console.log("checked favorite" + checked)
+                        }
+                    }                    
                     Kirigami.Heading {
                         text: "#" +appid.selectedRoom.name
                         level: 3
                         font.bold: true
                     }
+                    Item {
+                        Layout.fillWidth: true
+                    }
                 }
 
                 Kirigami.Label {
@@ -213,11 +222,6 @@ Kirigami.ApplicationWindow {
                     wrapMode: Label.Wrap
                 }
 
-                Controls.ToolButton {
-                    text: "ToolButton"
-                    visible: false //appid.selectedRoom
-                }
-
                 Rectangle {
                     color: Kirigami.Theme.textColor
                     height:1
diff --git a/src/rocketchatbackend.cpp b/src/rocketchatbackend.cpp
index 71a3f5d..a5e5b06 100644
--- a/src/rocketchatbackend.cpp
+++ b/src/rocketchatbackend.cpp
@@ -180,8 +180,8 @@ void RocketChatBackend::onAdded(const QJsonObject &object)
             mRocketChatAccount->restapi()->login();
         } else {
             //TODO add current user ? me ?
-            User user;
-            user.parseUser(object);
+            User *user = new User;
+            user->parseUser(object);
             qCDebug(RUQOLA_LOG) << " USER ADDED VALUE " << user;
             mRocketChatAccount->userModel()->addUser(user);
         }
diff --git a/src/roommodel.cpp b/src/roommodel.cpp
index 2a705db..665d015 100644
--- a/src/roommodel.cpp
+++ b/src/roommodel.cpp
@@ -123,6 +123,7 @@ QHash<int, QByteArray> RoomModel::roleNames() const
     roles[RoomOpen] = "open";
     roles[RoomAlert] = "alert";
     roles[RoomOrder] = "roomorder";
+    roles[RoomFavorite] = "favorite";
     return roles;
 }
 
@@ -165,6 +166,8 @@ QVariant RoomModel::data(const QModelIndex &index, int role) const
         return r.mOpen;
     case RoomModel::RoomAlert:
         return r.mAlert;
+    case RoomModel::RoomFavorite:
+        return r.mFavorite;
     case RoomModel::RoomOrder:
     {
         QString str;
diff --git a/src/roommodel.h b/src/roommodel.h
index 0db6e53..61ea3d4 100644
--- a/src/roommodel.h
+++ b/src/roommodel.h
@@ -48,7 +48,8 @@ public:
         RoomAnnoucement,
         RoomOpen,
         RoomAlert,
-        RoomOrder
+        RoomOrder,
+        RoomFavorite
     };
 
     explicit RoomModel(RocketChatAccount *account = nullptr, QObject *parent = nullptr);
diff --git a/src/roomwrapper.cpp b/src/roomwrapper.cpp
index 3c4a904..1ef7896 100644
--- a/src/roomwrapper.cpp
+++ b/src/roomwrapper.cpp
@@ -48,3 +48,8 @@ QString RoomWrapper::announcement() const
 {
     return mRoom.mAnnouncement;
 }
+
+bool RoomWrapper::favorite() const
+{
+    return mRoom.mFavorite;
+}
diff --git a/src/roomwrapper.h b/src/roomwrapper.h
index c23c05b..727292b 100644
--- a/src/roomwrapper.h
+++ b/src/roomwrapper.h
@@ -32,6 +32,7 @@ class LIBRUQOLACORE_EXPORT RoomWrapper : public QObject
     Q_PROPERTY(QString name READ name NOTIFY nameChanged)
     Q_PROPERTY(QString topic READ topic NOTIFY topicChanged)
     Q_PROPERTY(QString announcement READ announcement NOTIFY announcementChanged)
+    Q_PROPERTY(bool favorite READ favorite NOTIFY favoriteChanged)
     Q_OBJECT
 
 public:
@@ -40,12 +41,14 @@ public:
 
     QString name() const;
     QString topic() const;
-    QString announcement() const;
+    QString announcement() const;    
+    bool favorite() const;
 
 Q_SIGNALS:
     void nameChanged();
     void topicChanged();
     void announcementChanged();
+    void favoriteChanged();
 
 private:
     Room mRoom;
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic