projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed Header to respect the minimum drag distance
[pulseview.git]
/
pv
/
view
/
header.cpp
diff --git
a/pv/view/header.cpp
b/pv/view/header.cpp
index e084ecc94e55fe4a7390a0bc3f76aae2002e63e7..549b71918627b4bd1a6d0e01f2e20f6fe17994f6 100644
(file)
--- a/
pv/view/header.cpp
+++ b/
pv/view/header.cpp
@@
-41,7
+41,8
@@
namespace pv {
namespace view {
Header::Header(View &parent) :
namespace view {
Header::Header(View &parent) :
- MarginWidget(parent)
+ MarginWidget(parent),
+ _dragging(false)
{
setMouseTracking(true);
{
setMouseTracking(true);
@@
-152,6
+153,7
@@
void Header::mouseReleaseEvent(QMouseEvent *event)
{
assert(event);
if (event->button() == Qt::LeftButton) {
{
assert(event);
if (event->button() == Qt::LeftButton) {
+ _dragging = false;
_drag_traces.clear();
_view.normalize_layout();
}
_drag_traces.clear();
_view.normalize_layout();
}
@@
-162,8
+164,18
@@
void Header::mouseMoveEvent(QMouseEvent *event)
assert(event);
_mouse_point = event->pos();
assert(event);
_mouse_point = event->pos();
+ if (!(event->buttons() & Qt::LeftButton))
+ return;
+
+ if ((event->pos() - _mouse_down_point).manhattanLength() <
+ QApplication::startDragDistance())
+ return;
+
// Move the signals if we are dragging
// Move the signals if we are dragging
- if (!_drag_traces.empty()) {
+ if (!_drag_traces.empty())
+ {
+ _dragging = true;
+
const int delta = event->pos().y() - _mouse_down_point.y();
for (std::list<std::pair<boost::weak_ptr<Trace>,
const int delta = event->pos().y() - _mouse_down_point.y();
for (std::list<std::pair<boost::weak_ptr<Trace>,