diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-08-31 10:47:09 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-08-31 11:47:21 +0200 |
commit | 94355ca15a4d451f4a4b858240e2c1a96e26537b (patch) | |
tree | 6b9209c03a86575a45c92e62a990c60528c02195 /src/gui/kernel/qguiapplication.cpp | |
parent | 3795e2c7bec9eb50a04d139e45ecc809c4aa37f6 (diff) |
Add a QStyleHints class to QtGui
This class encapsulates platform specific style hints
like doubleClickInterval or cursorFlashTime.
Change-Id: I0d88c47a59d564d8d346642184e5b14e1864cf40
Reviewed-on: http://codereview.qt.nokia.com/3927
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.cpp')
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index e1d40806bc..029a89c472 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -58,6 +58,7 @@ #include <QtGui/QPlatformIntegration> #include <QtGui/QGenericPluginFactory> +#include <QtGui/qstylehints.h> #include <QWindowSystemInterface> #include "private/qwindowsysteminterface_qpa_p.h" @@ -82,8 +83,6 @@ Q_GUI_EXPORT bool qt_is_gui_used = true; Qt::MouseButtons QGuiApplicationPrivate::mouse_buttons = Qt::NoButton; Qt::KeyboardModifiers QGuiApplicationPrivate::modifier_buttons = Qt::NoModifier; -int QGuiApplicationPrivate::keyboard_input_time = 400; -int QGuiApplicationPrivate::mouse_double_click_time = 400; QPointF QGuiApplicationPrivate::lastCursorPosition(0.0, 0.0); QPlatformIntegration *QGuiApplicationPrivate::platform_integration = 0; @@ -401,6 +400,8 @@ QGuiApplicationPrivate::~QGuiApplicationPrivate() cleanupThreadData(); + delete styleHints; + delete platform_integration; platform_integration = 0; } @@ -434,26 +435,6 @@ Qt::MouseButtons QGuiApplication::mouseButtons() return QGuiApplicationPrivate::mouse_buttons; } -void QGuiApplication::setDoubleClickInterval(int ms) -{ - QGuiApplicationPrivate::mouse_double_click_time = ms; -} - -int QGuiApplication::doubleClickInterval() -{ - return QGuiApplicationPrivate::mouse_double_click_time; -} - -void QGuiApplication::setKeyboardInputInterval(int ms) -{ - QGuiApplicationPrivate::keyboard_input_time = ms; -} - -int QGuiApplication::keyboardInputInterval() -{ - return QGuiApplicationPrivate::keyboard_input_time; -} - QPlatformNativeInterface *QGuiApplication::platformNativeInterface() { QPlatformIntegration *pi = QGuiApplicationPrivate::platformIntegration(); @@ -588,7 +569,8 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo } buttons = e->buttons; if (button & e->buttons) { - if ((e->timestamp - mousePressTime) < static_cast<ulong>(QGuiApplication::doubleClickInterval()) && button == mousePressButton) { + if ((e->timestamp - mousePressTime) < static_cast<ulong>(qApp->styleHints()->mouseDoubleClickInterval()) && + button == mousePressButton) { type = QEvent::MouseButtonDblClick; mousePressButton = Qt::NoButton; } @@ -1171,6 +1153,27 @@ void QGuiApplication::restoreOverrideCursor() } #endif// QT_NO_CURSOR +/*! + \since 5.0 + + returns the style hints. + + The style hints encapsulate a set of platform dependent properties + such as double click intervals, full width selection and others. + + The hints can be used to integrate tighter with the underlying platform. + + \sa QStyleHints + */ +QStyleHints *QGuiApplication::styleHints() const +{ + Q_D(const QGuiApplication); + if (!d->styleHints) + const_cast<QGuiApplicationPrivate *>(d)->styleHints = new QStyleHints(); + return d->styleHints; +} + + // Returns the current platform used by keyBindings uint QGuiApplicationPrivate::currentKeyPlatform() |