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/styles/qgtkstyle.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/styles/qgtkstyle.cpp')
-rw-r--r-- | src/gui/styles/qgtkstyle.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/gui/styles/qgtkstyle.cpp b/src/gui/styles/qgtkstyle.cpp index 9d5a3bc..b6ef4c9 100644 --- a/src/gui/styles/qgtkstyle.cpp +++ b/src/gui/styles/qgtkstyle.cpp @@ -599,6 +599,26 @@ int QGtkStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidg break; + case SH_ToolButtonStyle: + { + if (QGtk::isKDE4Session()) + return QCleanlooksStyle::styleHint(hint, option, widget, returnData); + GtkWidget *gtkToolbar = QGtk::gtkWidget(QLS("GtkToolbar")); + GtkToolbarStyle toolbar_style = GTK_TOOLBAR_ICONS; + g_object_get(gtkToolbar, "toolbar-style", &toolbar_style, NULL); + switch (toolbar_style) { + case GTK_TOOLBAR_TEXT: + return Qt::ToolButtonTextOnly; + case GTK_TOOLBAR_BOTH: + return Qt::ToolButtonTextUnderIcon; + case GTK_TOOLBAR_BOTH_HORIZ: + return Qt::ToolButtonTextBesideIcon; + case GTK_TOOLBAR_ICONS: + default: + return Qt::ToolButtonIconOnly; + } + } + break; case SH_SpinControls_DisableOnBounds: return int(true); |