diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-15 12:32:41 -0500 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-12-15 12:32:41 -0500 |
commit | f6e88ead01b1823f1374afdbc3d8b9a5639e7f46 (patch) | |
tree | 9cddcd830da9d58bf364b89ee298a973a6ead8d1 | |
parent | 8b230014412b90b78240685b16a8d4e624cc5ce6 (diff) |
move theme manager into preferences window
-rw-r--r-- | gtk2_ardour/ardour.menus.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.cc | 12 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/ardour_ui_dialogs.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/mnemonic-us.bindings.in | 1 | ||||
-rw-r--r-- | gtk2_ardour/option_editor.cc | 15 | ||||
-rw-r--r-- | gtk2_ardour/option_editor.h | 3 | ||||
-rw-r--r-- | gtk2_ardour/rc_option_editor.cc | 5 | ||||
-rw-r--r-- | gtk2_ardour/theme_manager.cc | 38 | ||||
-rw-r--r-- | gtk2_ardour/theme_manager.h | 4 |
10 files changed, 40 insertions, 43 deletions
diff --git a/gtk2_ardour/ardour.menus.in b/gtk2_ardour/ardour.menus.in index d7bd5eac7b..d4b65025c6 100644 --- a/gtk2_ardour/ardour.menus.in +++ b/gtk2_ardour/ardour.menus.in @@ -505,7 +505,6 @@ <menuitem action='toggle-locations'/> <menuitem action='toggle-key-editor'/> <menuitem action='toggle-bundle-manager'/> - <menuitem action='toggle-theme-manager'/> <menuitem action='toggle-big-clock'/> #if 0 <menuitem action='toggle-speaker-config'/> diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index f4c5bdd81c..3ee75926fa 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -202,7 +202,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) , editor_meter_peak_display() , speaker_config_window (X_("speaker-config"), _("Speaker Configuration")) - , theme_manager (X_("theme-manager"), _("Theme Manager")) , key_editor (X_("key-editor"), _("Key Bindings")) , rc_option_editor (X_("rc-options-editor"), _("Preferences")) , add_route_dialog (X_("add-routes"), _("Add Tracks/Busses")) @@ -349,7 +348,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) const XMLNode* ui_xml = Config->extra_xml (X_("UI")); if (ui_xml) { - theme_manager.set_state (*ui_xml); key_editor.set_state (*ui_xml); rc_option_editor.set_state (*ui_xml); session_option_editor.set_state (*ui_xml); @@ -365,7 +363,6 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) midi_port_matrix.set_state (*ui_xml); } - WM::Manager::instance().register_window (&theme_manager); WM::Manager::instance().register_window (&key_editor); WM::Manager::instance().register_window (&rc_option_editor); WM::Manager::instance().register_window (&session_option_editor); @@ -381,12 +378,9 @@ ARDOUR_UI::ARDOUR_UI (int *argcp, char **argvp[], const char* localedir) WM::Manager::instance().register_window (&audio_port_matrix); WM::Manager::instance().register_window (&midi_port_matrix); - /* We need to instantiate the theme manager because it loads our - theme files. This should really change so that its window - and its functionality are separate - */ - - (void) theme_manager.get (true); + /* Trigger setting up the color scheme and loading the GTK RC file */ + + ARDOUR_UI::config()->load_rc_file (false); _process_thread = new ProcessThread (); _process_thread->init (); diff --git a/gtk2_ardour/ardour_ui.h b/gtk2_ardour/ardour_ui.h index f752295f78..bd266a0f80 100644 --- a/gtk2_ardour/ardour_ui.h +++ b/gtk2_ardour/ardour_ui.h @@ -90,8 +90,6 @@ #include "route_params_ui.h" #include "session_option_editor.h" #include "speaker_dialog.h" -#include "theme_manager.h" - class VideoTimeLine; class ArdourKeyboard; @@ -628,7 +626,6 @@ class ARDOUR_UI : public Gtkmm2ext::UI, public ARDOUR::SessionHandlePtr /* Dialogs that can be created via new<T> */ WM::Proxy<SpeakerDialog> speaker_config_window; - WM::Proxy<ThemeManager> theme_manager; WM::Proxy<KeyEditor> key_editor; WM::Proxy<RCOptionEditor> rc_option_editor; WM::Proxy<AddRouteDialog> add_route_dialog; diff --git a/gtk2_ardour/ardour_ui_dialogs.cc b/gtk2_ardour/ardour_ui_dialogs.cc index 6545253582..979e2f487c 100644 --- a/gtk2_ardour/ardour_ui_dialogs.cc +++ b/gtk2_ardour/ardour_ui_dialogs.cc @@ -280,7 +280,6 @@ ARDOUR_UI::unload_session (bool hide_stuff) editor->hide (); mixer->hide (); meterbridge->hide (); - theme_manager->hide (); audio_port_matrix->hide(); midi_port_matrix->hide(); route_params->hide(); diff --git a/gtk2_ardour/mnemonic-us.bindings.in b/gtk2_ardour/mnemonic-us.bindings.in index 703ff7a585..8c3126315f 100644 --- a/gtk2_ardour/mnemonic-us.bindings.in +++ b/gtk2_ardour/mnemonic-us.bindings.in @@ -216,7 +216,6 @@ This mode provides many different operations on both regions and control points, ;@-group|Editor/crop|c|some text @mmode|MouseMode/set-mouse-mode-cut|c|cut mode @edit|Editor/editor-copy|<@PRIMARY@>c|copy -@wvis|Window/toggle-theme-manager|<@WINDOW@>c|toggle color manager @rop|Region/set-region-sync-position|v|set region sync point @edit|Editor/editor-paste|<@PRIMARY@>v|paste @-group|Editor/brush-at-mouse|<@PRIMARY@>b|some text diff --git a/gtk2_ardour/option_editor.cc b/gtk2_ardour/option_editor.cc index 137d6b98c8..aa975b6b94 100644 --- a/gtk2_ardour/option_editor.cc +++ b/gtk2_ardour/option_editor.cc @@ -445,6 +445,21 @@ OptionEditor::add_option (std::string const & pn, OptionEditorComponent* o) o->set_state_from_config (); } +/** Add a new page + * @param pn Page name (will be created if it doesn't already exist) + * @param w widget that fills the page + */ +void +OptionEditor::add_page (std::string const & pn, Gtk::Widget& w) +{ + if (_pages.find (pn) == _pages.end()) { + _pages[pn] = new OptionEditorPage (_notebook, pn); + } + + OptionEditorPage* p = _pages[pn]; + p->box.pack_start (w, true, true); +} + void OptionEditor::set_current_page (string const & p) { diff --git a/gtk2_ardour/option_editor.h b/gtk2_ardour/option_editor.h index 4e3269e43c..cb5f76f31d 100644 --- a/gtk2_ardour/option_editor.h +++ b/gtk2_ardour/option_editor.h @@ -651,7 +651,8 @@ public: ~OptionEditor (); void add_option (std::string const &, OptionEditorComponent *); - + void add_page (std::string const &, Gtk::Widget& page_widget); + void set_current_page (std::string const &); protected: diff --git a/gtk2_ardour/rc_option_editor.cc b/gtk2_ardour/rc_option_editor.cc index 716918f3a6..5646602e4c 100644 --- a/gtk2_ardour/rc_option_editor.cc +++ b/gtk2_ardour/rc_option_editor.cc @@ -54,6 +54,7 @@ #include "midi_port_dialog.h" #include "sfdb_ui.h" #include "keyboard.h" +#include "theme_manager.h" #include "i18n.h" using namespace std; @@ -2336,6 +2337,10 @@ RCOptionEditor::RCOptionEditor () sigc::mem_fun (*_rc_config, &RCConfiguration::set_meter_style_led) )); + /* and now the theme manager */ + + ThemeManager* tm = manage (new ThemeManager); + add_page (_("Theme"), *tm); } void diff --git a/gtk2_ardour/theme_manager.cc b/gtk2_ardour/theme_manager.cc index 958d952d07..8a362d17ba 100644 --- a/gtk2_ardour/theme_manager.cc +++ b/gtk2_ardour/theme_manager.cc @@ -62,8 +62,7 @@ namespace ARDOUR_UI_UTILS { } ThemeManager::ThemeManager() - : ArdourWindow (_("Theme Manager")) - , dark_button (_("Dark Theme")) + : dark_button (_("Dark Theme")) , light_button (_("Light Theme")) , reset_button (_("Restore Defaults")) , flat_buttons (_("Draw \"flat\" buttons")) @@ -80,8 +79,6 @@ ThemeManager::ThemeManager() , palette_group (0) , palette_window (0) { - set_title (_("Theme Manager")); - /* Now the alias list */ alias_list = TreeStore::create (alias_columns); @@ -113,17 +110,16 @@ ThemeManager::ThemeManager() theme_selection_hbox.pack_start (dark_button); theme_selection_hbox.pack_start (light_button); - Gtk::VBox* vbox = Gtk::manage (new Gtk::VBox ()); - vbox->set_homogeneous (false); - vbox->pack_start (theme_selection_hbox, PACK_SHRINK); - vbox->pack_start (reset_button, PACK_SHRINK); + set_homogeneous (false); + pack_start (theme_selection_hbox, PACK_SHRINK); + pack_start (reset_button, PACK_SHRINK); #ifndef __APPLE__ - vbox->pack_start (all_dialogs, PACK_SHRINK); + pack_start (all_dialogs, PACK_SHRINK); #endif - vbox->pack_start (flat_buttons, PACK_SHRINK); - vbox->pack_start (blink_rec_button, PACK_SHRINK); - vbox->pack_start (region_color_button, PACK_SHRINK); - vbox->pack_start (show_clipping_button, PACK_SHRINK); + pack_start (flat_buttons, PACK_SHRINK); + pack_start (blink_rec_button, PACK_SHRINK); + pack_start (region_color_button, PACK_SHRINK); + pack_start (show_clipping_button, PACK_SHRINK); Gtk::HBox* hbox; @@ -137,7 +133,7 @@ ThemeManager::ThemeManager() hbox->set_spacing (6); hbox->pack_start (icon_set_label, false, false); hbox->pack_start (icon_set_dropdown, true, true); - vbox->pack_start (*hbox, PACK_SHRINK); + pack_start (*hbox, PACK_SHRINK); } @@ -145,13 +141,13 @@ ThemeManager::ThemeManager() hbox->set_spacing (6); hbox->pack_start (waveform_gradient_depth, true, true); hbox->pack_start (waveform_gradient_depth_label, false, false); - vbox->pack_start (*hbox, PACK_SHRINK); + pack_start (*hbox, PACK_SHRINK); hbox = Gtk::manage (new Gtk::HBox()); hbox->set_spacing (6); hbox->pack_start (timeline_item_gradient_depth, true, true); hbox->pack_start (timeline_item_gradient_depth_label, false, false); - vbox->pack_start (*hbox, PACK_SHRINK); + pack_start (*hbox, PACK_SHRINK); palette_group = initialize_palette_canvas (*palette_viewport.canvas()); palette_viewport.signal_size_allocate().connect (sigc::bind (sigc::mem_fun (*this, &ThemeManager::palette_canvas_allocated), palette_group, palette_viewport.canvas(), @@ -164,11 +160,9 @@ ThemeManager::ThemeManager() notebook.append_page (palette_scroller, _("Palette")); notebook.append_page (modifier_scroller, _("Modifiers")); - vbox->pack_start (notebook); - - vbox->show_all (); + pack_start (notebook); - add (*vbox); + show_all (); waveform_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED); timeline_item_gradient_depth.set_update_policy (Gtk::UPDATE_DELAYED); @@ -205,10 +199,6 @@ ThemeManager::ThemeManager() setup_aliases (); setup_modifiers (); - /* Trigger setting up the color scheme and loading the GTK RC file */ - - ARDOUR_UI::config()->load_rc_file (false); - ARDOUR_UI_UTILS::ColorsChanged.connect (sigc::mem_fun (*this, &ThemeManager::colors_changed)); } diff --git a/gtk2_ardour/theme_manager.h b/gtk2_ardour/theme_manager.h index e9a12b185e..87c66cf1ed 100644 --- a/gtk2_ardour/theme_manager.h +++ b/gtk2_ardour/theme_manager.h @@ -32,8 +32,6 @@ #include "canvas/types.h" #include "canvas/canvas.h" -#include "ardour_window.h" - #include "ui_config.h" namespace ArdourCanvas { @@ -43,7 +41,7 @@ namespace ArdourCanvas { class ArdourDialog; -class ThemeManager : public ArdourWindow +class ThemeManager : public Gtk::VBox { public: ThemeManager(); |