X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fcursorheader.cpp;h=efc9205e06f05a3885b8bc11802420b6725abd54;hb=f106fc3a2d824745744d5c96039966434d56af64;hp=f79a5785d558f56b54a60b37605614d08f9b16c9;hpb=f4433aa958fb9c85ce82ef5545d722625cb64f9e;p=pulseview.git diff --git a/pv/view/cursorheader.cpp b/pv/view/cursorheader.cpp index f79a578..efc9205 100644 --- a/pv/view/cursorheader.cpp +++ b/pv/view/cursorheader.cpp @@ -49,7 +49,6 @@ CursorHeader::CursorHeader(View &parent) : MarginWidget(parent), textHeight_(calculateTextHeight()) { - setMouseTracking(true); } QSize CursorHeader::sizeHint() const @@ -100,7 +99,8 @@ void CursorHeader::mouseMoveEvent(QMouseEvent *e) for (auto &i : items) if (i->dragging()) i->set_time(view_.offset() + - (i->drag_point().x() + delta) * view_.scale()); + (i->drag_point().x() + delta - 0.5) * + view_.scale()); } void CursorHeader::mousePressEvent(QMouseEvent *e) @@ -113,9 +113,9 @@ void CursorHeader::mousePressEvent(QMouseEvent *e) clear_selection(); const vector< shared_ptr > 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; } @@ -156,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 > items(view_.time_items()); + for (auto &i : items) + if (i->selected()) + i->delete_pressed(); + } +} + } // namespace view } // namespace pv