Add /join command support
4 files changed, 9 insertions, 0 deletions
diff --git a/include/ChatPage.h b/include/ChatPage.h
index ad1ec9e3..04464bc5 100644
--- a/include/ChatPage.h
+++ b/include/ChatPage.h
@@ -54,6 +54,7 @@ signals:
void close();
void changeWindowTitle(const QString &msg);
void unreadMessages(int count);
+ void showNotification(const QString &msg);
private slots:
void showUnreadMessageNotification(int count);
diff --git a/include/MainWindow.h b/include/MainWindow.h
index a7a2b2e6..0c2316a3 100644
--- a/include/MainWindow.h
+++ b/include/MainWindow.h
@@ -26,6 +26,7 @@
#include "MatrixClient.h"
#include "OverlayModal.h"
#include "RegisterPage.h"
+#include "SnackBar.h"
#include "TrayIcon.h"
#include "WelcomePage.h"
@@ -91,4 +92,7 @@ private:
// Tray icon that shows the unread message count.
TrayIcon *trayIcon_;
+
+ // Notifications display.
+ QSharedPointer<SnackBar> snackBar_;
};
diff --git a/include/MatrixClient.h b/include/MatrixClient.h
index c87f0668..927fe3a6 100644
--- a/include/MatrixClient.h
+++ b/include/MatrixClient.h
@@ -93,6 +93,7 @@ signals:
void initialSyncCompleted(const SyncResponse &response);
void syncCompleted(const SyncResponse &response);
void syncFailed(const QString &msg);
+ void joinFailed(const QString &msg);
void messageSent(const QString &event_id, const QString &roomid, const int txn_id);
void emoteSent(const QString &event_id, const QString &roomid, const int txn_id);
void messagesRetrieved(const QString &room_id, const RoomMessages &msgs);
diff --git a/include/TextInputWidget.h b/include/TextInputWidget.h
index 732f4f61..772bdd46 100644
--- a/include/TextInputWidget.h
+++ b/include/TextInputWidget.h
@@ -30,6 +30,7 @@
namespace msgs = matrix::events::messages;
static const QString EMOTE_COMMAND("/me ");
+static const QString JOIN_COMMAND("/join ");
class FilteredTextEdit : public QTextEdit
{
@@ -63,10 +64,12 @@ signals:
void sendTextMessage(QString msg);
void sendEmoteMessage(QString msg);
void uploadImage(QString filename);
+ void sendJoinRoomRequest(const QString &room);
private:
void showUploadSpinner();
QString parseEmoteCommand(const QString &cmd);
+ QString parseJoinCommand(const QString &cmd);
QHBoxLayout *topLayout_;
FilteredTextEdit *input_;
|