[Libreoffice-commits] core.git: vcl/unx
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Tue May 11 18:42:45 UTC 2021
vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx | 48 ++----------------------------
1 file changed, 4 insertions(+), 44 deletions(-)
New commits:
commit 43335776cfc18cdc7addf33250cffc886d384186
Author: Caolán McNamara <caolanm at redhat.com>
AuthorDate: Tue May 11 17:21:47 2021 +0100
Commit: Caolán McNamara <caolanm at redhat.com>
CommitDate: Tue May 11 20:42:00 2021 +0200
gtk[3|4] don't create File Dialog with buttons that need to be removed
just create it without the offending buttons in the first place
Change-Id: I0708e69a82e8fbabf149b64186a9d20cfd011cd1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115439
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 c0113822b27f..2b5081463403 100644
--- a/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx
+++ b/vcl/unx/gtk3/fpicker/SalGtkFilePicker.cxx
@@ -117,14 +117,10 @@ SalGtkFilePicker::SalGtkFilePicker( const uno::Reference< uno::XComponentContext
OUString aFilePickerTitle = getResString( FILE_PICKER_TITLE_OPEN );
- m_pDialog = gtk_file_chooser_dialog_new(
- OUStringToOString( aFilePickerTitle, RTL_TEXTENCODING_UTF8 ).getStr(),
- nullptr,
- GTK_FILE_CHOOSER_ACTION_OPEN,
- getCancelText().getStr(), GTK_RESPONSE_CANCEL,
- getOpenText().getStr(), GTK_RESPONSE_ACCEPT,
- nullptr );
-
+ m_pDialog = GTK_WIDGET(g_object_new(GTK_TYPE_FILE_CHOOSER_DIALOG,
+ "title", OUStringToOString(aFilePickerTitle, RTL_TEXTENCODING_UTF8).getStr(),
+ "action", GTK_FILE_CHOOSER_ACTION_OPEN,
+ nullptr));
gtk_dialog_set_default_response( GTK_DIALOG (m_pDialog), GTK_RESPONSE_ACCEPT );
#if !GTK_CHECK_VERSION(4, 0, 0)
@@ -453,39 +449,6 @@ shrinkFilterName( const OUString &rFilterName, bool bAllowNoStar = false )
return aRealName;
}
-#if !GTK_CHECK_VERSION(4, 0, 0)
-static void
-dialog_remove_buttons(GtkWidget *pActionArea)
-{
- GtkContainer *pContainer = GTK_CONTAINER( pActionArea );
-
- g_return_if_fail( pContainer != nullptr );
-
- GList *pChildren = gtk_container_get_children( pContainer );
-
- for( GList *p = pChildren; p; p = p->next )
- {
- GtkWidget *pWidget = GTK_WIDGET( p->data );
- if ( GTK_IS_BUTTON( pWidget ) )
- gtk_widget_destroy( pWidget );
- }
-
- g_list_free( pChildren );
-}
-
-static void
-dialog_remove_buttons( GtkDialog *pDialog )
-{
- g_return_if_fail( GTK_IS_DIALOG( pDialog ) );
-
- GtkWidget *pHeaderBar = gtk_dialog_get_header_bar(pDialog);
- if( pHeaderBar != nullptr )
- dialog_remove_buttons( pHeaderBar );
- else
- dialog_remove_buttons(gtk_dialog_get_action_area(pDialog));
-}
-#endif
-
namespace {
struct FilterTitleMatch
@@ -1786,9 +1749,6 @@ void SAL_CALL SalGtkFilePicker::initialize( const uno::Sequence<uno::Any>& aArgu
}
gtk_file_chooser_set_action( GTK_FILE_CHOOSER( m_pDialog ), eAction);
-#if !GTK_CHECK_VERSION(4, 0, 0)
- dialog_remove_buttons( GTK_DIALOG( m_pDialog ) );
-#endif
gtk_dialog_add_button(GTK_DIALOG( m_pDialog ),
getCancelText().getStr(),
GTK_RESPONSE_CANCEL);
More information about the Libreoffice-commits
mailing list