Add some comments to the RegionSelection class.
[ardour.git] / gtk2_ardour / ardour_ui.h
index d59fe20216e538d32c3f429833e7dbd82902ec46..39bd8db4a6ad9bc9ad697b094bc30e1344e5980f 100644 (file)
 #include <gtkmm2ext/bindable_button.h>
 #include <ardour/ardour.h>
 #include <ardour/session.h>
+#include <ardour/configuration.h>
 
 #include "audio_clock.h"
 #include "ardour_dialog.h"
 #include "editing.h"
+#include "ui_config.h"
 
 class AudioClock;
 class PublicEditor;
@@ -73,7 +75,7 @@ class About;
 class AddRouteDialog;
 class NewSessionDialog;
 class LocationUI;
-class ColorManager;
+class ThemeManager;
 
 namespace Gtkmm2ext {
        class TearOff;
@@ -93,10 +95,12 @@ namespace ALSA {
 
 #define FRAME_NAME "BaseFrame"
 
+extern sigc::signal<void>  ColorsChanged;
+
 class ARDOUR_UI : public Gtkmm2ext::UI
 {
   public:
-       ARDOUR_UI (int *argcp, char **argvp[], string rcfile);
+       ARDOUR_UI (int *argcp, char **argvp[]);
        ~ARDOUR_UI();
 
        void show ();
@@ -135,12 +139,13 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        static ARDOUR::gain_t slider_position_to_gain (double pos);
 
        static ARDOUR_UI *instance () { return theArdourUI; }
+       static UIConfiguration *config () { return ui_config; }
 
        PublicEditor&     the_editor(){return *editor;}
        Mixer_UI* the_mixer() { return mixer; }
        
        void toggle_location_window ();
-       void toggle_color_manager ();
+       void toggle_theme_manager ();
        void toggle_big_clock_window ();
        void toggle_connection_editor ();
        void toggle_route_params_window ();
@@ -214,6 +219,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void save_keybindings ();
 
        void setup_profile ();
+       void setup_theme ();
 
   protected:
        friend class PublicEditor;
@@ -571,6 +577,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void we_have_dependents ();
        
        std::string keybindings_path;
+       std::string user_keybindings_path;
 
        void setup_keybindings ();
        void setup_session_options ();
@@ -595,7 +602,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        int         create_location_ui ();
        void        handle_locations_change (ARDOUR::Location*);
 
-       ColorManager* color_manager;
+       static UIConfiguration *ui_config;
+       ThemeManager *theme_manager;
 
        /* Options window */
        
@@ -666,11 +674,14 @@ class ARDOUR_UI : public Gtkmm2ext::UI
 
        void toggle_use_osc ();
 
+       void toggle_denormal_protection ();
+
        void set_input_auto_connect (ARDOUR::AutoConnectOption);
        void set_output_auto_connect (ARDOUR::AutoConnectOption);
        void set_solo_model (ARDOUR::SoloModel);
        void set_monitor_model (ARDOUR::MonitorModel);
        void set_remote_model (ARDOUR::RemoteModel);
+       void set_denormal_model (ARDOUR::DenormalModel);
 
        void toggle_StopPluginsWithTransport();
        void toggle_DoNotRunPluginsWhileRecording();
@@ -689,6 +700,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
        void mtc_port_changed ();
        void map_solo_model ();
        void map_monitor_model ();
+       void map_denormal_model ();
        void map_remote_model ();
        void map_file_header_format ();
        void map_file_data_format ();