diff options
author | Szymon Kłos <eszkadev@gmail.com> | 2015-02-19 12:05:50 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-02-19 11:28:13 +0000 |
commit | b4b844f4d391ba0491dc748f3d5853bef47d9405 (patch) | |
tree | 4d40edf695efaf458a7462423a3fc185d2d5b5dd /vcl/unx | |
parent | 336dd506c0978faf914279de56c125949920223e (diff) |
gtk3: improved checkbox and radiobutton rendering
Change-Id: I6da03869dea172fb8d50396010152479afec9cde
Reviewed-on: https://gerrit.libreoffice.org/14554
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/unx')
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index 79e17d85107a..1f906c59f34c 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -785,6 +785,12 @@ void GtkSalGraphics::PaintCheckOrRadio(GtkStyleContext *context, gtk_render_option(context, cr, x, y, indicator_size, indicator_size); } +#if GTK_CHECK_VERSION(3,14,0) +# define CHECKED_AND_ACTIVE (GTK_STATE_FLAG_CHECKED | GTK_STATE_FLAG_ACTIVE) +#else +# define CHECKED_AND_ACTIVE GTK_STATE_FLAG_ACTIVE +#endif + bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, const Rectangle& rControlRegion, ControlState nState, const ImplControlValue& aValue, const OUString& ) @@ -869,7 +875,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co break; case CTRL_CHECKBOX: flags = (GtkStateFlags)(flags | - ( (aValue.getTristateVal() == BUTTONVALUE_ON) ? GTK_STATE_FLAG_ACTIVE : + ( (aValue.getTristateVal() == BUTTONVALUE_ON) ? CHECKED_AND_ACTIVE : (aValue.getTristateVal() == BUTTONVALUE_MIXED) ? GTK_STATE_FLAG_INCONSISTENT : GTK_STATE_FLAG_NORMAL)); context = mpCheckButtonStyle; @@ -878,7 +884,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co break; case CTRL_RADIOBUTTON: flags = (GtkStateFlags)(flags | - ( (aValue.getTristateVal() == BUTTONVALUE_ON) ? GTK_STATE_FLAG_ACTIVE : GTK_STATE_FLAG_NORMAL)); + ( (aValue.getTristateVal() == BUTTONVALUE_ON) ? CHECKED_AND_ACTIVE : GTK_STATE_FLAG_NORMAL)); context = mpCheckButtonStyle; styleClass = GTK_STYLE_CLASS_RADIO; renderType = RENDER_RADIO; |