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:
authorAntenore Gatta <antenore@simbiosi.org>2020-06-04 00:43:53 +0300
committerAntenore Gatta <antenore@simbiosi.org>2020-06-04 00:43:53 +0300
commitd27609bf2ff34e723ba6ccd278f602a1bb918950 (patch)
tree2ca6a1bac0c0d08037ed28f59c0639a7f5d45cf4 /src/remmina_sftp_client.c
parent735437f8e41d0badab06a5fc0426bd9e555b9e17 (diff)
Implementin resume all for FTP file transfer, should fix #2210
Signed-off-by: Antenore Gatta <antenore@simbiosi.org>
Diffstat (limited to 'src/remmina_sftp_client.c')
-rw-r--r--src/remmina_sftp_client.c72
1 files changed, 38 insertions, 34 deletions
diff --git a/src/remmina_sftp_client.c b/src/remmina_sftp_client.c
index 9aa99a4d2..4911f836a 100644
--- a/src/remmina_sftp_client.c
+++ b/src/remmina_sftp_client.c
@@ -177,7 +177,7 @@ remmina_sftp_client_thread_download_file(RemminaSFTPClient *client, RemminaSFTP
local_file = g_fopen(local_path, "ab");
if (!local_file) {
- // TRANSLATORS: The placeholder %s is a file path
+ // TRANSLATORS: The placeholder %s is a file path
remmina_sftp_client_thread_set_error(client, task, _("Could not create the file \"%s\"."), local_path);
return FALSE;
}
@@ -918,6 +918,10 @@ remmina_sftp_client_confirm_resume(RemminaSFTPClient *client, const gchar *path)
if (remmina_ftp_client_get_overwrite_status(REMMINA_FTP_CLIENT(client)))
return GTK_RESPONSE_ACCEPT;
+ /* Always reply APPLY if resume was already set */
+ if (remmina_ftp_client_get_resume_status(REMMINA_FTP_CLIENT(client)))
+ return GTK_RESPONSE_APPLY;
+
if (!remmina_masterthread_exec_is_main_thread()) {
/* Allow the execution of this function from a non main thread */
RemminaMTExecData *d;
@@ -991,38 +995,38 @@ remmina_sftp_client_open(RemminaSFTPClient *client, RemminaSFTP *sftp)
}
/*
-GtkWidget *
-remmina_sftp_client_new_init(RemminaSFTP *sftp)
-{
- TRACE_CALL(__func__);
- GdkDisplay *display;
- GtkWidget *client;
- GtkWidget *dialog;
-
- display = gdk_display_get_default();
- client = remmina_sftp_client_new();
-
-
- SET_CURSOR(gdk_cursor_new_for_display(display, GDK_WATCH));
- gdk_display_flush(display);
-
- if (!remmina_ssh_init_session(REMMINA_SSH(sftp)) ||
- remmina_ssh_auth(REMMINA_SSH(sftp), NULL, NULL, NULL) != REMMINA_SSH_AUTH_SUCCESS ||
- !remmina_sftp_open(sftp)) {
- dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(client)),
- GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
- (REMMINA_SSH(sftp))->error, NULL);
- gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(dialog);
- gtk_widget_destroy(client);
- return NULL;
- }
-
- SET_CURSOR(NULL);
-
- g_idle_add((GSourceFunc)remmina_sftp_client_refresh, client);
- return client;
-}
-*/
+ * GtkWidget *
+ * remmina_sftp_client_new_init(RemminaSFTP *sftp)
+ * {
+ * TRACE_CALL(__func__);
+ * GdkDisplay *display;
+ * GtkWidget *client;
+ * GtkWidget *dialog;
+ *
+ * display = gdk_display_get_default();
+ * client = remmina_sftp_client_new();
+ *
+ *
+ * SET_CURSOR(gdk_cursor_new_for_display(display, GDK_WATCH));
+ * gdk_display_flush(display);
+ *
+ * if (!remmina_ssh_init_session(REMMINA_SSH(sftp)) ||
+ * remmina_ssh_auth(REMMINA_SSH(sftp), NULL, NULL, NULL) != REMMINA_SSH_AUTH_SUCCESS ||
+ * !remmina_sftp_open(sftp)) {
+ * dialog = gtk_message_dialog_new(GTK_WINDOW(gtk_widget_get_toplevel(client)),
+ * GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
+ * (REMMINA_SSH(sftp))->error, NULL);
+ * gtk_dialog_run(GTK_DIALOG(dialog));
+ * gtk_widget_destroy(dialog);
+ * gtk_widget_destroy(client);
+ * return NULL;
+ * }
+ *
+ * SET_CURSOR(NULL);
+ *
+ * g_idle_add((GSourceFunc)remmina_sftp_client_refresh, client);
+ * return client;
+ * }
+ */
#endif