From: Taybin Rutkin Date: Mon, 13 Nov 2006 03:49:00 +0000 (+0000) Subject: Fixed refresh of strip and track hide buttons. X-Git-Tag: 2.0beta10~140 X-Git-Url: https://main.carlh.net/gitweb/?a=commitdiff_plain;h=40ee34e43e6c642d88c5d497d2d29db21b059c68;p=ardour.git Fixed refresh of strip and track hide buttons. git-svn-id: svn://localhost/ardour2/trunk@1122 d708f5d6-7413-0410-9779-e7cbd77b26cf --- diff --git a/gtk2_ardour/automation_time_axis.cc b/gtk2_ardour/automation_time_axis.cc index 22b6e10ac8..147e6ff0d1 100644 --- a/gtk2_ardour/automation_time_axis.cc +++ b/gtk2_ardour/automation_time_axis.cc @@ -402,8 +402,13 @@ AutomationTimeAxisView::set_samples_per_unit (double spu) void AutomationTimeAxisView::hide_clicked () { + // LAME fix for refreshing the hide button + hide_button.set_sensitive(false); + set_marked_for_display (false); hide (); + + hide_button.set_sensitive(true); } void diff --git a/gtk2_ardour/mixer_strip.cc b/gtk2_ardour/mixer_strip.cc index 76cce057ee..dd60c51941 100644 --- a/gtk2_ardour/mixer_strip.cc +++ b/gtk2_ardour/mixer_strip.cc @@ -124,34 +124,31 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr rt output_label.set_name ("MixerIOButtonLabel"); _route->meter_change.connect (mem_fun(*this, &MixerStrip::meter_changed)); - meter_point_button.add (meter_point_label); - meter_point_button.set_name ("MixerStripMeterPreButton"); - meter_point_label.set_name ("MixerStripMeterPreButton"); - - switch (_route->meter_point()) { - case MeterInput: - meter_point_label.set_text (_("input")); - break; - - case MeterPreFader: - meter_point_label.set_text (_("pre")); - break; - - case MeterPostFader: - meter_point_label.set_text (_("post")); - break; - } + meter_point_button.add (meter_point_label); + meter_point_button.set_name ("MixerStripMeterPreButton"); + meter_point_label.set_name ("MixerStripMeterPreButton"); + + switch (_route->meter_point()) { + case MeterInput: + meter_point_label.set_text (_("input")); + break; - /* TRANSLATORS: this string should be longest of the strings - used to describe meter points. In english, its "input". - */ + case MeterPreFader: + meter_point_label.set_text (_("pre")); + break; - set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5); - - - bottom_button_table.attach (meter_point_button, 1, 2, 0, 1); - - + case MeterPostFader: + meter_point_label.set_text (_("post")); + break; + } + + /* TRANSLATORS: this string should be longest of the strings + used to describe meter points. In english, it's "input". + */ + set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5); + + bottom_button_table.attach (meter_point_button, 1, 2, 0, 1); + meter_point_button.signal_button_press_event().connect (mem_fun (gpm, &GainMeter::meter_press), false); /* XXX what is this meant to do? */ //meter_point_button.signal_button_release_event().connect (mem_fun (gpm, &GainMeter::meter_release), false); @@ -1092,11 +1089,17 @@ MixerStrip::width_clicked () void MixerStrip::hide_clicked () { + // LAME fix to reset the button status for when it is redisplayed (part 1) + hide_button.set_sensitive(false); + if (_embedded) { Hiding(); /* EMIT_SIGNAL */ } else { _mixer.hide_strip (this); } + + // (part 2) + hide_button.set_sensitive(true); } void diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc index 1ba1be445e..ff3f7eb25f 100644 --- a/gtk2_ardour/mixer_ui.cc +++ b/gtk2_ardour/mixer_ui.cc @@ -393,11 +393,11 @@ Mixer_UI::disconnect_from_session () void Mixer_UI::show_strip (MixerStrip* ms) { - TreeModel::Children rows = track_model->children(); + TreeModel::Children rows = track_model->children(); TreeModel::Children::iterator i; - + for (i = rows.begin(); i != rows.end(); ++i) { - + MixerStrip* strip = (*i)[track_columns.strip]; if (strip == ms) { (*i)[track_columns.visible] = true; @@ -409,7 +409,7 @@ Mixer_UI::show_strip (MixerStrip* ms) void Mixer_UI::hide_strip (MixerStrip* ms) { - TreeModel::Children rows = track_model->children(); + TreeModel::Children rows = track_model->children(); TreeModel::Children::iterator i; for (i = rows.begin(); i != rows.end(); ++i) { @@ -419,37 +419,37 @@ Mixer_UI::hide_strip (MixerStrip* ms) (*i)[track_columns.visible] = false; break; } - } - } + } +} - gint - Mixer_UI::start_updating () - { - fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips)); - return 0; - } +gint +Mixer_UI::start_updating () +{ + fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips)); + return 0; +} - gint - Mixer_UI::stop_updating () - { - fast_screen_update_connection.disconnect(); - return 0; - } +gint +Mixer_UI::stop_updating () +{ + fast_screen_update_connection.disconnect(); + return 0; +} - void - Mixer_UI::fast_update_strips () - { - if (is_mapped () && session) { - for (list::iterator i = strips.begin(); i != strips.end(); ++i) { - (*i)->fast_update (); - } - } - } +void +Mixer_UI::fast_update_strips () +{ + if (is_mapped () && session) { + for (list::iterator i = strips.begin(); i != strips.end(); ++i) { + (*i)->fast_update (); + } + } +} void Mixer_UI::set_all_strips_visibility (bool yn) { - TreeModel::Children rows = track_model->children(); + TreeModel::Children rows = track_model->children(); TreeModel::Children::iterator i; no_track_list_redisplay = true; diff --git a/gtk2_ardour/route_time_axis.cc b/gtk2_ardour/route_time_axis.cc index 22f0969105..7769a185c7 100644 --- a/gtk2_ardour/route_time_axis.cc +++ b/gtk2_ardour/route_time_axis.cc @@ -1122,7 +1122,12 @@ RouteTimeAxisView::visual_click () void RouteTimeAxisView::hide_click () { + // LAME fix for hide_button refresh fix + hide_button.set_sensitive(false); + editor.hide_track_in_display (*this); + + hide_button.set_sensitive(true); } boost::shared_ptr diff --git a/gtk2_ardour/visual_time_axis.cc b/gtk2_ardour/visual_time_axis.cc index fc71795a71..24cafdbe67 100644 --- a/gtk2_ardour/visual_time_axis.cc +++ b/gtk2_ardour/visual_time_axis.cc @@ -199,7 +199,12 @@ VisualTimeAxis::visual_click() void VisualTimeAxis::hide_click() { + // LAME fix for hide_button display refresh + hide_button.set_sensitive(false); + editor.hide_track_in_display (*this); + + hide_button.set_sensitive(true); }