PBD::Signal1<void,MeterStrip*> MeterStrip::CatchDeletion;
PBD::Signal0<void> MeterStrip::MetricChanged;
+PBD::Signal0<void> MeterStrip::ConfigurationChanged;
MeterStrip::MeterStrip (int metricmode, MeterType mt)
: AxisView(0)
_has_midi = true;
}
- if (old_has_midi != _has_midi) MetricChanged();
on_theme_changed();
+ if (old_has_midi != _has_midi) MetricChanged();
+ else ConfigurationChanged();
}
void
static PBD::Signal1<void,MeterStrip*> CatchDeletion;
static PBD::Signal0<void> MetricChanged;
+ static PBD::Signal0<void> ConfigurationChanged;
void reset_peak_display ();
void reset_route_peak_display (ARDOUR::Route*);
Route::SyncOrderKeys.connect (*this, invalidator (*this), boost::bind (&Meterbridge::sync_order_keys, this, _1), gui_context());
MeterStrip::CatchDeletion.connect (*this, invalidator (*this), boost::bind (&Meterbridge::remove_strip, this, _1), gui_context());
MeterStrip::MetricChanged.connect (*this, invalidator (*this), boost::bind(&Meterbridge::resync_order, this), gui_context());
+ MeterStrip::ConfigurationChanged.connect (*this, invalidator (*this), boost::bind(&Meterbridge::queue_resize, this), gui_context());
/* work around ScrolledWindowViewport alignment mess Part one */
Gtk::HBox * yspc = manage (new Gtk::HBox());
Gtk::Window::on_size_request(r);
Gdk::Geometry geom;
- geom.max_width = meterarea.get_width() + metrics_left.get_width() + metrics_right.get_width();
+ Gtk::Requisition mr = meterarea.size_request();
+ geom.max_width = mr.width + metrics_left.get_width() + metrics_right.get_width();
geom.max_height = max_height;
if (cur_max_width != geom.max_width) {