┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/selectiontoggle.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2009-02-17 21:54:25 +0000
committerPeter Penz <[email protected]>2009-02-17 21:54:25 +0000
commit85dbeb2598c5e57235e4c8df0239ce8fe89dea6e (patch)
treebd6661926cfd82016452137b1616c76f768f6393 /src/selectiontoggle.cpp
parent684ab89c7d92fc1807f09cf15924b8149049eb4b (diff)
Don't rely on the m_isHovered flag, explicitely check the left mouse button instead.
svn path=/trunk/KDE/kdebase/apps/; revision=927602
Diffstat (limited to 'src/selectiontoggle.cpp')
-rw-r--r--src/selectiontoggle.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/selectiontoggle.cpp b/src/selectiontoggle.cpp
index 01cfed0f3..5c573811e 100644
--- a/src/selectiontoggle.cpp
+++ b/src/selectiontoggle.cpp
@@ -34,6 +34,7 @@
SelectionToggle::SelectionToggle(QWidget* parent) :
QAbstractButton(parent),
m_isHovered(false),
+ m_leftMouseButtonPressed(false),
m_fadingValue(0),
m_icon(),
m_fadingTimeLine(0)
@@ -96,7 +97,7 @@ bool SelectionToggle::eventFilter(QObject* obj, QEvent* event)
break;
case QEvent::MouseMove:
- if (m_isHovered) {
+ if (m_leftMouseButtonPressed) {
// Don't forward mouse move events to the viewport,
// otherwise a rubberband selection will be shown when
// clicking on the selection toggle and moving the mouse
@@ -136,6 +137,18 @@ void SelectionToggle::leaveEvent(QEvent* event)
update();
}
+void SelectionToggle::mousePressEvent(QMouseEvent* event)
+{
+ QAbstractButton::mousePressEvent(event);
+ m_leftMouseButtonPressed = (event->buttons() & Qt::LeftButton);
+}
+
+void SelectionToggle::mouseReleaseEvent(QMouseEvent* event)
+{
+ QAbstractButton::mouseReleaseEvent(event);
+ m_leftMouseButtonPressed = (event->buttons() & Qt::LeftButton);
+}
+
void SelectionToggle::paintEvent(QPaintEvent* event)
{
QPainter painter(this);