X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmixer_ui.cc;h=1e175d2fd3628e590d4424e981d44d36b8d9ee7f;hb=2449fc9681ba62eda3f3a42904a3691fe022954d;hp=77f5f45a5601f1547c45fc3437c8a9ed35b236bc;hpb=96171ebe838137814e729e36ad904a307df55f4d;p=ardour.git diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 77f5f45a56..1e175d2fd3 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -120,7 +120,7 @@ Mixer_UI::Mixer_UI () b->show_all (); scroller.add (*b); - scroller.set_policy (Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC); + scroller.set_policy (Gtk::POLICY_ALWAYS, Gtk::POLICY_AUTOMATIC); setup_track_display (); @@ -246,8 +246,6 @@ Mixer_UI::Mixer_UI () MixerStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Mixer_UI::remove_strip, this, _1), gui_context()); - MonitorSection::setup_knob_images (); - #ifndef DEFER_PLUGIN_SELECTOR_LOAD _plugin_selector = new PluginSelector (PluginManager::instance ()); #endif @@ -293,7 +291,7 @@ Mixer_UI::show_window () ms = (*ri)[track_columns.strip]; ms->set_width_enum (ms->get_width_enum (), ms->width_owner()); /* Fix visibility of mixer strip stuff */ - ms->parameter_changed (X_("mixer-strip-visibility")); + ms->parameter_changed (X_("mixer-element-visibility")); } } @@ -412,6 +410,13 @@ Mixer_UI::deselect_all_strip_processors () } } +void +Mixer_UI::select_none () +{ + _selection.clear_routes(); + deselect_all_strip_processors(); +} + void Mixer_UI::delete_processors () { @@ -671,6 +676,7 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip) vector tmp; bool accumulate = false; + bool found_another = false; tmp.push_back (strip); @@ -689,6 +695,7 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip) /* hit selected strip. if currently accumulating others, we're done. if not accumulating others, start doing so. */ + found_another = true; if (accumulate) { /* done */ break; @@ -702,9 +709,12 @@ Mixer_UI::strip_button_release_event (GdkEventButton *ev, MixerStrip *strip) } } - for (vector::iterator i = tmp.begin(); i != tmp.end(); ++i) { - _selection.add (*i); - } + if (found_another) { + for (vector::iterator i = tmp.begin(); i != tmp.end(); ++i) { + _selection.add (*i); + } + } else + _selection.set (strip); //user wants to start a range selection, but there aren't any others selected yet } } else {