]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/cursorpair.cpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / pv / views / trace / cursorpair.cpp
index 81688337f94e238c8eaaf0310a54d5ced35a1ee4..ec7b75addd75180b9b26d288c4b1a20cb805fae9 100644 (file)
@@ -125,37 +125,40 @@ QMenu *CursorPair::create_header_context_menu(QWidget *parent)
 {
        QMenu *menu = new QMenu(parent);
 
-       QAction *displayIntervalAction = new QAction(tr("Display interval"));
+       QAction *displayIntervalAction = new QAction(tr("Display interval"), this);
        displayIntervalAction->setCheckable(true);
        displayIntervalAction->setChecked(show_interval_);
        menu->addAction(displayIntervalAction);
 
-       connect(displayIntervalAction, &QAction::toggled, [=]{
-               GlobalSettings settings;
-               settings.setValue(GlobalSettings::Key_View_CursorShowInterval,
-                       !settings.value(GlobalSettings::Key_View_CursorShowInterval).value<bool>());
+       connect(displayIntervalAction, &QAction::toggled, displayIntervalAction,
+               [=]{
+                       GlobalSettings settings;
+                       settings.setValue(GlobalSettings::Key_View_CursorShowInterval,
+                               !settings.value(GlobalSettings::Key_View_CursorShowInterval).value<bool>());
                });
 
-       QAction *displayFrequencyAction = new QAction(tr("Display frequency"));
+       QAction *displayFrequencyAction = new QAction(tr("Display frequency"), this);
        displayFrequencyAction->setCheckable(true);
        displayFrequencyAction->setChecked(show_frequency_);
        menu->addAction(displayFrequencyAction);
 
-       connect(displayFrequencyAction, &QAction::toggled, [=]{
-               GlobalSettings settings;
-               settings.setValue(GlobalSettings::Key_View_CursorShowFrequency,
-                       !settings.value(GlobalSettings::Key_View_CursorShowFrequency).value<bool>());
+       connect(displayFrequencyAction, &QAction::toggled, displayFrequencyAction,
+               [=]{
+                       GlobalSettings settings;
+                       settings.setValue(GlobalSettings::Key_View_CursorShowFrequency,
+                               !settings.value(GlobalSettings::Key_View_CursorShowFrequency).value<bool>());
                });
 
-       QAction *displaySamplesAction = new QAction(tr("Display samples"));
+       QAction *displaySamplesAction = new QAction(tr("Display samples"), this);
        displaySamplesAction->setCheckable(true);
        displaySamplesAction->setChecked(show_samples_);
        menu->addAction(displaySamplesAction);
 
-       connect(displaySamplesAction, &QAction::toggled, [=]{
-               GlobalSettings settings;
-               settings.setValue(GlobalSettings::Key_View_CursorShowSamples,
-                       !settings.value(GlobalSettings::Key_View_CursorShowSamples).value<bool>());
+       connect(displaySamplesAction, &QAction::toggled, displaySamplesAction,
+               [=]{
+                       GlobalSettings settings;
+                       settings.setValue(GlobalSettings::Key_View_CursorShowSamples,
+                               !settings.value(GlobalSettings::Key_View_CursorShowSamples).value<bool>());
                });
 
        return menu;
@@ -199,11 +202,13 @@ void CursorPair::paint_label(QPainter &p, const QRect &rect, bool hover)
 
        text_size_ = p.boundingRect(QRectF(), 0, text).size();
 
+       /* Currently, selecting the middle section between two cursors doesn't do
+        * anything, so don't highlight it when selected
        if (selected()) {
                p.setBrush(Qt::transparent);
                p.setPen(highlight_pen());
                p.drawRoundedRect(delta_rect, radius, radius);
-       }
+       } */
 
        p.setBrush(hover ? Cursor::FillColor.lighter() : Cursor::FillColor);
        p.setPen(Cursor::FillColor.darker());