settings, token entry, receive READY
This commit is contained in:
@@ -1,14 +1,21 @@
|
||||
#include "mainwindow.hpp"
|
||||
#include "../abaddon.hpp"
|
||||
|
||||
MainWindow::MainWindow()
|
||||
: m_main_box(Gtk::ORIENTATION_VERTICAL) {
|
||||
MainWindow::MainWindow() {
|
||||
set_default_size(800, 600);
|
||||
|
||||
m_main_box.set_orientation(Gtk::ORIENTATION_VERTICAL);
|
||||
|
||||
m_menu_discord.set_label("Discord");
|
||||
m_menu_discord.set_submenu(m_menu_discord_sub);
|
||||
m_menu_discord_connect.set_label("Connect");
|
||||
m_menu_discord_connect.set_sensitive(false);
|
||||
m_menu_discord_disconnect.set_label("Disconnect");
|
||||
m_menu_discord_disconnect.set_sensitive(false);
|
||||
m_menu_discord_set_token.set_label("Set Token");
|
||||
m_menu_discord_sub.append(m_menu_discord_connect);
|
||||
m_menu_discord_sub.append(m_menu_discord_disconnect);
|
||||
m_menu_discord_sub.append(m_menu_discord_set_token);
|
||||
m_menu_discord.set_submenu(m_menu_discord_sub);
|
||||
m_menu_bar.append(m_menu_discord);
|
||||
|
||||
@@ -16,6 +23,14 @@ MainWindow::MainWindow()
|
||||
m_abaddon->ActionConnect(); // this feels maybe not too smart
|
||||
});
|
||||
|
||||
m_menu_discord_disconnect.signal_activate().connect([&] {
|
||||
m_abaddon->ActionDisconnect();
|
||||
});
|
||||
|
||||
m_menu_discord_set_token.signal_activate().connect([&] {
|
||||
m_abaddon->ActionSetToken();
|
||||
});
|
||||
|
||||
m_main_box.add(m_menu_bar);
|
||||
|
||||
auto *channel_list = m_channel_list.GetRoot();
|
||||
@@ -26,6 +41,16 @@ MainWindow::MainWindow()
|
||||
show_all_children();
|
||||
}
|
||||
|
||||
void MainWindow::SetAbaddon(Abaddon* ptr) {
|
||||
void MainWindow::UpdateMenuStatus() {
|
||||
// Connect
|
||||
std::string token = m_abaddon->GetDiscordToken();
|
||||
bool discord_active = m_abaddon->IsDiscordActive();
|
||||
m_menu_discord_connect.set_sensitive(token.size() > 0 && !discord_active);
|
||||
|
||||
// Disconnect
|
||||
m_menu_discord_disconnect.set_sensitive(discord_active);
|
||||
}
|
||||
|
||||
void MainWindow::SetAbaddon(Abaddon *ptr) {
|
||||
m_abaddon = ptr;
|
||||
}
|
||||
|
Reference in New Issue
Block a user