summaryrefslogtreecommitdiffstats
path: root/src/gui/widgets/qtoolbutton.cpp
diff options
context:
space:
mode:
authorJens Bache-Wiig <jbache@trolltech.com>2009-07-16 19:00:45 (GMT)
committerJens Bache-Wiig <jbache@trolltech.com>2009-07-16 19:12:29 (GMT)
commite1c019fd7ecaa59eee39f23434dd63d5656f4ee0 (patch)
tree52e299e2d6ecc0d32247f2ee2dafbba99350c3a3 /src/gui/widgets/qtoolbutton.cpp
parentca2122e9eb2b0d68d4203b05128f6fc5a838f3d6 (diff)
downloadQt-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.cpp10
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.
*/