13
0

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
This commit is contained in:
Carl Hetherington 2011-02-10 02:44:56 +00:00
parent 8ca49536e7
commit 4569f40a38
6 changed files with 40 additions and 1 deletions

View File

@ -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 ();

View File

@ -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 {

View File

@ -1904,3 +1904,9 @@ MixerStrip::plugin_selector()
{
return _mixer.plugin_selector();
}
void
MixerStrip::hide_things ()
{
processor_box.hide_things ();
}

View File

@ -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 */

View File

@ -384,6 +384,12 @@ PluginInsertProcessorEntry::plugin_insert_splitting_changed ()
}
}
void
PluginInsertProcessorEntry::hide_things ()
{
plugin_insert_splitting_changed ();
}
void
PluginInsertProcessorEntry::setup_visuals ()
{
@ -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,

View File

@ -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>);