diff options
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/inc/svdata.hxx | 3 | ||||
-rw-r--r-- | vcl/source/control/button.cxx | 7 | ||||
-rw-r--r-- | vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 1 |
3 files changed, 8 insertions, 3 deletions
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx index e4ad5ad188c7..5e3282a246ec 100644 --- a/vcl/inc/svdata.hxx +++ b/vcl/inc/svdata.hxx @@ -266,7 +266,8 @@ struct ImplSVNWFData // toolbox dropdown buttons bool mbFlatMenu:1; // no popup 3D border bool mbOpenMenuOnF10:1; // on gnome the first menu opens on F10 - bool mbNoFocusRects:1; // on Aqua focus rects are not used + bool mbNoFocusRects:1; // on Aqua/Gtk3 use native focus rendering, except for flat butttons + bool mbNoFocusRectsForFlatButtons:1; // on Gtk3 native focusing is also preferred for flat buttons bool mbCenteredTabs:1; // on Aqua, tabs are centered bool mbNoActiveTabTextRaise:1; // on Aqua the text for the selected tab // should not "jump up" a pixel diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 2b3759ea28a4..f8820aaf30e6 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -699,8 +699,11 @@ void PushButton::ImplInitSettings( bool bFont, EnableChildTransparentMode( true ); SetParentClipMode( PARENTCLIPMODE_NOCLIP ); SetPaintTransparent( true ); - mpWindowImpl->mbUseNativeFocus = (GetStyle() & WB_FLATBUTTON) == 0 - && ImplGetSVData()->maNWFData.mbNoFocusRects; + + if ((GetStyle() & WB_FLATBUTTON) == 0) + mpWindowImpl->mbUseNativeFocus = ImplGetSVData()->maNWFData.mbNoFocusRects; + else + mpWindowImpl->mbUseNativeFocus = ImplGetSVData()->maNWFData.mbNoFocusRectsForFlatButtons; } else { diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx index be50e5af0757..5c710409bb87 100644 --- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx @@ -1933,6 +1933,7 @@ void GtkData::initNWF() pSVData->maNWFData.mbCanDrawWidgetAnySize = true; pSVData->maNWFData.mbDDListBoxNoTextArea = true; pSVData->maNWFData.mbNoFocusRects = true; + pSVData->maNWFData.mbNoFocusRectsForFlatButtons = true; } void GtkData::deInitNWF() |