Before, decode traces sometimes switched places when opening a
class selector because max_visible_rows was reset to 0 which
makes v_extents() return a value so small that the next decode
trace would move up.
Also, triggering the lazy event handler was changed so that it
fires even when it's triggered several times. Before, it would
always reset and only fire once, after the triggering stopped.
That is undesirable when a class selector opens.
pair<int, int> DecodeTrace::v_extents() const
{
// Make an empty decode trace appear symmetrical
pair<int, int> DecodeTrace::v_extents() const
{
// Make an empty decode trace appear symmetrical
- if (max_visible_rows_ == 0)
+ if (visible_rows_ == 0)
return make_pair(-default_row_height_, default_row_height_);
unsigned int height = 0;
return make_pair(-default_row_height_, default_row_height_);
unsigned int height = 0;
connect(&lazy_event_handler_, SIGNAL(timeout()),
this, SLOT(process_sticky_events()));
lazy_event_handler_.setSingleShot(true);
connect(&lazy_event_handler_, SIGNAL(timeout()),
this, SLOT(process_sticky_events()));
lazy_event_handler_.setSingleShot(true);
+ lazy_event_handler_.setInterval(1000 / ViewBase::MaxViewAutoUpdateRate);
// Set up local keyboard shortcuts
zoom_in_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Plus), this,
// Set up local keyboard shortcuts
zoom_in_shortcut_ = new QShortcut(QKeySequence(Qt::Key_Plus), this,
(horz ? TraceTreeItemHExtentsChanged : 0) |
(vert ? TraceTreeItemVExtentsChanged : 0);
(horz ? TraceTreeItemHExtentsChanged : 0) |
(vert ? TraceTreeItemVExtentsChanged : 0);
- lazy_event_handler_.stop();
- lazy_event_handler_.start();
+ if (!lazy_event_handler_.isActive())
+ lazy_event_handler_.start();
}
void View::on_signal_name_changed()
}
void View::on_signal_name_changed()