summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-07 02:45:46 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-07 02:45:46 -0400
commitda2182a5e7f8c951f4f270bf52e949647a4de5d6 (patch)
tree68f822ccddd0076c12a1cd48ce556d1fa63c820a /windows
parent902c96ee53db6d5cbe2c21c9424c89e1e0088cb1 (diff)
downloadabaddon-portaudio-da2182a5e7f8c951f4f270bf52e949647a4de5d6.tar.gz
abaddon-portaudio-da2182a5e7f8c951f4f270bf52e949647a4de5d6.zip
more signal usage and some other fixes
Diffstat (limited to 'windows')
-rw-r--r--windows/mainwindow.cpp41
-rw-r--r--windows/mainwindow.hpp21
2 files changed, 56 insertions, 6 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp
index a14d3d7..30d52bb 100644
--- a/windows/mainwindow.cpp
+++ b/windows/mainwindow.cpp
@@ -29,19 +29,19 @@ MainWindow::MainWindow()
m_menu_bar.append(m_menu_discord);
m_menu_discord_connect.signal_activate().connect([&] {
- Abaddon::Get().ActionConnect();
+ m_signal_action_connect.emit();
});
m_menu_discord_disconnect.signal_activate().connect([&] {
- Abaddon::Get().ActionDisconnect();
+ m_signal_action_disconnect.emit();
});
m_menu_discord_set_token.signal_activate().connect([&] {
- Abaddon::Get().ActionSetToken();
+ m_signal_action_set_token.emit();
});
m_menu_file_reload_css.signal_activate().connect([this] {
- Abaddon::Get().ActionReloadCSS();
+ m_signal_action_reload_css.emit();
});
m_content_box.set_hexpand(true);
@@ -91,8 +91,9 @@ void MainWindow::UpdateComponents() {
m_menu_discord_disconnect.set_sensitive(discord_active);
if (!discord_active) {
- m_channel_list.ClearListing();
- m_chat.ClearMessages();
+ m_channel_list.Clear();
+ m_chat.Clear();
+ m_members.Clear();
} else {
UpdateChannelListing();
m_members.UpdateMemberList();
@@ -149,3 +150,31 @@ void MainWindow::UpdateChatPrependHistory(const std::vector<Snowflake> &msgs) {
void MainWindow::InsertChatInput(std::string text) {
m_chat.InsertChatInput(text);
}
+
+ChannelList *MainWindow::GetChannelList() {
+ return &m_channel_list;
+}
+
+ChatWindow *MainWindow::GetChatWindow() {
+ return &m_chat;
+}
+
+MemberList *MainWindow::GetMemberList() {
+ return &m_members;
+}
+
+MainWindow::type_signal_action_connect MainWindow::signal_action_connect() {
+ return m_signal_action_connect;
+}
+
+MainWindow::type_signal_action_disconnect MainWindow::signal_action_disconnect() {
+ return m_signal_action_disconnect;
+}
+
+MainWindow::type_signal_action_set_token MainWindow::signal_action_set_token() {
+ return m_signal_action_set_token;
+}
+
+MainWindow::type_signal_action_reload_css MainWindow::signal_action_reload_css() {
+ return m_signal_action_reload_css;
+}
diff --git a/windows/mainwindow.hpp b/windows/mainwindow.hpp
index 0cb5084..e850fa2 100644
--- a/windows/mainwindow.hpp
+++ b/windows/mainwindow.hpp
@@ -20,6 +20,27 @@ public:
void UpdateChatPrependHistory(const std::vector<Snowflake> &msgs);
void InsertChatInput(std::string text);
+ ChannelList *GetChannelList();
+ ChatWindow *GetChatWindow();
+ MemberList *GetMemberList();
+
+public:
+ typedef sigc::signal<void> type_signal_action_connect;
+ typedef sigc::signal<void> type_signal_action_disconnect;
+ typedef sigc::signal<void> type_signal_action_set_token;
+ typedef sigc::signal<void> type_signal_action_reload_css;
+
+ type_signal_action_connect signal_action_connect();
+ type_signal_action_disconnect signal_action_disconnect();
+ type_signal_action_set_token signal_action_set_token();
+ type_signal_action_reload_css signal_action_reload_css();
+
+protected:
+ type_signal_action_connect m_signal_action_connect;
+ type_signal_action_disconnect m_signal_action_disconnect;
+ type_signal_action_set_token m_signal_action_set_token;
+ type_signal_action_reload_css m_signal_action_reload_css;
+
protected:
Gtk::Box m_main_box;
Gtk::Box m_content_box;