projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Adjust trace view header width when signal names change
[pulseview.git]
/
pv
/
views
/
trace
/
view.cpp
diff --git
a/pv/views/trace/view.cpp
b/pv/views/trace/view.cpp
index bda056acbdec6c4a3a6521d22075507651b1dfde..269768669a5a44b8c94ac30c8ee7cbc9d2a2252f 100644
(file)
--- a/
pv/views/trace/view.cpp
+++ b/
pv/views/trace/view.cpp
@@
-253,6
+253,9
@@
void View::add_signal(const shared_ptr<Signal> signal)
{
ViewBase::add_signalbase(signal->base());
signals_.insert(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
}
#ifdef ENABLE_DECODE
@@
-266,6
+269,9
@@
void View::add_decode_signal(shared_ptr<data::DecodeSignal> signal)
shared_ptr<DecodeTrace> d(
new DecodeTrace(session_, signal, decode_traces_.size()));
decode_traces_.push_back(d);
shared_ptr<DecodeTrace> 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<data::DecodeSignal> signal)
}
void View::remove_decode_signal(shared_ptr<data::DecodeSignal> signal)
@@
-356,6
+362,9
@@
void View::restore_settings(QSettings &settings)
settings_restored_ = true;
suppress_zoom_to_fit_after_acq_ = true;
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<TimeItem> > View::time_items() const
}
vector< shared_ptr<TimeItem> > View::time_items() const
@@
-1084,6
+1093,12
@@
void View::extents_changed(bool horz, bool vert)
lazy_event_handler_.start();
}
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
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> signal : signals_)
+ signal->set_current_segment(current_segment_);
+
+ viewport_->update();
+}
+
void View::perform_delayed_view_update()
{
if (always_zoom_to_fit_) {
void View::perform_delayed_view_update()
{
if (always_zoom_to_fit_) {