From be26fa02ce6e742de057c9fd2f9e6502cb57cbdc Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Wed, 27 Jun 2007 12:12:39 +0000 Subject: Use signal_toggled instead of signal_clicked in ThemeManager so a theme is only "loaded" once. git-svn-id: svn://localhost/ardour2/trunk@2060 d708f5d6-7413-0410-9779-e7cbd77b26cf --- gtk2_ardour/theme_manager.cc | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'gtk2_ardour/theme_manager.cc') diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index fb4cc88550..ffceb36109 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -84,8 +84,8 @@ ThemeManager::ThemeManager() color_dialog.get_ok_button()->signal_clicked().connect (bind (mem_fun (color_dialog, &Gtk::Dialog::response), RESPONSE_ACCEPT)); color_dialog.get_cancel_button()->signal_clicked().connect (bind (mem_fun (color_dialog, &Gtk::Dialog::response), RESPONSE_CANCEL)); - dark_button.signal_clicked().connect (bind (mem_fun (*this, &ThemeManager::load_rc), 1)); - light_button.signal_clicked().connect (bind (mem_fun (*this, &ThemeManager::load_rc), 2)); + dark_button.signal_toggled().connect (mem_fun (*this, &ThemeManager::on_dark_theme_button_toggled)); + light_button.signal_toggled().connect (mem_fun (*this, &ThemeManager::on_light_theme_button_toggled)); set_size_request (-1, 400); } @@ -196,14 +196,20 @@ load_rc_file (const string& filename) } void -ThemeManager::load_rc(int which) +ThemeManager::on_dark_theme_button_toggled() { - if (which == 1) { - Config->set_ui_rc_file("ardour2_ui_dark.rc"); - } else { - Config->set_ui_rc_file("ardour2_ui_light.rc"); - } + if (!dark_button.get_active()) return; + + Config->set_ui_rc_file("ardour2_ui_dark.rc"); + load_rc_file (Config->get_ui_rc_file()); +} + +void +ThemeManager::on_light_theme_button_toggled() +{ + if (!light_button.get_active()) return; + Config->set_ui_rc_file("ardour2_ui_light.rc"); load_rc_file (Config->get_ui_rc_file()); } -- cgit v1.2.3