svn path=/trunk/KDE/kdebase/apps/; revision=927602
SelectionToggle::SelectionToggle(QWidget* parent) :
QAbstractButton(parent),
m_isHovered(false),
SelectionToggle::SelectionToggle(QWidget* parent) :
QAbstractButton(parent),
m_isHovered(false),
+ m_leftMouseButtonPressed(false),
m_fadingValue(0),
m_icon(),
m_fadingTimeLine(0)
m_fadingValue(0),
m_icon(),
m_fadingTimeLine(0)
break;
case QEvent::MouseMove:
break;
case QEvent::MouseMove:
+ 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
// 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
+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);
void SelectionToggle::paintEvent(QPaintEvent* event)
{
QPainter painter(this);
virtual bool eventFilter(QObject* obj, QEvent* event);
virtual void enterEvent(QEvent* event);
virtual void leaveEvent(QEvent* event);
virtual bool eventFilter(QObject* obj, QEvent* event);
virtual void enterEvent(QEvent* event);
virtual void leaveEvent(QEvent* event);
+ virtual void mousePressEvent(QMouseEvent* event);
+ virtual void mouseReleaseEvent(QMouseEvent* event);
virtual void paintEvent(QPaintEvent* event);
private slots:
virtual void paintEvent(QPaintEvent* event);
private slots:
private:
bool m_isHovered;
private:
bool m_isHovered;
+ bool m_leftMouseButtonPressed;
int m_fadingValue;
QPixmap m_icon;
QTimeLine* m_fadingTimeLine;
int m_fadingValue;
QPixmap m_icon;
QTimeLine* m_fadingTimeLine;