Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobxnano <12855608-robxnano@users.noreply.gitlab.com>2023-11-06 00:17:22 +0300
committerrobxnano <12855608-robxnano@users.noreply.gitlab.com>2023-11-07 18:22:23 +0300
commit480bad83829567b8d89d67c56f6174ad9fbd7c5a (patch)
tree7f1398c9ef5d8f87d92776518910f7c5a534496e
parent7cbecd64698bd214888827260015ffe12b5d27c0 (diff)
Use GtkFileChooserNative
-rw-r--r--src/remmina_ftp_client.c14
-rw-r--r--src/remmina_main.c29
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."));