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:
authorYoucef Nafa <youcef@gmail.com>2022-08-02 02:07:19 +0300
committerYoucef Nafa <youcef@gmail.com>2022-08-02 02:07:19 +0300
commit9d562002b4b940c5219457b80ce73875ae9c2475 (patch)
tree965c38ac49b4c52af6df3627bcfb9645108334db /src/remmina_ftp_client.c
parent99da7649bfd9caef2d06c760dd0ddd6cef57ab77 (diff)
add modified date to ftp file list
Diffstat (limited to 'src/remmina_ftp_client.c')
-rw-r--r--src/remmina_ftp_client.c31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/remmina_ftp_client.c b/src/remmina_ftp_client.c
index d0f1a3469..80ed95fc3 100644
--- a/src/remmina_ftp_client.c
+++ b/src/remmina_ftp_client.c
@@ -282,6 +282,25 @@ static void remmina_ftp_client_cell_data_permission(GtkTreeViewColumn *col, GtkC
g_object_set(renderer, "text", buf, NULL);
}
+static void remmina_ftp_client_cell_data_modified(GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model,
+ GtkTreeIter *iter, gpointer user_data)
+{
+ TRACE_CALL(__func__);
+ gint32 modified = 0;
+ GDateTime *datetime;
+ gchar* str;
+
+ gtk_tree_model_get(model, iter, REMMINA_FTP_FILE_COLUMN_MODIFIED, &modified, -1);
+
+ datetime = g_date_time_new_from_unix_local(modified);
+ str = g_date_time_format(datetime, "\%Y-\%m-\%d \%H:\%M:\%S");
+
+ g_object_set(renderer, "text", str, NULL);
+
+ g_date_time_unref(datetime);
+ g_free(str);
+}
+
static void remmina_ftp_client_cell_data_size_progress(GtkTreeViewColumn *col, GtkCellRenderer *renderer, GtkTreeModel *model,
GtkTreeIter *iter, gpointer user_data)
{
@@ -946,10 +965,18 @@ static void remmina_ftp_client_init(RemminaFTPClient *client)
gtk_tree_view_column_set_sort_column_id(column, REMMINA_FTP_FILE_COLUMN_PERMISSION);
gtk_tree_view_append_column(GTK_TREE_VIEW(priv->file_list_view), column);
+ renderer = gtk_cell_renderer_text_new();
+ column = gtk_tree_view_column_new_with_attributes(_("Modified"), renderer, "text", REMMINA_FTP_FILE_COLUMN_MODIFIED,
+ NULL);
+ gtk_tree_view_column_set_resizable(column, TRUE);
+ gtk_tree_view_column_set_cell_data_func(column, renderer, remmina_ftp_client_cell_data_modified, NULL, NULL);
+ gtk_tree_view_column_set_sort_column_id(column, REMMINA_FTP_FILE_COLUMN_MODIFIED);
+ gtk_tree_view_append_column(GTK_TREE_VIEW(priv->file_list_view), column);
+
/* Remote File List - Model */
priv->file_list_model = GTK_TREE_MODEL(
gtk_list_store_new(REMMINA_FTP_FILE_N_COLUMNS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_FLOAT, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_INT, G_TYPE_STRING));
+ G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_STRING));
priv->file_list_filter = gtk_tree_model_filter_new(priv->file_list_model, NULL);
gtk_tree_model_filter_set_visible_func(GTK_TREE_MODEL_FILTER(priv->file_list_filter),
@@ -1099,6 +1126,7 @@ void remmina_ftp_client_add_file(RemminaFTPClient *client, ...)
gint type;
gchar *name;
gchar *ptr;
+ gint32 modified;
va_start(args, client);
gtk_list_store_append(store, &iter);
@@ -1108,6 +1136,7 @@ void remmina_ftp_client_add_file(RemminaFTPClient *client, ...)
gtk_tree_model_get(GTK_TREE_MODEL(store), &iter,
REMMINA_FTP_FILE_COLUMN_TYPE, &type,
REMMINA_FTP_FILE_COLUMN_NAME, &name,
+ REMMINA_FTP_FILE_COLUMN_MODIFIED, &modified,
-1);
ptr = g_strdup_printf("%i%s", type, name);