diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-05-16 11:53:12 +0100 |
---|---|---|
committer | David Tardon <dtardon@redhat.com> | 2016-05-17 05:43:30 +0000 |
commit | 9536bef4baeb476a54ce7cd382ded1f594efa69f (patch) | |
tree | 4c49d83148c51839bf13bbc641ee4d5e47c3eaea /vcl | |
parent | cdb0d792d15da3f090b8d1db15bac1cec1a84bec (diff) |
gtk3: min slider size too small since 3.20.0
"GtkScrollbar:min-slider-length has been deprecated since version 3.20 and
should not be used in newly-written code.
Use min-height/min-width CSS properties on the slider element instead. The
value of this style property is ignored."
sigh....
Change-Id: I0fe44b0a3dd31bd60c07f58ae5245496a7463fe2
(cherry picked from commit 2f5bba2511ef5ef3ad92f8f9547e25128570c324)
Reviewed-on: https://gerrit.libreoffice.org/25031
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx index c1117fef3ad5..14aba8abe050 100644 --- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx @@ -2116,14 +2116,26 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) gint min_slider_length = 21; // Grab some button style attributes - gtk_style_context_get_style( mpVScrollbarStyle, - "slider-width", &slider_width, - "trough-border", &trough_border, - "min-slider-length", &min_slider_length, - nullptr ); - gint magic = trough_border ? 1 : 0; - aStyleSet.SetScrollBarSize( slider_width + 2*trough_border ); - aStyleSet.SetMinThumbSize( min_slider_length - magic ); + gtk_style_context_get_style(mpVScrollbarStyle, + "slider-width", &slider_width, + "trough-border", &trough_border, + nullptr); + aStyleSet.SetScrollBarSize(slider_width + 2*trough_border); + if (gtk_check_version(3, 20, 0) == nullptr) + { + gtk_style_context_get(mpVScrollbarSliderStyle, gtk_style_context_get_state(mpVScrollbarSliderStyle), + "min-height", &min_slider_length, + nullptr); + aStyleSet.SetMinThumbSize(min_slider_length); + } + else + { + gtk_style_context_get_style(mpVScrollbarStyle, + "min-slider-length", &min_slider_length, + nullptr); + gint magic = trough_border ? 1 : 0; + aStyleSet.SetMinThumbSize(min_slider_length - magic); + } // preferred icon style gchar* pIconThemeName = nullptr; |