projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ViewWidget: Added mouse_down
[pulseview.git]
/
pv
/
view
/
viewwidget.cpp
diff --git
a/pv/view/viewwidget.cpp
b/pv/view/viewwidget.cpp
index 0b3b2fd1e233f962bc9f6b50417109e72582722b..e2b2d17295f3295bc429f550548d95545c3ca1f3 100644
(file)
--- a/
pv/view/viewwidget.cpp
+++ b/
pv/view/viewwidget.cpp
@@
-35,7
+35,7
@@
namespace view {
ViewWidget::ViewWidget(View &parent) :
QWidget(&parent),
view_(parent),
ViewWidget::ViewWidget(View &parent) :
QWidget(&parent),
view_(parent),
- dragging_(false)
+
item_
dragging_(false)
{
setFocusPolicy(Qt::ClickFocus);
setMouseTracking(true);
{
setFocusPolicy(Qt::ClickFocus);
setMouseTracking(true);
@@
-86,6
+86,12
@@
bool ViewWidget::accept_drag() const
return false;
}
return false;
}
+bool ViewWidget::mouse_down() const
+{
+ return mouse_down_point_.x() != INT_MIN &&
+ mouse_down_point_.y() != INT_MIN;
+}
+
void ViewWidget::drag_items(const QPoint &delta)
{
// Drag the row items
void ViewWidget::drag_items(const QPoint &delta)
{
// Drag the row items
@@
-157,7
+163,7
@@
void ViewWidget::mouse_left_release_event(QMouseEvent *event)
for (auto &i : items)
i->drag_release();
for (auto &i : items)
i->drag_release();
- if (dragging_)
+ if (
item_
dragging_)
view_.restack_all_row_items();
else
{
view_.restack_all_row_items();
else
{
@@
-171,7
+177,7
@@
void ViewWidget::mouse_left_release_event(QMouseEvent *event)
}
}
}
}
- dragging_ = false;
+
item_
dragging_ = false;
}
void ViewWidget::mousePressEvent(QMouseEvent *event)
}
void ViewWidget::mousePressEvent(QMouseEvent *event)
@@
-191,6
+197,7
@@
void ViewWidget::mouseReleaseEvent(QMouseEvent *event)
if (event->button() & Qt::LeftButton)
mouse_left_release_event(event);
if (event->button() & Qt::LeftButton)
mouse_left_release_event(event);
+ mouse_down_point_ = QPoint(INT_MIN, INT_MIN);
mouse_down_item_ = nullptr;
}
mouse_down_item_ = nullptr;
}
@@
-210,7
+217,7
@@
void ViewWidget::mouseMoveEvent(QMouseEvent *event)
return;
// Do the drag
return;
// Do the drag
- dragging_ = true;
+
item_
dragging_ = true;
drag_items(event->pos() - mouse_down_point_);
update();
drag_items(event->pos() - mouse_down_point_);
update();