diff options
Diffstat (limited to 'include/ChatWindow.hpp')
-rw-r--r-- | include/ChatWindow.hpp | 25 |
1 files changed, 18 insertions, 7 deletions
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 <dchat/Room.hpp> #include <gtkmm/label.h> #include <gtkmm/togglebutton.h> @@ -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> room); void addMessage(const RoomAddMessageRequest &request); - void addUser(std::shared_ptr<Room> room, std::shared_ptr<User> 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> 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<Room> currentRoom; - Window *window; + bool chatInputShowPlaceholder; + bool chatInputChangeByPlaceholder; }; }
\ No newline at end of file |