summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
authorouwou <26526779+ouwou@users.noreply.github.com>2020-09-07 00:27:41 -0400
committerouwou <26526779+ouwou@users.noreply.github.com>2020-09-07 00:27:41 -0400
commit902c96ee53db6d5cbe2c21c9424c89e1e0088cb1 (patch)
treea6703d9cb6c7b35a638a8ef2e1ef6060fbd00759 /windows
parent3832ff9a15f448ba15d60e91b949f21d3295fc24 (diff)
downloadabaddon-portaudio-902c96ee53db6d5cbe2c21c9424c89e1e0088cb1.tar.gz
abaddon-portaudio-902c96ee53db6d5cbe2c21c9424c89e1e0088cb1.zip
use a singleton (oh no) instead of passing Abaddon* everywhere
Diffstat (limited to 'windows')
-rw-r--r--windows/mainwindow.cpp27
-rw-r--r--windows/mainwindow.hpp4
2 files changed, 10 insertions, 21 deletions
diff --git a/windows/mainwindow.cpp b/windows/mainwindow.cpp
index 697fd9d..a14d3d7 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([&] {
- m_abaddon->ActionConnect();
+ Abaddon::Get().ActionConnect();
});
m_menu_discord_disconnect.signal_activate().connect([&] {
- m_abaddon->ActionDisconnect();
+ Abaddon::Get().ActionDisconnect();
});
m_menu_discord_set_token.signal_activate().connect([&] {
- m_abaddon->ActionSetToken();
+ Abaddon::Get().ActionSetToken();
});
m_menu_file_reload_css.signal_activate().connect([this] {
- m_abaddon->ActionReloadCSS();
+ Abaddon::Get().ActionReloadCSS();
});
m_content_box.set_hexpand(true);
@@ -83,9 +83,9 @@ MainWindow::MainWindow()
}
void MainWindow::UpdateComponents() {
- bool discord_active = m_abaddon->IsDiscordActive();
+ bool discord_active = Abaddon::Get().IsDiscordActive();
- std::string token = m_abaddon->GetDiscordToken();
+ std::string token = Abaddon::Get().GetDiscordToken();
m_menu_discord_connect.set_sensitive(token.size() > 0 && !discord_active);
m_menu_discord_disconnect.set_sensitive(discord_active);
@@ -104,18 +104,18 @@ void MainWindow::UpdateMembers() {
}
void MainWindow::UpdateChannelListing() {
- auto &discord = m_abaddon->GetDiscordClient();
+ auto &discord = Abaddon::Get().GetDiscordClient();
m_channel_list.SetListingFromGuilds(discord.GetGuilds());
}
void MainWindow::UpdateChatWindowContents() {
- auto &discord = m_abaddon->GetDiscordClient();
+ auto &discord = Abaddon::Get().GetDiscordClient();
m_chat.SetMessages(discord.GetMessagesForChannel(m_chat.GetActiveChannel()));
m_members.UpdateMemberList();
}
void MainWindow::UpdateChatActiveChannel(Snowflake id) {
- auto &discord = m_abaddon->GetDiscordClient();
+ auto &discord = Abaddon::Get().GetDiscordClient();
m_chat.SetActiveChannel(id);
m_members.SetActiveChannel(id);
}
@@ -125,7 +125,7 @@ Snowflake MainWindow::GetChatActiveChannel() const {
}
void MainWindow::UpdateChatNewMessage(Snowflake id) {
- if (m_abaddon->GetDiscordClient().GetMessage(id)->ChannelID == GetChatActiveChannel()) {
+ if (Abaddon::Get().GetDiscordClient().GetMessage(id)->ChannelID == GetChatActiveChannel()) {
m_chat.AddNewMessage(id);
m_members.UpdateMemberList();
}
@@ -149,10 +149,3 @@ void MainWindow::UpdateChatPrependHistory(const std::vector<Snowflake> &msgs) {
void MainWindow::InsertChatInput(std::string text) {
m_chat.InsertChatInput(text);
}
-
-void MainWindow::SetAbaddon(Abaddon *ptr) {
- m_abaddon = ptr;
- m_channel_list.SetAbaddon(ptr);
- m_chat.SetAbaddon(ptr);
- m_members.SetAbaddon(ptr);
-}
diff --git a/windows/mainwindow.hpp b/windows/mainwindow.hpp
index e3c7ec5..0cb5084 100644
--- a/windows/mainwindow.hpp
+++ b/windows/mainwindow.hpp
@@ -4,11 +4,9 @@
#include "../components/memberlist.hpp"
#include <gtkmm.h>
-class Abaddon;
class MainWindow : public Gtk::Window {
public:
MainWindow();
- void SetAbaddon(Abaddon *ptr);
void UpdateComponents();
void UpdateMembers();
@@ -42,6 +40,4 @@ protected:
Gtk::MenuItem m_menu_file;
Gtk::Menu m_menu_file_sub;
Gtk::MenuItem m_menu_file_reload_css;
-
- Abaddon *m_abaddon = nullptr;
};