X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fui_config.h;h=4b7de631d6b6efec14a8456c27b17be0af6786eb;hb=df28a71252f4593c65ec03611586dfc8a62a834f;hp=64463e3fcf3b1c658a98a34ccfdd8c7ccedb7977;hpb=2d47183dc962bddd2084676b59e9f2c4a0abe33b;p=ardour.git diff --git a/gtk2_ardour/ui_config.h b/gtk2_ardour/ui_config.h index 64463e3fcf..4b7de631d6 100644 --- a/gtk2_ardour/ui_config.h +++ b/gtk2_ardour/ui_config.h @@ -27,59 +27,71 @@ #include #include +#include "ardour/types.h" // required for opeators used in pbd/configuration_variable.h +#include "ardour/types_convert.h" + #include "pbd/stateful.h" #include "pbd/xml++.h" #include "pbd/configuration_variable.h" -#include "canvas/colors.h" +#include "gtkmm2ext/colors.h" +#include "widgets/ui_config.h" #include "utils.h" -class UIConfiguration : public PBD::Stateful +class UIConfiguration : public ArdourWidgets::UIConfigurationBase { - public: +private: UIConfiguration(); ~UIConfiguration(); - static UIConfiguration* instance() { return _instance; } +public: + static UIConfiguration& instance(); + + static std::string color_file_suffix; void load_rc_file (bool themechange, bool allow_own = true); int load_state (); int save_state (); int load_defaults (); - int load_color_theme (bool allow_own=true); + int load_color_theme (bool allow_own); int set_state (const XMLNode&, int version); XMLNode& get_state (void); XMLNode& get_variables (std::string); void set_variables (const XMLNode&); - typedef std::map Colors; + std::string color_file_name (bool use_my, bool with_version) const; + + typedef std::map Colors; typedef std::map ColorAliases; - typedef std::map Modifiers; + typedef std::map Modifiers; Colors colors; ColorAliases color_aliases; Modifiers modifiers; void set_alias (std::string const & name, std::string const & alias); - void set_color (const std::string& name, ArdourCanvas::Color); - void set_modifier (std::string const &, ArdourCanvas::SVAModifier svam); - - std::string color_as_alias (ArdourCanvas::Color c); - ArdourCanvas::Color quantized (ArdourCanvas::Color) const; - - ArdourCanvas::Color color (const std::string&, bool* failed = 0) const; - ArdourCanvas::Color color_mod (std::string const & color, std::string const & modifier) const; - ArdourCanvas::Color color_mod (const ArdourCanvas::Color& color, std::string const & modifier) const; - ArdourCanvas::HSV color_hsv (const std::string&) const; - ArdourCanvas::SVAModifier modifier (const std::string&) const; + void set_color (const std::string& name, Gtkmm2ext::Color); + void set_modifier (std::string const &, Gtkmm2ext::SVAModifier svam); + + std::string color_as_alias (Gtkmm2ext::Color c); + Gtkmm2ext::Color quantized (Gtkmm2ext::Color) const; + + Gtkmm2ext::Color color (const std::string&, bool* failed = 0) const; + Gtkmm2ext::Color color_mod (std::string const & color, std::string const & modifier) const; + Gtkmm2ext::Color color_mod (const Gtkmm2ext::Color& color, std::string const & modifier) const; + Gtkmm2ext::HSV color_hsv (const std::string&) const; + Gtkmm2ext::SVAModifier modifier (const std::string&) const; + + static std::string color_to_hex_string (Gtkmm2ext::Color c); + static std::string color_to_hex_string_no_alpha (Gtkmm2ext::Color c); void reset_dpi (); - void set_pango_fontsize (); - - sigc::signal ParameterChanged; + float get_ui_scale (); + + sigc::signal ParameterChanged; void map_parameters (boost::function&); void parameter_changed (std::string); @@ -90,10 +102,9 @@ class UIConfiguration : public PBD::Stateful */ int pre_gui_init (); - /** called after the GUI toolkit has been initialized. - */ + /** called after the GUI toolkit has been initialized. */ UIConfiguration* post_gui_init (); - + #undef UI_CONFIG_VARIABLE #define UI_CONFIG_VARIABLE(Type,var,name,value) \ Type get_##var () const { return var.get(); } \ @@ -106,7 +117,7 @@ class UIConfiguration : public PBD::Stateful #include "canvas_vars.h" #undef CANVAS_FONT_VARIABLE - private: +private: /* declare variables */ #undef UI_CONFIG_VARIABLE @@ -123,18 +134,16 @@ class UIConfiguration : public PBD::Stateful bool aliases_modified; bool colors_modified; bool modifiers_modified; - - static UIConfiguration* _instance; - int store_color_theme (); + int store_color_theme (); void load_color_aliases (XMLNode const &); void load_colors (XMLNode const &); void load_modifiers (XMLNode const &); void reset_gtk_theme (); + int load_color_file (std::string const &); void colors_changed (); uint32_t block_save; }; #endif /* __ardour_ui_configuration_h__ */ -