diff options
-rw-r--r-- | src/remmina_ftp_client.c | 14 | ||||
-rw-r--r-- | src/remmina_main.c | 29 |
2 files changed, 23 insertions, 20 deletions
diff --git a/src/remmina_ftp_client.c b/src/remmina_ftp_client.c index 3abd4a295..294f2db42 100644 --- a/src/remmina_ftp_client.c +++ b/src/remmina_ftp_client.c @@ -403,21 +403,21 @@ remmina_ftp_client_get_download_dir(RemminaFTPClient *client) { TRACE_CALL(__func__); RemminaFTPClientPriv *priv = (RemminaFTPClientPriv*)client->priv; - GtkWidget *dialog; + GtkFileChooserNative *dialog; gchar *localdir = NULL; - dialog = gtk_file_chooser_dialog_new(_("Choose download location"), + dialog = gtk_file_chooser_native_new(_("Choose download location"), GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, - "_Cancel", GTK_RESPONSE_CANCEL, "_OK", GTK_RESPONSE_ACCEPT, NULL); + _("_OK"), _("_Cancel")); if (priv->working_directory) { gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), priv->working_directory); } - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { + if (gtk_native_dialog_run(GTK_NATIVE_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { g_free(priv->working_directory); priv->working_directory = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialog)); localdir = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); } - gtk_widget_destroy(dialog); + gtk_native_dialog_destroy(GTK_NATIVE_DIALOG(dialog)); return localdir; } @@ -604,8 +604,8 @@ static void remmina_ftp_client_action_upload(GObject *object, RemminaFTPClient * struct stat st; dialog = gtk_file_chooser_dialog_new(_("Choose a file to upload"), - GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))), GTK_FILE_CHOOSER_ACTION_OPEN, "_Cancel", - GTK_RESPONSE_CANCEL, "_OK", GTK_RESPONSE_ACCEPT, NULL); + GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(client))), GTK_FILE_CHOOSER_ACTION_OPEN, _("_Cancel"), + GTK_RESPONSE_CANCEL, _("Upload"), GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE); if (priv->working_directory) { gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), priv->working_directory); diff --git a/src/remmina_main.c b/src/remmina_main.c index f3de6a5c0..7aabc3e5e 100644 --- a/src/remmina_main.c +++ b/src/remmina_main.c @@ -1219,7 +1219,7 @@ static void remmina_main_import_file_list(GSList *files) remmina_main_load_files(); } -static void remmina_main_action_tools_import_on_response(GtkDialog *dialog, gint response_id, gpointer user_data) +static void remmina_main_action_tools_import_on_response(GtkNativeDialog *dialog, gint response_id, gpointer user_data) { TRACE_CALL(__func__); GSList *files; @@ -1228,19 +1228,20 @@ static void remmina_main_action_tools_import_on_response(GtkDialog *dialog, gint files = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); remmina_main_import_file_list(files); } - gtk_widget_destroy(GTK_WIDGET(dialog)); + gtk_native_dialog_destroy(dialog); } void remmina_main_on_action_tools_import(GSimpleAction *action, GVariant *param, gpointer data) { TRACE_CALL(__func__); - GtkWidget *dialog; + GtkFileChooserNative *chooser; - dialog = gtk_file_chooser_dialog_new(_("Import"), remminamain->window, GTK_FILE_CHOOSER_ACTION_OPEN, "Import", - GTK_RESPONSE_ACCEPT, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), TRUE); - g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(remmina_main_action_tools_import_on_response), NULL); - gtk_widget_show(dialog); + chooser = gtk_file_chooser_native_new(_("Import"), remminamain->window, + GTK_FILE_CHOOSER_ACTION_OPEN, _("Import"), _("_Cancel")); + gtk_native_dialog_set_modal(GTK_NATIVE_DIALOG(chooser), TRUE); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(chooser), TRUE); + g_signal_connect(chooser, "response", G_CALLBACK(remmina_main_action_tools_import_on_response), NULL); + gtk_native_dialog_show(GTK_NATIVE_DIALOG(chooser)); } void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, gpointer data) @@ -1249,6 +1250,7 @@ void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, RemminaFilePlugin *plugin; RemminaFile *remminafile; GtkWidget *dialog; + GtkFileChooserNative *chooser; if (!remminamain->priv->selected_filename) return; @@ -1258,11 +1260,12 @@ void remmina_main_on_action_tools_export(GSimpleAction *action, GVariant *param, return; plugin = remmina_plugin_manager_get_export_file_handler(remminafile); if (plugin) { - dialog = gtk_file_chooser_dialog_new(plugin->export_hints, remminamain->window, - GTK_FILE_CHOOSER_ACTION_SAVE, _("_Save"), GTK_RESPONSE_ACCEPT, NULL); - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) - plugin->export_func(plugin, remminafile, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog))); - gtk_widget_destroy(dialog); + chooser = gtk_file_chooser_native_new(plugin->export_hints, remminamain->window, + GTK_FILE_CHOOSER_ACTION_SAVE, _("_Save"), _("_Cancel")); + gtk_native_dialog_set_modal(GTK_NATIVE_DIALOG(chooser), TRUE); + if (gtk_native_dialog_run(GTK_NATIVE_DIALOG(chooser)) == GTK_RESPONSE_ACCEPT) + plugin->export_func(plugin, remminafile, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser))); + gtk_native_dialog_destroy(GTK_NATIVE_DIALOG(chooser)); } else { dialog = gtk_message_dialog_new(remminamain->window, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("This protocol does not support exporting.")); |