X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fdecodetrace.cpp;h=f4ab55ffa3ee1cbca8246873057ce67b4b8e264b;hp=d8f04c582ef5a6c9c76696e344e034a52db6bace;hb=5b6ae10391736ab2f81de851686dee15bbcbf9f9;hpb=1ec191ed5406f1a6a7acb54472c66e7dc0554c20 diff --git a/pv/views/trace/decodetrace.cpp b/pv/views/trace/decodetrace.cpp index d8f04c5..f4ab55f 100644 --- a/pv/views/trace/decodetrace.cpp +++ b/pv/views/trace/decodetrace.cpp @@ -90,6 +90,8 @@ const double DecodeTrace::EndCapWidth = 5; const int DecodeTrace::RowTitleMargin = 10; const int DecodeTrace::DrawPadding = 100; +const int DecodeTrace::MaxTraceUpdateRate = 1; // No more than 1 Hz + const QColor DecodeTrace::Colours[16] = { QColor(0xEF, 0x29, 0x29), QColor(0xF6, 0x6A, 0x32), @@ -154,6 +156,11 @@ DecodeTrace::DecodeTrace(pv::Session &session, this, SLOT(on_delete_decoder(int))); connect(&show_hide_mapper_, SIGNAL(mapped(int)), this, SLOT(on_show_hide_decoder(int))); + + connect(&delayed_trace_updater_, SIGNAL(timeout()), + this, SLOT(on_delayed_trace_update())); + delayed_trace_updater_.setSingleShot(true); + delayed_trace_updater_.setInterval(1000 / MaxTraceUpdateRate); } bool DecodeTrace::enabled() const @@ -865,6 +872,12 @@ QComboBox* DecodeTrace::create_channel_selector_init_state(QWidget *parent, } void DecodeTrace::on_new_annotations() +{ + if (!delayed_trace_updater_.isActive()) + delayed_trace_updater_.start(); +} + +void DecodeTrace::on_delayed_trace_update() { if (owner_) owner_->row_item_appearance_changed(false, true);