diff options
author | Jens Bache-Wiig <jbache@trolltech.com> | 2009-07-16 19:00:45 (GMT) |
---|---|---|
committer | Jens Bache-Wiig <jbache@trolltech.com> | 2009-07-16 19:12:29 (GMT) |
commit | e1c019fd7ecaa59eee39f23434dd63d5656f4ee0 (patch) | |
tree | 52e299e2d6ecc0d32247f2ee2dafbba99350c3a3 /src/gui/widgets/qtoolbutton.cpp | |
parent | ca2122e9eb2b0d68d4203b05128f6fc5a838f3d6 (diff) | |
download | Qt-e1c019fd7ecaa59eee39f23434dd63d5656f4ee0.zip Qt-e1c019fd7ecaa59eee39f23434dd63d5656f4ee0.tar.gz Qt-e1c019fd7ecaa59eee39f23434dd63d5656f4ee0.tar.bz2 |
Allow picking up tool button style from the system
KDE and GNOME has the concept of a default tool button style that
can be set system-wide. Qt currently allways default to IconOnly.
I have added an optional Qt::ToolButtonSystemDefault value so you
can opt-in to respect the system setting. We did not change the
default because a lot of apps will look odd when for instance
text is beside icons and the descriptive text is too long.
Task-number: 237864
Reviewed-by: ogoffart
Diffstat (limited to 'src/gui/widgets/qtoolbutton.cpp')
-rw-r--r-- | src/gui/widgets/qtoolbutton.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/gui/widgets/qtoolbutton.cpp b/src/gui/widgets/qtoolbutton.cpp index 6dcbfec..5d0a98a 100644 --- a/src/gui/widgets/qtoolbutton.cpp +++ b/src/gui/widgets/qtoolbutton.cpp @@ -378,7 +378,11 @@ void QToolButton::initStyleOption(QStyleOptionToolButton *option) const if (d->hasMenu()) option->features |= QStyleOptionToolButton::HasMenu; #endif - option->toolButtonStyle = d->toolButtonStyle; + if (d->toolButtonStyle == Qt::ToolButtonSystemDefault) { + option->toolButtonStyle = Qt::ToolButtonStyle(style()->styleHint(QStyle::SH_ToolButtonStyle, option, this)); + } else + option->toolButtonStyle = d->toolButtonStyle; + if (d->icon.isNull() && d->arrowType == Qt::NoArrow && !forceNoText) { if (!d->text.isEmpty()) option->toolButtonStyle = Qt::ToolButtonTextOnly; @@ -476,6 +480,10 @@ QSize QToolButton::minimumSizeHint() const The default is Qt::ToolButtonIconOnly. + If you want your toolbars to depend on system settings, + as is possible in GNOME and KDE desktop environments you should + use the ToolButtonSystemDefault. + QToolButton automatically connects this slot to the relevant signal in the QMainWindow in which is resides. */ |