summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qstylehints.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qstylehints.cpp')
-rw-r--r--src/gui/kernel/qstylehints.cpp82
1 files changed, 81 insertions, 1 deletions
diff --git a/src/gui/kernel/qstylehints.cpp b/src/gui/kernel/qstylehints.cpp
index 3812a862ae..1c91864314 100644
--- a/src/gui/kernel/qstylehints.cpp
+++ b/src/gui/kernel/qstylehints.cpp
@@ -67,63 +67,143 @@ static inline QVariant themeableHint(QPlatformTheme::ThemeHint th,
\since 5.0
\brief The QStyleHints class contains platform specific hints and settings.
\inmodule QtGui
+
+ An object of this class, obtained from QGuiApplication, provides access to certain global
+ user interface parameters of the current platform.
+
+ Access is read only; typically the platform itself provides the user a way to tune these
+ parameters.
+
+ Access to these parameters are useful when implementing custom user interface components, in that
+ they allow the components to exhibit the same behaviour and feel as other components.
+
+ \sa QGuiApplication::styleHints(), QPlatformTheme
*/
QStyleHints::QStyleHints()
: QObject()
{
}
-
+/*!
+ Returns the time limit in milliseconds that distinguishes a double click
+ from two consecutive mouse clicks.
+*/
int QStyleHints::mouseDoubleClickInterval() const
{
return themeableHint(QPlatformTheme::MouseDoubleClickInterval, QPlatformIntegration::MouseDoubleClickInterval).toInt();
}
+/*!
+ Returns the distance, in pixels, that the mouse must be moved with a button
+ held down before a drag and drop operation will begin.
+
+ If you support drag and drop in your application, and want to start a drag
+ and drop operation after the user has moved the cursor a certain distance
+ with a button held down, you should use this property's value as the
+ minimum distance required.
+
+ For example, if the mouse position of the click is stored in \c startPos
+ and the current position (e.g. in the mouse move event) is \c currentPos,
+ you can find out if a drag should be started with code like this:
+
+ \snippet code/src_gui_kernel_qapplication.cpp 7
+
+ \sa startDragTime(), QPoint::manhattanLength(), {Drag and Drop}
+*/
int QStyleHints::startDragDistance() const
{
return themeableHint(QPlatformTheme::StartDragDistance, QPlatformIntegration::StartDragDistance).toInt();
}
+/*!
+ Returns the time, in milliseconds, that a mouse button must be held down
+ before a drag and drop operation will begin.
+
+ If you support drag and drop in your application, and want to start a drag
+ and drop operation after the user has held down a mouse button for a
+ certain amount of time, you should use this property's value as the delay.
+
+ \sa startDragDistance(), {Drag and Drop}
+*/
int QStyleHints::startDragTime() const
{
return themeableHint(QPlatformTheme::StartDragTime, QPlatformIntegration::StartDragTime).toInt();
}
+/*!
+ Returns the limit for the velocity, in pixels per second, that the mouse may
+ be moved, with a button held down, for a drag and drop operation to begin.
+ A value of 0 means there is no such limit.
+
+ \sa startDragDistance(), {Drag and Drop}
+*/
int QStyleHints::startDragVelocity() const
{
return themeableHint(QPlatformTheme::StartDragVelocity, QPlatformIntegration::StartDragVelocity).toInt();
}
+/*!
+ Returns the time limit, in milliseconds, that distinguishes a key press
+ from two consecutive key presses.
+*/
int QStyleHints::keyboardInputInterval() const
{
return themeableHint(QPlatformTheme::KeyboardInputInterval, QPlatformIntegration::KeyboardInputInterval).toInt();
}
+/*!
+ Returns the rate, in events per second, in which additional repeated key
+ presses will automatically be generated if a key is being held down.
+*/
int QStyleHints::keyboardAutoRepeatRate() const
{
return themeableHint(QPlatformTheme::KeyboardAutoRepeatRate, QPlatformIntegration::KeyboardAutoRepeatRate).toInt();
}
+/*!
+ Returns the text cursor's flash (blink) time in milliseconds.
+
+ The flash time is the time used to display, invert and restore the
+ caret display. Usually the text cursor is displayed for half the cursor
+ flash time, then hidden for the same amount of time.
+*/
int QStyleHints::cursorFlashTime() const
{
return themeableHint(QPlatformTheme::CursorFlashTime, QPlatformIntegration::CursorFlashTime).toInt();
}
+/*!
+ Returns \c true if the platform defaults to windows being fullscreen,
+ otherwise \c false.
+
+ \sa QWindow::show()
+*/
bool QStyleHints::showIsFullScreen() const
{
return hint(QPlatformIntegration::ShowIsFullScreen).toBool();
}
+/*!
+ Returns the time, in milliseconds, a typed letter is displayed unshrouded
+ in a text input field in password mode.
+*/
int QStyleHints::passwordMaskDelay() const
{
return themeableHint(QPlatformTheme::PasswordMaskDelay, QPlatformIntegration::PasswordMaskDelay).toInt();
}
+/*!
+ Returns the gamma value used in font smoothing.
+*/
qreal QStyleHints::fontSmoothingGamma() const
{
return hint(QPlatformIntegration::FontSmoothingGamma).toReal();
}
+/*!
+ Returns \c true if right-to-left writing direction is enabled,
+ otherwise \c false.
+*/
bool QStyleHints::useRtlExtensions() const
{
return hint(QPlatformIntegration::UseRtlExtensions).toBool();