]> sigrok.org Git - pulseview.git/blobdiff - pv/view/cursorheader.cpp
Flag: Added delete key support
[pulseview.git] / pv / view / cursorheader.cpp
index c324410a75cb873aaed571cea402f23981ad36ec..efc9205e06f05a3885b8bc11802420b6725abd54 100644 (file)
@@ -49,7 +49,6 @@ CursorHeader::CursorHeader(View &parent) :
        MarginWidget(parent),
        textHeight_(calculateTextHeight())
 {
-       setMouseTracking(true);
 }
 
 QSize CursorHeader::sizeHint() const
@@ -114,9 +113,9 @@ void CursorHeader::mousePressEvent(QMouseEvent *e)
                clear_selection();
 
                const vector< shared_ptr<TimeItem> > items(view_.time_items());
-               for (auto &i : items)
-                       if (i && i->label_rect(rect()).contains(e->pos())) {
-                               mouse_down_item_ = i;
+               for (auto i = items.rbegin(); i != items.rend(); i++)
+                       if ((*i)->label_rect(rect()).contains(e->pos())) {
+                               mouse_down_item_ = (*i);
                                break;
                        }
 
@@ -157,5 +156,23 @@ void CursorHeader::leaveEvent(QEvent*)
        update();
 }
 
+void CursorHeader::mouseDoubleClickEvent(QMouseEvent *e)
+{
+       view_.add_flag(view_.offset() + ((double)e->x() + 0.5) * view_.scale());
+}
+
+void CursorHeader::keyPressEvent(QKeyEvent *e)
+{
+       assert(e);
+
+       if (e->key() == Qt::Key_Delete)
+       {
+               const vector< shared_ptr<TimeItem> > items(view_.time_items());
+               for (auto &i : items)
+                       if (i->selected())
+                               i->delete_pressed();
+       }
+}
+
 } // namespace view
 } // namespace pv