From 3d2aae0766eceb3554f12c8ee8a46881645eef06 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann <Thomas.Hartmann@nokia.com> Date: Thu, 4 Nov 2010 10:26:50 +0100 Subject: [PATCH] QuickToolBars: fix cursor on Mac OS X We have to set the cursor on Mac OS X manually in enter and leave events. Task-number: QTCREATORBUG-2622 Reviewed-by: Kai Koehne --- src/libs/qmleditorwidgets/contextpanewidget.cpp | 17 +++++++++++++++++ src/libs/qmleditorwidgets/contextpanewidget.h | 2 ++ src/libs/qmleditorwidgets/customcolordialog.cpp | 15 +++++++++++++++ src/libs/qmleditorwidgets/customcolordialog.h | 2 ++ 4 files changed, 36 insertions(+) diff --git a/src/libs/qmleditorwidgets/contextpanewidget.cpp b/src/libs/qmleditorwidgets/contextpanewidget.cpp index b043931142b..33676a49063 100644 --- a/src/libs/qmleditorwidgets/contextpanewidget.cpp +++ b/src/libs/qmleditorwidgets/contextpanewidget.cpp @@ -165,6 +165,20 @@ void DragWidget::protectedMoved() } +void DragWidget::leaveEvent(QEvent *) +{ +#ifdef Q_WS_MAC + unsetCursor(); +#endif +} + +void DragWidget::enterEvent(QEvent *) +{ +#ifdef Q_WS_MAC + setCursor(Qt::ArrowCursor); +#endif +} + ContextPaneWidget::ContextPaneWidget(QWidget *parent) : DragWidget(parent), m_currentWidget(0) { QGridLayout *layout = new QGridLayout(this); @@ -208,6 +222,9 @@ ContextPaneWidget::ContextPaneWidget(QWidget *parent) : DragWidget(parent), m_cu m_disableAction->setCheckable(true); connect(m_disableAction.data(), SIGNAL(toggled(bool)), this, SLOT(onDisable(bool))); m_pinned = false; +#ifdef Q_WS_MAC + setCursor(Qt::ArrowCursor); +#endif } ContextPaneWidget::~ContextPaneWidget() diff --git a/src/libs/qmleditorwidgets/contextpanewidget.h b/src/libs/qmleditorwidgets/contextpanewidget.h index d7d4d83b470..ede3e2178a4 100644 --- a/src/libs/qmleditorwidgets/contextpanewidget.h +++ b/src/libs/qmleditorwidgets/contextpanewidget.h @@ -64,6 +64,8 @@ protected: void mouseReleaseEvent(QMouseEvent * event); void mouseMoveEvent(QMouseEvent * event); void virtual protectedMoved(); + void leaveEvent(QEvent *); + void enterEvent(QEvent *); private: QGraphicsDropShadowEffect *m_dropShadowEffect; diff --git a/src/libs/qmleditorwidgets/customcolordialog.cpp b/src/libs/qmleditorwidgets/customcolordialog.cpp index a698f540ef5..aea17bf9189 100644 --- a/src/libs/qmleditorwidgets/customcolordialog.cpp +++ b/src/libs/qmleditorwidgets/customcolordialog.cpp @@ -177,4 +177,19 @@ void CustomColorDialog::setupWidgets() m_blockUpdate = false; } +void CustomColorDialog::leaveEvent(QEvent *) +{ +#ifdef Q_WS_MAC + unsetCursor(); +#endif +} + +void CustomColorDialog::enterEvent(QEvent *) +{ +#ifdef Q_WS_MAC + setCursor(Qt::ArrowCursor); +#endif +} + + } //QmlEditorWidgets diff --git a/src/libs/qmleditorwidgets/customcolordialog.h b/src/libs/qmleditorwidgets/customcolordialog.h index a017280d8d6..ea38b0da739 100644 --- a/src/libs/qmleditorwidgets/customcolordialog.h +++ b/src/libs/qmleditorwidgets/customcolordialog.h @@ -89,6 +89,8 @@ signals: protected: void setupWidgets(); + void leaveEvent(QEvent *); + void enterEvent(QEvent *); private: QFrame *m_beforeColorWidget; -- GitLab