make inactive group tab color be themeable and update it dynamically
authorPaul Davis <paul@linuxaudiosystems.com>
Mon, 30 Jun 2014 14:14:06 +0000 (10:14 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Mon, 30 Jun 2014 14:14:06 +0000 (10:14 -0400)
gtk2_ardour/ardour3_ui_default.conf.in
gtk2_ardour/canvas_vars.h
gtk2_ardour/editor_group_tabs.cc
gtk2_ardour/group_tabs.cc
gtk2_ardour/mixer_group_tabs.cc

index 6d851a376c87eb3f4e9fe8cbe926788c41fe4e72..2f76f369c870605c81e65d5644afff3e99d8644d 100644 (file)
@@ -45,6 +45,7 @@
     <Option name="image track" value="ddddd8ff"/>
     <Option name="inactive crossfade" value="e8ed3d77"/>
     <Option name="inactive fade handle" value="bbbbbbaa"/>
+    <Option name="inactive group tab" value="000000aa"/>
     <Option name="location cd marker" value="1ee8c4ff"/>
     <Option name="location loop" value="35964fff"/>
     <Option name="location marker" value="c4f411ff"/>
index 3bcd85c246643aaa687d018676a7522137662bdb..4277149a35a608afeeedb0f80e0c581dc31b00e0 100644 (file)
@@ -52,6 +52,7 @@ CANVAS_VARIABLE(canvasvar_GhostTrackZeroLine, "ghost track zero line")
 CANVAS_VARIABLE(canvasvar_ImageTrack, "image track")
 CANVAS_VARIABLE(canvasvar_InactiveCrossfade, "inactive crossfade")
 CANVAS_VARIABLE(canvasvar_InactiveFadeHandle, "inactive fade handle")
+CANVAS_VARIABLE(canvasvar_InactiveGroupTab, "inactive group tab")
 CANVAS_VARIABLE(canvasvar_LocationCDMarker, "location cd marker")
 CANVAS_VARIABLE(canvasvar_LocationLoop, "location loop")
 CANVAS_VARIABLE(canvasvar_LocationMarker, "location marker")
index fb7081df2ca265894033aa62b04810c6d9e8f832..af5e63bd55a5700348ac7a39ab9450ef6fcbf1bd 100644 (file)
@@ -23,6 +23,7 @@
 
 #include "canvas/utils.h"
 
+#include "ardour_ui.h"
 #include "editor.h"
 #include "editor_group_tabs.h"
 #include "editor_route_groups.h"
@@ -94,9 +95,7 @@ EditorGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
        if (tab.group && tab.group->is_active()) {
                ArdourCanvas::color_to_rgba (tab.color, r, g, b, a);
        } else {
-               r = 0.0;
-               g = 0.0;
-               b = 0.0;
+               ArdourCanvas::color_to_rgba (ARDOUR_UI::config()->get_canvasvar_InactiveGroupTab(), r, g, b, a);
        }
 
        a = 1.0;
index a996cd8dff1d4c40be303d73f1999b1f9687b729..b64713362af8a5cfb0c25d24302e5b5b725fcbfc 100644 (file)
@@ -24,6 +24,7 @@
 
 #include "gui_thread.h"
 #include "route_group_dialog.h"
+#include "global_signals.h"
 #include "group_tabs.h"
 #include "keyboard.h"
 #include "i18n.h"
@@ -45,6 +46,7 @@ GroupTabs::GroupTabs ()
        , _dragging_new_tab (0)
 {
        add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::POINTER_MOTION_MASK);
+       ColorsChanged.connect (sigc::mem_fun (*this, &GroupTabs::queue_draw));  
 }
 
 GroupTabs::~GroupTabs ()
index e7c14ca113fc78ac3e2fa415e8ca0414b8f3a85f..7f9f1f0e5398df53f44e84c1cefc7643dee99502 100644 (file)
@@ -25,6 +25,7 @@
 
 #include "canvas/utils.h"
 
+#include "ardour_ui.h"
 #include "mixer_group_tabs.h"
 #include "mixer_strip.h"
 #include "mixer_ui.h"
@@ -102,9 +103,7 @@ MixerGroupTabs::draw_tab (cairo_t* cr, Tab const & tab) const
        if (tab.group && tab.group->is_active()) {
                ArdourCanvas::color_to_rgba (tab.color, r, g, b, a);
        } else {
-               r = 0.0;
-               g = 0.0;
-               b = 0.0;
+               ArdourCanvas::color_to_rgba (ARDOUR_UI::config()->get_canvasvar_InactiveGroupTab(), r, g, b, a);
        }
        
        a = 1.0;