summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-07-22 12:31:55 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-07-22 12:37:28 +0100
commitf485b2881794244409d71ead39715373e734ed04 (patch)
tree0769988f96aff1610e3256543d1929a83a2f0e15 /vcl
parent01854d2d824c13be184e2e183bd4d0025315ef81 (diff)
gtk3: native focus rects are fine for flat buttons
Change-Id: I6a70696cd119e681b4850c624c9e4ff28312c152
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/svdata.hxx3
-rw-r--r--vcl/source/control/button.cxx7
-rw-r--r--vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx1
3 files changed, 8 insertions, 3 deletions
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 4be003e2848c..a035ae301aee 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 ca27059e68b1..a10646189d74 100644
--- a/vcl/source/control/button.cxx
+++ b/vcl/source/control/button.cxx
@@ -700,8 +700,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 c593559e744e..787d405ff9b6 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -1935,6 +1935,7 @@ void GtkData::initNWF()
pSVData->maNWFData.mbCanDrawWidgetAnySize = true;
pSVData->maNWFData.mbDDListBoxNoTextArea = true;
pSVData->maNWFData.mbNoFocusRects = true;
+ pSVData->maNWFData.mbNoFocusRectsForFlatButtons = true;
pSVData->maNWFData.mbAutoAccel = true;
pSVData->maNWFData.mbEnableAccel = true;
}