X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Ftheme_manager.cc;h=b800554fb9ad2a0d9ee02248b36d9e40ecb8a50b;hb=cad92bfa4e0a6c14068e3b42f0b7c3baf18aee8a;hp=ac61efa5ec7daafee76a74ec8a146c2cfbde1aca;hpb=44f4b84551d36ef4103d09452768f5ba53e0002c;p=ardour.git diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index ac61efa5ec..b800554fb9 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -35,6 +35,7 @@ #include "theme_manager.h" #include "rgb_macros.h" #include "ardour_ui.h" +#include "global_signals.h" #include "i18n.h" @@ -48,10 +49,10 @@ sigc::signal ColorsChanged; sigc::signal ColorChanged; ThemeManager::ThemeManager() - : ArdourDialog ("ThemeManager"), - dark_button ("Dark theme"), - light_button ("Light theme"), - reset_button ("Restore Defaults") + : ArdourDialog (_("Theme Manager")), + dark_button (_("Dark Theme")), + light_button (_("Light Theme")), + reset_button (_("Restore Defaults")) { set_title (_("Theme Manager")); @@ -162,6 +163,7 @@ ThemeManager::button_press_event (GdkEventButton* ev) ccvar = (*iter)[columns.pVar]; ccvar->set(rgba); + ARDOUR_UI::config()->set_dirty (); //ColorChanged (rgba); ColorsChanged();//EMIT SIGNAL @@ -226,6 +228,7 @@ ThemeManager::on_dark_theme_button_toggled() } else { ARDOUR_UI::config()->ui_rc_file.set("ardour3_ui_dark.rc"); } + ARDOUR_UI::config()->set_dirty (); load_rc_file (ARDOUR_UI::config()->ui_rc_file.get(), true); } @@ -250,19 +253,20 @@ ThemeManager::setup_theme () int r, g, b, a; color_list->clear(); - for (std::vector *>::iterator i = ARDOUR_UI::config()->canvas_colors.begin(); i != ARDOUR_UI::config()->canvas_colors.end(); i++) { + for (std::map *>::iterator i = ARDOUR_UI::config()->canvas_colors.begin(); i != ARDOUR_UI::config()->canvas_colors.end(); i++) { TreeModel::Row row = *(color_list->append()); Gdk::Color col; - uint32_t rgba = (*i)->get(); + UIConfigVariable* var = i->second; + uint32_t rgba = var->get(); UINT_TO_RGBA (rgba, &r, &g, &b, &a); //cerr << (*i)->name() << " == " << hex << rgba << ": " << hex << r << " " << hex << g << " " << hex << b << endl; col.set_rgb_p (r / 255.0, g / 255.0, b / 255.0); - row[columns.name] = (*i)->name(); + row[columns.name] = var->name(); row[columns.color] = ""; - row[columns.pVar] = *i; + row[columns.pVar] = var; row[columns.rgba] = rgba; row[columns.gdkcolor] = col;