diff options
author | Carl Hetherington <carl@carlh.net> | 2011-02-10 02:44:56 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2011-02-10 02:44:56 +0000 |
commit | 4569f40a3809ced81374550642bc053202211bc2 (patch) | |
tree | e9c0fc3b4eba8bd340e8d9352ec5989a57180480 | |
parent | 8ca49536e78b67c190036bcd17c0f26214ae36ff (diff) |
Prevent erroneous splitting icons in the editor mixer strip's processor box.
git-svn-id: svn://localhost/ardour2/branches/3.0@8816 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r-- | gtk2_ardour/editor.cc | 9 | ||||
-rw-r--r-- | gtk2_ardour/editor_mixer.cc | 2 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.cc | 6 | ||||
-rw-r--r-- | gtk2_ardour/mixer_strip.h | 2 | ||||
-rw-r--r-- | gtk2_ardour/processor_box.cc | 15 | ||||
-rw-r--r-- | gtk2_ardour/processor_box.h | 7 |
6 files changed, 40 insertions, 1 deletions
diff --git a/gtk2_ardour/editor.cc b/gtk2_ardour/editor.cc index 9cb680463e..4a18d0c813 100644 --- a/gtk2_ardour/editor.cc +++ b/gtk2_ardour/editor.cc @@ -816,6 +816,11 @@ Editor::show_window () if (!is_visible ()) { show_all (); + /* XXX: this is a bit unfortunate; it would probably + be nicer if we could just call show () above rather + than needing the show_all () + */ + /* re-hide stuff if necessary */ editor_list_button_toggled (); parameter_changed ("show-summary"); @@ -832,6 +837,10 @@ Editor::show_window () tv = (static_cast<TimeAxisView*>(*i)); tv->reset_height (); } + + if (current_mixer_strip) { + current_mixer_strip->hide_things (); + } } present (); diff --git a/gtk2_ardour/editor_mixer.cc b/gtk2_ardour/editor_mixer.cc index ec71892235..ae045d7a45 100644 --- a/gtk2_ardour/editor_mixer.cc +++ b/gtk2_ardour/editor_mixer.cc @@ -121,7 +121,7 @@ Editor::show_editor_mixer (bool yn) if (current_mixer_strip->get_parent() == 0) { global_hpacker.pack_start (*current_mixer_strip, Gtk::PACK_SHRINK ); global_hpacker.reorder_child (*current_mixer_strip, 0); - current_mixer_strip->show_all (); + current_mixer_strip->show (); } } else { diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 33b012aebb..8794381229 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -1904,3 +1904,9 @@ MixerStrip::plugin_selector() { return _mixer.plugin_selector(); } + +void +MixerStrip::hide_things () +{ + processor_box.hide_things (); +} diff --git a/gtk2_ardour/mixer_strip.h b/gtk2_ardour/mixer_strip.h index fb56c5284b..58eb2a0e19 100644 --- a/gtk2_ardour/mixer_strip.h +++ b/gtk2_ardour/mixer_strip.h @@ -107,6 +107,8 @@ class MixerStrip : public RouteUI, public Gtk::EventBox return _mixer_owned; } + void hide_things (); + sigc::signal<void> WidthChanged; /** The delivery that we are handling the level for with our fader has changed */ diff --git a/gtk2_ardour/processor_box.cc b/gtk2_ardour/processor_box.cc index c5454d59aa..6019f20f7f 100644 --- a/gtk2_ardour/processor_box.cc +++ b/gtk2_ardour/processor_box.cc @@ -385,6 +385,12 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed () } void +PluginInsertProcessorEntry::hide_things () +{ + plugin_insert_splitting_changed (); +} + +void PluginInsertProcessorEntry::setup_visuals () { switch (_position) { @@ -2285,6 +2291,15 @@ ProcessorBox::mixer_strip_delivery_changed (boost::weak_ptr<Delivery> w) } } +void +ProcessorBox::hide_things () +{ + list<ProcessorEntry*> c = processor_display.children (); + for (list<ProcessorEntry*>::iterator i = c.begin(); i != c.end(); ++i) { + (*i)->hide_things (); + } +} + ProcessorWindowProxy::ProcessorWindowProxy ( string const & name, XMLNode const * node, diff --git a/gtk2_ardour/processor_box.h b/gtk2_ardour/processor_box.h index a6395fc4ef..bd5f18b947 100644 --- a/gtk2_ardour/processor_box.h +++ b/gtk2_ardour/processor_box.h @@ -119,6 +119,9 @@ public: void set_enum_width (Width); virtual void set_pixel_width (int) {} + /** Hide any widgets that should be hidden */ + virtual void hide_things () {} + protected: virtual void setup_visuals (); @@ -173,6 +176,8 @@ class PluginInsertProcessorEntry : public ProcessorEntry public: PluginInsertProcessorEntry (boost::shared_ptr<ARDOUR::PluginInsert>, Width); + void hide_things (); + private: void setup_visuals (); void plugin_insert_splitting_changed (); @@ -206,6 +211,8 @@ class ProcessorBox : public Gtk::HBox, public PluginInterestedObject, public ARD void select_all_inserts (); void select_all_sends (); + void hide_things (); + Gtk::Window* get_processor_ui (boost::shared_ptr<ARDOUR::Processor>) const; void toggle_edit_processor (boost::shared_ptr<ARDOUR::Processor>); |