Fixed refresh of strip and track hide buttons.

git-svn-id: svn://localhost/ardour2/trunk@1122 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Taybin Rutkin 2006-11-13 03:49:00 +00:00
parent e8a2bf9b49
commit 40ee34e43e
5 changed files with 72 additions and 54 deletions

View file

@ -402,8 +402,13 @@ AutomationTimeAxisView::set_samples_per_unit (double spu)
void void
AutomationTimeAxisView::hide_clicked () AutomationTimeAxisView::hide_clicked ()
{ {
// LAME fix for refreshing the hide button
hide_button.set_sensitive(false);
set_marked_for_display (false); set_marked_for_display (false);
hide (); hide ();
hide_button.set_sensitive(true);
} }
void void

View file

@ -124,34 +124,31 @@ MixerStrip::MixerStrip (Mixer_UI& mx, Session& sess, boost::shared_ptr<Route> rt
output_label.set_name ("MixerIOButtonLabel"); output_label.set_name ("MixerIOButtonLabel");
_route->meter_change.connect (mem_fun(*this, &MixerStrip::meter_changed)); _route->meter_change.connect (mem_fun(*this, &MixerStrip::meter_changed));
meter_point_button.add (meter_point_label); meter_point_button.add (meter_point_label);
meter_point_button.set_name ("MixerStripMeterPreButton"); meter_point_button.set_name ("MixerStripMeterPreButton");
meter_point_label.set_name ("MixerStripMeterPreButton"); meter_point_label.set_name ("MixerStripMeterPreButton");
switch (_route->meter_point()) {
case MeterInput:
meter_point_label.set_text (_("input"));
break;
switch (_route->meter_point()) { case MeterPreFader:
case MeterInput: meter_point_label.set_text (_("pre"));
meter_point_label.set_text (_("input")); break;
break;
case MeterPreFader:
meter_point_label.set_text (_("pre"));
break;
case MeterPostFader:
meter_point_label.set_text (_("post"));
break;
}
/* TRANSLATORS: this string should be longest of the strings case MeterPostFader:
used to describe meter points. In english, its "input". meter_point_label.set_text (_("post"));
*/ break;
}
set_size_request_to_display_given_text (meter_point_button, _("tupni"), 5, 5);
/* TRANSLATORS: this string should be longest of the strings
used to describe meter points. In english, it's "input".
bottom_button_table.attach (meter_point_button, 1, 2, 0, 1); */
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); meter_point_button.signal_button_press_event().connect (mem_fun (gpm, &GainMeter::meter_press), false);
/* XXX what is this meant to do? */ /* XXX what is this meant to do? */
//meter_point_button.signal_button_release_event().connect (mem_fun (gpm, &GainMeter::meter_release), false); //meter_point_button.signal_button_release_event().connect (mem_fun (gpm, &GainMeter::meter_release), false);
@ -1092,11 +1089,17 @@ MixerStrip::width_clicked ()
void void
MixerStrip::hide_clicked () MixerStrip::hide_clicked ()
{ {
// LAME fix to reset the button status for when it is redisplayed (part 1)
hide_button.set_sensitive(false);
if (_embedded) { if (_embedded) {
Hiding(); /* EMIT_SIGNAL */ Hiding(); /* EMIT_SIGNAL */
} else { } else {
_mixer.hide_strip (this); _mixer.hide_strip (this);
} }
// (part 2)
hide_button.set_sensitive(true);
} }
void void

View file

@ -393,11 +393,11 @@ Mixer_UI::disconnect_from_session ()
void void
Mixer_UI::show_strip (MixerStrip* ms) Mixer_UI::show_strip (MixerStrip* ms)
{ {
TreeModel::Children rows = track_model->children(); TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i; TreeModel::Children::iterator i;
for (i = rows.begin(); i != rows.end(); ++i) { for (i = rows.begin(); i != rows.end(); ++i) {
MixerStrip* strip = (*i)[track_columns.strip]; MixerStrip* strip = (*i)[track_columns.strip];
if (strip == ms) { if (strip == ms) {
(*i)[track_columns.visible] = true; (*i)[track_columns.visible] = true;
@ -409,7 +409,7 @@ Mixer_UI::show_strip (MixerStrip* ms)
void void
Mixer_UI::hide_strip (MixerStrip* ms) Mixer_UI::hide_strip (MixerStrip* ms)
{ {
TreeModel::Children rows = track_model->children(); TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i; TreeModel::Children::iterator i;
for (i = rows.begin(); i != rows.end(); ++i) { for (i = rows.begin(); i != rows.end(); ++i) {
@ -419,37 +419,37 @@ Mixer_UI::hide_strip (MixerStrip* ms)
(*i)[track_columns.visible] = false; (*i)[track_columns.visible] = false;
break; break;
} }
} }
} }
gint gint
Mixer_UI::start_updating () Mixer_UI::start_updating ()
{ {
fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips)); fast_screen_update_connection = ARDOUR_UI::instance()->SuperRapidScreenUpdate.connect (mem_fun(*this, &Mixer_UI::fast_update_strips));
return 0; return 0;
} }
gint gint
Mixer_UI::stop_updating () Mixer_UI::stop_updating ()
{ {
fast_screen_update_connection.disconnect(); fast_screen_update_connection.disconnect();
return 0; return 0;
} }
void void
Mixer_UI::fast_update_strips () Mixer_UI::fast_update_strips ()
{ {
if (is_mapped () && session) { if (is_mapped () && session) {
for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) { for (list<MixerStrip *>::iterator i = strips.begin(); i != strips.end(); ++i) {
(*i)->fast_update (); (*i)->fast_update ();
} }
} }
} }
void void
Mixer_UI::set_all_strips_visibility (bool yn) Mixer_UI::set_all_strips_visibility (bool yn)
{ {
TreeModel::Children rows = track_model->children(); TreeModel::Children rows = track_model->children();
TreeModel::Children::iterator i; TreeModel::Children::iterator i;
no_track_list_redisplay = true; no_track_list_redisplay = true;

View file

@ -1122,7 +1122,12 @@ RouteTimeAxisView::visual_click ()
void void
RouteTimeAxisView::hide_click () RouteTimeAxisView::hide_click ()
{ {
// LAME fix for hide_button refresh fix
hide_button.set_sensitive(false);
editor.hide_track_in_display (*this); editor.hide_track_in_display (*this);
hide_button.set_sensitive(true);
} }
boost::shared_ptr<Region> boost::shared_ptr<Region>

View file

@ -199,7 +199,12 @@ VisualTimeAxis::visual_click()
void void
VisualTimeAxis::hide_click() VisualTimeAxis::hide_click()
{ {
// LAME fix for hide_button display refresh
hide_button.set_sensitive(false);
editor.hide_track_in_display (*this); editor.hide_track_in_display (*this);
hide_button.set_sensitive(true);
} }