From 5fab9a3a2cf048330f687dda48c76c95a3a67d98 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Fri, 9 Nov 2018 09:46:43 +0100 Subject: Add room joining --- include/ChatWindow.hpp | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) (limited to 'include/ChatWindow.hpp') diff --git a/include/ChatWindow.hpp b/include/ChatWindow.hpp index d457b7d..48bbff5 100644 --- a/include/ChatWindow.hpp +++ b/include/ChatWindow.hpp @@ -1,6 +1,8 @@ #pragma once #include "ImageButton.hpp" +#include "RoomSettingsWindow.hpp" +#include "RoomNotificationsWindow.hpp" #include #include #include @@ -17,6 +19,7 @@ namespace dchat { class ChatMessage; class Window; + class Topbar; class ChatWindow : public Gtk::Grid { @@ -25,24 +28,31 @@ namespace dchat ~ChatWindow(); void addRoom(std::shared_ptr room); void addMessage(const RoomAddMessageRequest &request); - void addUser(std::shared_ptr room, std::shared_ptr user); + void addUser(const RoomAddUserRequest &request); void setUserNickname(const UserChangeNicknameRequest &request); void changeRoomName(const RoomChangeNameRequest &request); + void addInviteRequest(const InviteUserRequest &request); void scrollToBottom(); + + Topbar *topbar; + Gtk::Stack stack; + Gtk::Grid chatPage; + RoomSettingsWindow roomSettingsWindow; + RoomNotificationsWindow roomNotificationsWindow; + Window *window; private: - void setupTopBar(); + void setupTopbar(); void setupLeftPanel(Gtk::Paned *sidePanels); void setupMessageArea(Gtk::Grid *rightPanel); void setupChatInput(Gtk::Grid *rightPanel); void setCurrentRoom(std::shared_ptr room); private: - Gtk::Grid topbar; - Gtk::Entry topbarSearchBar; Gtk::Grid leftPanelChannels; Gtk::Stack leftPanelUsersStack; - ImageButton addRoomButton; - Gtk::Label currentChannelTitle; + ImageButton createRoomButton; + ImageButton joinRoomButton; + ImageButton userSettingsButton; Gtk::ScrolledWindow messageArea; Gtk::Stack messageAreaStack; Gtk::TextView chatInput; @@ -60,6 +70,7 @@ namespace dchat int roomCount; RoomData *currentRoomData; std::shared_ptr currentRoom; - Window *window; + bool chatInputShowPlaceholder; + bool chatInputChangeByPlaceholder; }; } \ No newline at end of file -- cgit v1.2.3