diff options
author | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-18 02:05:24 -0500 |
---|---|---|
committer | ouwou <26526779+ouwou@users.noreply.github.com> | 2020-12-18 02:05:24 -0500 |
commit | 712eba816e1824c7babeffc946dad0335bd87913 (patch) | |
tree | 31fa1dcc72401a3641e5d9d677e5feb048141758 /abaddon.cpp | |
parent | 387dd3103926db8fd9ff6078cd33e0c1191339d1 (diff) | |
download | abaddon-portaudio-712eba816e1824c7babeffc946dad0335bd87913.tar.gz abaddon-portaudio-712eba816e1824c7babeffc946dad0335bd87913.zip |
reload settings + custom css path
Diffstat (limited to 'abaddon.cpp')
-rw-r--r-- | abaddon.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/abaddon.cpp b/abaddon.cpp index 2fd6d39..8388840 100644 --- a/abaddon.cpp +++ b/abaddon.cpp @@ -66,7 +66,7 @@ int Abaddon::StartGTK() { // tmp css stuff m_css_provider = Gtk::CssProvider::create(); m_css_provider->signal_parsing_error().connect([this](const Glib::RefPtr<const Gtk::CssSection> §ion, const Glib::Error &error) { - Gtk::MessageDialog dlg(*m_main_window, "main.css failed parsing (" + error.what() + ")", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog dlg(*m_main_window, "css failed parsing (" + error.what() + ")", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); dlg.run(); }); @@ -99,6 +99,7 @@ int Abaddon::StartGTK() { m_main_window->signal_action_reload_css().connect(sigc::mem_fun(*this, &Abaddon::ActionReloadCSS)); m_main_window->signal_action_join_guild().connect(sigc::mem_fun(*this, &Abaddon::ActionJoinGuildDialog)); m_main_window->signal_action_set_status().connect(sigc::mem_fun(*this, &Abaddon::ActionSetStatus)); + m_main_window->signal_action_reload_settings().connect(sigc::mem_fun(*this, &Abaddon::ActionReloadSettings)); m_main_window->signal_action_show_user_menu().connect(sigc::mem_fun(*this, &Abaddon::ShowUserMenu)); @@ -454,13 +455,17 @@ void Abaddon::ActionReactionRemove(Snowflake id, const Glib::ustring ¶m) { m_discord.RemoveReaction(id, param); } +void Abaddon::ActionReloadSettings() { + m_settings.Reload(); +} + void Abaddon::ActionReloadCSS() { try { Gtk::StyleContext::remove_provider_for_screen(Gdk::Screen::get_default(), m_css_provider); - m_css_provider->load_from_path("./css/main.css"); + m_css_provider->load_from_path(m_settings.GetMainCSS()); Gtk::StyleContext::add_provider_for_screen(Gdk::Screen::get_default(), m_css_provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } catch (Glib::Error &e) { - Gtk::MessageDialog dlg(*m_main_window, "main.css failed to load (" + e.what() + ")", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); + Gtk::MessageDialog dlg(*m_main_window, "css failed to load (" + e.what() + ")", false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK, true); dlg.run(); } } |