summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-09 02:17:04 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2017-04-09 02:17:04 +0300
commit239780557f6641c225828e0cb6508f47c0bc15aa (patch)
tree1a064cfd3cdb11dd46aa7b04737e7a07c2333eba /include
parentImplement initial registration stage (diff)
downloadnheko-239780557f6641c225828e0cb6508f47c0bc15aa.tar.xz
Add logout button
Logout from the current session and invalidate the current token
Diffstat (limited to 'include')
-rw-r--r--include/ChatPage.h4
-rw-r--r--include/HistoryView.h1
-rw-r--r--include/HistoryViewManager.h1
-rw-r--r--include/MatrixClient.h8
-rw-r--r--include/RoomList.h5
-rw-r--r--include/TopRoomBar.h2
-rw-r--r--include/UserInfoWidget.h7
7 files changed, 24 insertions, 4 deletions
diff --git a/include/ChatPage.h b/include/ChatPage.h

index 165d7808..d53d1a7f 100644 --- a/include/ChatPage.h +++ b/include/ChatPage.h
@@ -48,6 +48,9 @@ public: // Initialize all the components of the UI. void bootstrap(QString userid, QString homeserver, QString token); +signals: + void close(); + public slots: // Updates the user info box. void updateOwnProfileInfo(const QUrl &avatar_url, const QString &display_name); @@ -58,6 +61,7 @@ public slots: void sendTextMessage(const QString &msg); void messageSent(const QString event_id, int txn_id); void startSync(); + void logout(); private: Ui::ChatPage *ui; diff --git a/include/HistoryView.h b/include/HistoryView.h
index 284b6a8c..f5fabbb6 100644 --- a/include/HistoryView.h +++ b/include/HistoryView.h
@@ -38,6 +38,7 @@ public: void addHistoryItem(const Event &event, const QString &color, bool with_sender); void addEvents(const QList<Event> &events); + void clear(); public slots: void sliderRangeChanged(int min, int max); diff --git a/include/HistoryViewManager.h b/include/HistoryViewManager.h
index 8405d005..dcca609b 100644 --- a/include/HistoryViewManager.h +++ b/include/HistoryViewManager.h
@@ -36,6 +36,7 @@ public: void initialize(const Rooms &rooms); void sync(const Rooms &rooms); + void clearAll(); public slots: void setHistoryView(const RoomInfo &info); diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index 9d3b837b..dd7f92f9 100644 --- a/include/MatrixClient.h +++ b/include/MatrixClient.h
@@ -44,9 +44,11 @@ public: inline QString getHomeServer(); inline void incrementTransactionId(); + void reset(); + public slots: - // Profile void getOwnProfile(); + void logout(); inline void setServer(const QString &server); inline void setAccessToken(const QString &token); @@ -56,6 +58,8 @@ signals: void loginError(const QString &error); void registerError(const QString &error); + void loggedOut(); + void loginSuccess(const QString &userid, const QString &homeserver, const QString &token); void registerSuccess(const QString &userid, const QString &homeserver, const QString &token); @@ -74,6 +78,7 @@ private: GetProfile, InitialSync, Login, + Logout, Register, SendTextMessage, Sync, @@ -82,6 +87,7 @@ private: // Response handlers. void onLoginResponse(QNetworkReply *reply); + void onLogoutResponse(QNetworkReply *reply); void onRegisterResponse(QNetworkReply *reply); void onVersionsResponse(QNetworkReply *reply); void onGetOwnProfileResponse(QNetworkReply *reply); diff --git a/include/RoomList.h b/include/RoomList.h
index d679c785..313fab9e 100644 --- a/include/RoomList.h +++ b/include/RoomList.h
@@ -39,9 +39,10 @@ public: explicit RoomList(QWidget *parent = 0); ~RoomList(); - void appendRoom(QString name); void setInitialRooms(const Rooms &rooms); void updateRoomAvatar(const QString &roomid, const QImage &avatar_image); + void clear(); + RoomInfo extractRoomInfo(const State &room_state); signals: @@ -54,7 +55,7 @@ public slots: private: Ui::RoomList *ui; - QMap<QString, RoomInfoListItem *> available_rooms_; + QMap<QString, RoomInfoListItem *> rooms_; }; #endif // ROOMLIST_H diff --git a/include/TopRoomBar.h b/include/TopRoomBar.h
index 247cb9a2..bfc5a08f 100644 --- a/include/TopRoomBar.h +++ b/include/TopRoomBar.h
@@ -40,6 +40,8 @@ public: inline void updateRoomName(const QString &name); inline void updateRoomTopic(const QString &topic); + void reset(); + protected: void paintEvent(QPaintEvent *event) override; diff --git a/include/UserInfoWidget.h b/include/UserInfoWidget.h
index 8cd4b765..15837cd5 100644 --- a/include/UserInfoWidget.h +++ b/include/UserInfoWidget.h
@@ -38,6 +38,11 @@ public: void setDisplayName(const QString &name); void setUserId(const QString &userid); + void reset(); + +signals: + void logout(); + private: Avatar *userAvatar_; @@ -46,7 +51,7 @@ private: QVBoxLayout *textLayout_; QHBoxLayout *buttonLayout_; - FlatButton *settingsButton_; + FlatButton *logoutButton_; QLabel *displayNameLabel_; QLabel *userIdLabel_;