#pragma once #include #include #include "IRCClient.h" #include "IRCWindow.h" class GAction; class GStackWidget; class IRCAppWindow : public GWindow { public: IRCAppWindow(); virtual ~IRCAppWindow() override; private: void setup_client(); void setup_actions(); void setup_menus(); void setup_widgets(); void update_title(); IRCWindow& create_window(void* owner, IRCWindow::Type, const String& name); IRCClient m_client; GStackWidget* m_container { nullptr }; GTableView* m_window_list { nullptr }; RetainPtr m_join_action; RetainPtr m_part_action; RetainPtr m_whois_action; RetainPtr m_open_query_action; RetainPtr m_close_query_action; RetainPtr m_change_nick_action; };