[gnome-commander] Remove GnomeVFSFileInfo (only used in fileroller plugin) from gnome-cmd-file-base class



commit 45b18679501c028b2ed0c565946d3966a9d271dc
Author: Uwe Scholz <u scholz83 gmx de>
Date:   Fri Jan 1 23:33:57 2021 +0100

    Remove GnomeVFSFileInfo (only used in fileroller plugin) from gnome-cmd-file-base class

 libgcmd/gnome-cmd-file-base.cc           | 1 -
 libgcmd/gnome-cmd-file-base.h            | 6 ++----
 plugins/fileroller/file-roller-plugin.cc | 6 ++++--
 src/gnome-cmd-file.cc                    | 1 -
 4 files changed, 6 insertions(+), 8 deletions(-)
---
diff --git a/libgcmd/gnome-cmd-file-base.cc b/libgcmd/gnome-cmd-file-base.cc
index b4a3c414..49687dc3 100644
--- a/libgcmd/gnome-cmd-file-base.cc
+++ b/libgcmd/gnome-cmd-file-base.cc
@@ -39,7 +39,6 @@ static void gnome_cmd_file_base_finalize (GObject *object)
 {
     GnomeCmdFileBase *self = GNOME_CMD_FILE_BASE (object);
 
-    gnome_vfs_file_info_unref (self->gnomeVfsFileInfo);
     if (self->uri)
         gnome_vfs_uri_unref (self->uri);
     if (self->gFile)
diff --git a/libgcmd/gnome-cmd-file-base.h b/libgcmd/gnome-cmd-file-base.h
index 0412907b..09fdf6bf 100644
--- a/libgcmd/gnome-cmd-file-base.h
+++ b/libgcmd/gnome-cmd-file-base.h
@@ -37,11 +37,10 @@ struct GnomeCmdFileBase
     GObject parent;
 
     GnomeVFSURI *uri;
-    GnomeVFSFileInfo *gnomeVfsFileInfo;
     GFile *gFile;
     GFileInfo *gFileInfo;
 
-    void setup(GnomeVFSURI *uri, GnomeVFSFileInfo *info, GFile *gFile, GFileInfo *gFileInfo);
+    void setup(GnomeVFSURI *uri, GFile *gFile, GFileInfo *gFileInfo);
 };
 
 struct GnomeCmdFileBaseClass
@@ -49,9 +48,8 @@ struct GnomeCmdFileBaseClass
     GObjectClass parent_class;
 };
 
-inline void GnomeCmdFileBase::setup(GnomeVFSURI *uri_setup, GnomeVFSFileInfo *info_setup, GFile 
*gFile_setup, GFileInfo *gFileInfo_setup)
+inline void GnomeCmdFileBase::setup(GnomeVFSURI *uri_setup, GFile *gFile_setup, GFileInfo *gFileInfo_setup)
 {
-    this->gnomeVfsFileInfo = info_setup;
     this->uri = uri_setup;
     this->gFile = gFile_setup;
     this->gFileInfo = gFileInfo_setup;
diff --git a/plugins/fileroller/file-roller-plugin.cc b/plugins/fileroller/file-roller-plugin.cc
index 4c274dd4..3d16e45d 100644
--- a/plugins/fileroller/file-roller-plugin.cc
+++ b/plugins/fileroller/file-roller-plugin.cc
@@ -392,8 +392,10 @@ static void on_add_to_archive (GtkMenuItem *item, FileRollerPlugin *plugin)
         gchar *file_prefix = g_locale_to_utf8 (s, -1, NULL, NULL, NULL);
 
         gchar *archive_name_tmp = g_strdup_printf("%s%s", file_prefix, plugin->priv->default_ext);
-        archive_name = new_string_with_replaced_keyword(archive_name_tmp, "$N", GNOME_CMD_FILE_BASE 
(files->data)->gnomeVfsFileInfo->name);
+        auto file_name_tmp = GetGfileAttributeString(GNOME_CMD_FILE_BASE (files->data)->gFile, 
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME);
+        archive_name = new_string_with_replaced_keyword(archive_name_tmp, "$N", file_name_tmp);
         gtk_entry_set_text (GTK_ENTRY (entry), archive_name);
+        g_free(file_name_tmp);
         g_free(archive_name);
         g_free(archive_name_tmp);
 
@@ -482,7 +484,7 @@ static GList *create_popup_menu_items (GnomeCmdPlugin *plugin, GnomeCmdState *st
     if (num_files == 1)
     {
         GnomeCmdFileBase *gnomeCmdFileBase = GNOME_CMD_FILE_BASE (gnomeCmdFileBaseGList->data);
-        gchar *fname = g_strdup (gnomeCmdFileBase->gnomeVfsFileInfo->name);
+        auto fname = GetGfileAttributeString(gnomeCmdFileBase->gFile, 
G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME);
         gint i;
 
         for (i=0; handled_extensions[i]; ++i)
diff --git a/src/gnome-cmd-file.cc b/src/gnome-cmd-file.cc
index 8313e53a..b447539d 100644
--- a/src/gnome-cmd-file.cc
+++ b/src/gnome-cmd-file.cc
@@ -236,7 +236,6 @@ void gnome_cmd_file_setup (GnomeCmdFile *gnomeCmdFile, GnomeVFSFileInfo *info, G
     g_return_if_fail (gnomeCmdFile != nullptr);
 
     gnomeCmdFile->info = info;
-    GNOME_CMD_FILE_BASE (gnomeCmdFile)->gnomeVfsFileInfo = info;
 
     gnomeCmdFile->is_dotdot = info->type==GNOME_VFS_FILE_TYPE_DIRECTORY && strcmp(info->name, "..")==0;    
// check if file is '..'
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]