X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fview.cpp;h=99e75bfdc9ec72de6281d86b3d922e626a5911a5;hp=0070c743e8d13de97747b356aeb49d287cc847cc;hb=d9b55cc8ab01e83b392762ed1fa400fdafafb60b;hpb=2099158e1e3a95c03d8d393921d4171f9bd1379c diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 0070c743..99e75bfd 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -385,7 +386,7 @@ void View::restore_settings(QSettings &settings) boost::archive::text_iarchive ia(ss); ia >> boost::serialization::make_nvp("ruler_shift", shift); ruler_shift_ = shift; - } catch (boost::archive::archive_exception) { + } catch (boost::archive::archive_exception&) { qDebug() << "Could not restore the view ruler shift"; } } @@ -400,7 +401,7 @@ void View::restore_settings(QSettings &settings) ia >> boost::serialization::make_nvp("offset", offset); // This also updates ruler_offset_ set_offset(offset); - } catch (boost::archive::archive_exception) { + } catch (boost::archive::archive_exception&) { qDebug() << "Could not restore the view offset"; } } @@ -1251,6 +1252,17 @@ bool View::eventFilter(QObject *object, QEvent *event) return QObject::eventFilter(object, event); } +void View::contextMenuEvent(QContextMenuEvent *event) +{ + const shared_ptr r = viewport_->get_mouse_over_item(event->pos()); + if (!r) + return; + + QMenu *menu = r->create_view_context_menu(this); + if (menu) + menu->exec(event->globalPos()); +} + void View::resizeEvent(QResizeEvent* event) { // Only adjust the top margin if we shrunk vertically @@ -1297,6 +1309,7 @@ void View::extents_changed(bool horz, bool vert) (horz ? TraceTreeItemHExtentsChanged : 0) | (vert ? TraceTreeItemVExtentsChanged : 0); + lazy_event_handler_.stop(); lazy_event_handler_.start(); }