X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=269768669a5a44b8c94ac30c8ee7cbc9d2a2252f;hb=00c518d66a61f28609b0eeddd0ce375d0002da94;hp=bda056acbdec6c4a3a6521d22075507651b1dfde;hpb=873e80357d9622678069fcfe83b010717a68284c;p=pulseview.git diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index bda056a..2697686 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -253,6 +253,9 @@ void View::add_signal(const shared_ptr signal) { ViewBase::add_signalbase(signal->base()); signals_.insert(signal); + + connect(signal->base().get(), SIGNAL(name_changed(const QString&)), + this, SLOT(on_signal_name_changed())); } #ifdef ENABLE_DECODE @@ -266,6 +269,9 @@ void View::add_decode_signal(shared_ptr signal) shared_ptr d( new DecodeTrace(session_, signal, decode_traces_.size())); decode_traces_.push_back(d); + + connect(signal.get(), SIGNAL(name_changed(const QString&)), + this, SLOT(on_signal_name_changed())); } void View::remove_decode_signal(shared_ptr signal) @@ -356,6 +362,9 @@ void View::restore_settings(QSettings &settings) settings_restored_ = true; suppress_zoom_to_fit_after_acq_ = true; + + // Update the ruler so that it uses the new scale + calculate_tick_spacing(); } vector< shared_ptr > View::time_items() const @@ -1084,6 +1093,12 @@ void View::extents_changed(bool horz, bool vert) lazy_event_handler_.start(); } +void View::on_signal_name_changed() +{ + if (!header_was_shrunk()) + expand_header_to_fit(); +} + void View::on_splitter_moved() { // Setting the maximum width of the header widget doesn't work as @@ -1360,6 +1375,16 @@ void View::capture_state_updated(int state) } } +void View::on_segment_changed(int segment) +{ + current_segment_ = segment - 1; + + for (shared_ptr signal : signals_) + signal->set_current_segment(current_segment_); + + viewport_->update(); +} + void View::perform_delayed_view_update() { if (always_zoom_to_fit_) {