From f8ae456aaa09757ad5a6072352b7b1d571f23031 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Mon, 15 Dec 2014 15:54:10 -0500 Subject: [PATCH] fix editing of nested/group item colors in theme manager --- gtk2_ardour/theme_manager.cc | 10 +++++++--- gtk2_ardour/theme_manager.h | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index d6f68e4c6b..7a7da3fe33 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -646,8 +646,10 @@ ThemeManager::setup_aliases () /* add as a child */ row = *(alias_list->append()); row[alias_columns.name] = i->first; + row[alias_columns.key] = i->first; } + row[alias_columns.key] = i->first; row[alias_columns.alias] = i->second; Gdk::Color col; @@ -674,7 +676,7 @@ ThemeManager::alias_button_press_event (GdkEventButton* ev) } guint32 colnum = GPOINTER_TO_UINT (column->get_data (X_("colnum"))); - + switch (colnum) { case 0: /* allow normal processing to occur */ @@ -682,8 +684,10 @@ ThemeManager::alias_button_press_event (GdkEventButton* ev) case 1: /* color */ if ((iter = alias_list->get_iter (path))) { - string target_color_name = (*iter)[alias_columns.name]; - choose_color_from_palette (target_color_name); + string target_color_alias = (*iter)[alias_columns.key]; + if (!target_color_alias.empty()) { + choose_color_from_palette (target_color_alias); + } } break; } diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h index 87c66cf1ed..3180240c22 100644 --- a/gtk2_ardour/theme_manager.h +++ b/gtk2_ardour/theme_manager.h @@ -134,11 +134,13 @@ class ThemeManager : public Gtk::VBox add (name); add (alias); add (color); + add (key); } Gtk::TreeModelColumn name; Gtk::TreeModelColumn alias; Gtk::TreeModelColumn color; + Gtk::TreeModelColumn key; }; ColorAliasModelColumns alias_columns;