fix OSX/PPC bundled plugins
[ardour.git] / gtk2_ardour / theme_manager.h
index 91b95ad227b77dfcb73ab6807ab05fb9fe2a4aee..36e85e5dd9febc3447a99c8c4d7e4320d92f3afe 100644 (file)
@@ -32,8 +32,6 @@
 #include "canvas/types.h"
 #include "canvas/canvas.h"
 
-#include "ardour_window.h"
-
 #include "ui_config.h"
 
 namespace ArdourCanvas {
@@ -43,14 +41,13 @@ namespace ArdourCanvas {
 
 class ArdourDialog;
 
-class ThemeManager : public ArdourWindow
+class ThemeManager : public Gtk::VBox
 {
   public:
        ThemeManager();
        ~ThemeManager();
 
        int save (std::string path);
-       void setup_basic_color_display ();
        void reset_canvas_colors();
 
        void on_dark_theme_button_toggled ();
@@ -62,35 +59,26 @@ class ThemeManager : public ArdourWindow
         void on_waveform_gradient_depth_change ();
         void on_timeline_item_gradient_depth_change ();
        void on_all_dialogs_toggled ();
+       void on_transients_follow_front_toggled ();
+       void on_floating_monitor_section_toggled ();
        void on_icon_set_changed ();
 
   private:
        Gtk::Notebook notebook;
-       
+
        struct BasicColorDisplayModelColumns : public Gtk::TreeModel::ColumnRecord {
                BasicColorDisplayModelColumns() {
                        add (name);
                        add (gdkcolor);
-                       add (pVar);
-                       add (rgba);
                }
-               
+
                Gtk::TreeModelColumn<std::string>  name;
                Gtk::TreeModelColumn<Gdk::Color>   gdkcolor;
-               Gtk::TreeModelColumn<ColorVariable<ArdourCanvas::Color> *> pVar;
-               Gtk::TreeModelColumn<ArdourCanvas::Color>     rgba;
        };
-       
-       BasicColorDisplayModelColumns basic_color_columns;
-       Gtk::TreeView basic_color_display;
-       Glib::RefPtr<Gtk::TreeStore> basic_color_list;
-
-       bool basic_color_button_press_event (GdkEventButton*);
 
        Gtk::ColorSelectionDialog color_dialog;
        sigc::connection color_dialog_connection;
-       
-       Gtk::ScrolledWindow scroller;
+
        Gtk::HBox theme_selection_hbox;
        Gtk::RadioButton dark_button;
        Gtk::RadioButton light_button;
@@ -104,15 +92,12 @@ class ThemeManager : public ArdourWindow
         Gtk::HScale timeline_item_gradient_depth;
         Gtk::Label timeline_item_gradient_depth_label;
        Gtk::CheckButton all_dialogs;
+       Gtk::CheckButton transients_follow_front;
+       Gtk::CheckButton floating_monitor_section;
        Gtk::CheckButton gradient_waveforms;
        Gtk::Label icon_set_label;
        Gtk::ComboBoxText icon_set_dropdown;
 
-       /* handles response from color dialog when it used to 
-          edit a basic color
-       */
-       void basic_color_response (int, ColorVariable<ArdourCanvas::Color>*);
-
        /* handls response from color dialog when it is used to
           edit a derived color.
        */
@@ -121,10 +106,10 @@ class ThemeManager : public ArdourWindow
        Gtk::ScrolledWindow palette_scroller;
        ArdourCanvas::GtkCanvasViewport palette_viewport;
        ArdourCanvas::Container* palette_group;
-       
+
        /* these methods create and manage a canvas for use in either the
           palette tab or in a separate dialog. Different behaviour is
-          accomplished by changing the event handler passed into the 
+          accomplished by changing the event handler passed into the
           allocation handler. We do it there because we have to rebuild
           the canvas on allocation events, and during the rebuild, connect
           each rectangle to the event handler.
@@ -147,17 +132,19 @@ class ThemeManager : public ArdourWindow
           on it inside the palette tab.
        */
        void edit_palette_color (std::string);
-       
+
        struct ColorAliasModelColumns : public Gtk::TreeModel::ColumnRecord {
                ColorAliasModelColumns() {
                        add (name);
                        add (alias);
                        add (color);
+                       add (key);
                }
-               
+
                Gtk::TreeModelColumn<std::string>  name;
                Gtk::TreeModelColumn<std::string>  alias;
                Gtk::TreeModelColumn<Gdk::Color>   color;
+               Gtk::TreeModelColumn<std::string>  key;
        };
 
        ColorAliasModelColumns       alias_columns;
@@ -169,14 +156,23 @@ class ThemeManager : public ArdourWindow
 
        ArdourDialog* palette_window;
        sigc::connection palette_response_connection;
-       
+
        void choose_color_from_palette (std::string const &target_name);
-       
+
        bool alias_palette_event (GdkEvent*, std::string, std::string);
        void alias_palette_response (int, std::string, std::string);
 
        void setup_aliases ();
        void setup_palette ();
+
+       Gtk::ScrolledWindow modifier_scroller;
+       Gtk::VBox modifier_vbox;
+
+       void setup_modifiers ();
+       void modifier_edited (Gtk::Range*, std::string);
+
+       void colors_changed ();
+       void set_ui_to_state ();
 };
 
 #endif /* __ardour_gtk_color_manager_h__ */