[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - vcl/inc vcl/source vcl/unx

Caolán McNamara caolanm at redhat.com
Thu Jul 23 03:39:28 PDT 2015


 vcl/inc/svdata.hxx                            |    3 ++-
 vcl/source/control/button.cxx                 |    7 +++++--
 vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx |    1 +
 3 files changed, 8 insertions(+), 3 deletions(-)

New commits:
commit b602cf586adad53b123a776838722a8abd2fe18d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Wed Jul 22 12:31:55 2015 +0100

    gtk3: native focus rects are fine for flat buttons
    
    (cherry picked from commit f485b2881794244409d71ead39715373e734ed04)
    
    Change-Id: I6a70696cd119e681b4850c624c9e4ff28312c152
    Reviewed-on: https://gerrit.libreoffice.org/17291
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>
    Tested-by: Adolfo Jayme Barrientos <fitojb at ubuntu.com>

diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index e4ad5ad..5e3282a 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 2b3759e..f8820aa 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 be50e5a..5c71040 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()


More information about the Libreoffice-commits mailing list