[Libreoffice-commits] core.git: vcl/unx

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Tue May 11 10:09:40 UTC 2021


 vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx |   26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)

New commits:
commit a76834dc31247a26c409a7bcc7586de32782f9bb
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue May 11 08:59:46 2021 +0100
Commit:     Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue May 11 12:08:52 2021 +0200

    gtk4: GtkCheckButton no longer inherits from GtkToggleButton
    
    Change-Id: I7bbf97b6a4a076d2cbc77e03bd21ecdf9b194c82
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115383
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx
index 66e5670bb0db..5df93c145fd6 100644
--- a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx
+++ b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx
@@ -1109,12 +1109,12 @@ sal_Int16 SAL_CALL SalGtkFilePicker::execute()
 // cf. offapi/com/sun/star/ui/dialogs/ExtendedFilePickerElementIds.idl
 GtkWidget *SalGtkFilePicker::getWidget( sal_Int16 nControlId, GType *pType )
 {
-    GType      tType = GTK_TYPE_TOGGLE_BUTTON; //prevent warning by initializing
+    GType      tType = GTK_TYPE_CHECK_BUTTON; //prevent warning by initializing
     GtkWidget *pWidget = nullptr;
 
 #define MAP_TOGGLE( elem ) \
         case ExtendedFilePickerElementIds::CHECKBOX_##elem: \
-            pWidget = m_pToggles[elem]; tType = GTK_TYPE_TOGGLE_BUTTON; \
+            pWidget = m_pToggles[elem]; tType = GTK_TYPE_CHECK_BUTTON; \
             break
 #define MAP_BUTTON( elem ) \
         case ExtendedFilePickerElementIds::PUSHBUTTON_##elem: \
@@ -1317,11 +1317,15 @@ void SAL_CALL SalGtkFilePicker::setValue( sal_Int16 nControlId, sal_Int16 nContr
 
     if( !( pWidget = getWidget( nControlId, &tType ) ) )
         SAL_WARN( "vcl.gtk", "enable unknown control " << nControlId);
-    else if( tType == GTK_TYPE_TOGGLE_BUTTON )
+    else if( tType == GTK_TYPE_CHECK_BUTTON)
     {
         bool bChecked = false;
         rValue >>= bChecked;
-        gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON( pWidget ), bChecked );
+#if GTK_CHECK_VERSION(4, 0, 0)
+        gtk_check_button_set_active(GTK_CHECK_BUTTON(pWidget), bChecked);
+#else
+        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(pWidget), bChecked);
+#endif
     }
     else if( tType == GTK_TYPE_COMBO_BOX )
         HandleSetListValue(GTK_COMBO_BOX(pWidget), nControlAction, rValue);
@@ -1344,8 +1348,14 @@ uno::Any SAL_CALL SalGtkFilePicker::getValue( sal_Int16 nControlId, sal_Int16 nC
 
     if( !( pWidget = getWidget( nControlId, &tType ) ) )
         SAL_WARN( "vcl.gtk", "enable unknown control " << nControlId);
-    else if( tType == GTK_TYPE_TOGGLE_BUTTON )
-        aRetval <<= bool( gtk_toggle_button_get_active( GTK_TOGGLE_BUTTON( pWidget ) ) );
+    else if( tType == GTK_TYPE_CHECK_BUTTON)
+    {
+#if GTK_CHECK_VERSION(4, 0, 0)
+        aRetval <<= bool(gtk_check_button_get_active(GTK_CHECK_BUTTON(pWidget)));
+#else
+        aRetval <<= bool(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pWidget)));
+#endif
+    }
     else if( tType == GTK_TYPE_COMBO_BOX )
         aRetval = HandleGetListValue(GTK_COMBO_BOX(pWidget), nControlAction);
     else
@@ -1393,7 +1403,7 @@ void SAL_CALL SalGtkFilePicker::setLabel( sal_Int16 nControlId, const OUString&
     }
 
     OString aTxt = OUStringToOString( rLabel.replace('~', '_'), RTL_TEXTENCODING_UTF8 );
-    if( tType == GTK_TYPE_TOGGLE_BUTTON || tType == GTK_TYPE_BUTTON || tType == GTK_TYPE_LABEL )
+    if( tType == GTK_TYPE_CHECK_BUTTON || tType == GTK_TYPE_BUTTON || tType == GTK_TYPE_LABEL )
         g_object_set( pWidget, "label", aTxt.getStr(),
                       "use_underline", true, nullptr );
     else
@@ -1412,7 +1422,7 @@ OUString SAL_CALL SalGtkFilePicker::getLabel( sal_Int16 nControlId )
 
     if( !( pWidget = getWidget( nControlId, &tType ) ) )
         SAL_WARN( "vcl.gtk", "Get label on unknown control " << nControlId);
-    else if( tType == GTK_TYPE_TOGGLE_BUTTON || tType == GTK_TYPE_BUTTON || tType == GTK_TYPE_LABEL )
+    else if( tType == GTK_TYPE_CHECK_BUTTON || tType == GTK_TYPE_BUTTON || tType == GTK_TYPE_LABEL )
         aTxt = gtk_button_get_label( GTK_BUTTON( pWidget ) );
     else
         SAL_WARN( "vcl.gtk", "Can't get label on list");


More information about the Libreoffice-commits mailing list