[gnome-commander] Migrate gnome_cmd_con_mkdir function over from GnomeVFS to GIO



commit e75874970e4460497407587234974a539b0c3095
Author: Uwe Scholz <u scholz83 gmx de>
Date:   Fri Sep 17 23:28:55 2021 +0200

    Migrate gnome_cmd_con_mkdir function over from GnomeVFS to GIO

 src/dialogs/gnome-cmd-prepare-xfer-dialog.cc | 14 ++++++++------
 src/gnome-cmd-con.cc                         | 27 ++++++++++++++-------------
 src/gnome-cmd-con.h                          |  2 +-
 3 files changed, 23 insertions(+), 20 deletions(-)
---
diff --git a/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc b/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
index 736f9890..43473e28 100644
--- a/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
+++ b/src/dialogs/gnome-cmd-prepare-xfer-dialog.cc
@@ -157,10 +157,11 @@ static void on_ok (GtkButton *button, GnomeCmdPrepareXferDialog *dialog)
 
                         if (choice == 1)
                         {
-                            GnomeVFSResult mkdir_result = gnome_cmd_con_mkdir (con, parent_dir);
-                            if (mkdir_result != GNOME_VFS_OK)
+                            GError *error = nullptr;
+                            if (!gnome_cmd_con_mkdir (con, parent_dir, error))
                             {
-                                gnome_cmd_show_message (*main_win, gnome_vfs_result_to_string 
(mkdir_result));
+                                gnome_cmd_show_message (*main_win, error->message);
+                                g_error_free(error);
                                 g_free (dest_path);
                                 gtk_widget_destroy (GTK_WIDGET (dialog));
                                 return;
@@ -211,10 +212,11 @@ static void on_ok (GtkButton *button, GnomeCmdPrepareXferDialog *dialog)
 
                 if (choice == GTK_RESPONSE_OK)
                 {
-                    GnomeVFSResult mkdir_result = gnome_cmd_con_mkdir (con, dest_path);
-                    if (mkdir_result != GNOME_VFS_OK)
+                    GError *error = nullptr;
+                    if (!gnome_cmd_con_mkdir (con, dest_path, error))
                     {
-                        gnome_cmd_show_message (*main_win, gnome_vfs_result_to_string (mkdir_result));
+                        gnome_cmd_show_message (*main_win, error->message);
+                        g_error_free(error);
                         g_free (dest_path);
                         gtk_widget_destroy (GTK_WIDGET (dialog));
                         return;
diff --git a/src/gnome-cmd-con.cc b/src/gnome-cmd-con.cc
index 013413f8..c68ad0ab 100644
--- a/src/gnome-cmd-con.cc
+++ b/src/gnome-cmd-con.cc
@@ -518,26 +518,27 @@ gboolean gnome_cmd_con_get_path_target_type (GnomeCmdCon *con, const gchar *path
 }
 
 
-GnomeVFSResult gnome_cmd_con_mkdir (GnomeCmdCon *con, const gchar *path_str)
+gboolean gnome_cmd_con_mkdir (GnomeCmdCon *con, const gchar *path_str, GError *error)
 {
-    GnomeVFSResult result;
+    GError *tmpError = nullptr;
 
-    g_return_val_if_fail (GNOME_CMD_IS_CON (con), GNOME_VFS_ERROR_BAD_PARAMETERS);
-    g_return_val_if_fail (path_str != nullptr, GNOME_VFS_ERROR_BAD_PARAMETERS);
+    g_return_val_if_fail (GNOME_CMD_IS_CON (con), false);
+    g_return_val_if_fail (path_str != nullptr, false);
 
-    GnomeCmdPath *path = gnome_cmd_con_create_path (con, path_str);
-    GnomeVFSURI *uri = gnome_cmd_con_create_uri (con, path);
+    auto path = gnome_cmd_con_create_path (con, path_str);
+    auto gFile = gnome_cmd_con_create_gfile (con, path);
 
-    result = gnome_vfs_make_directory_for_uri (
-        uri,
-        GNOME_CMD_PERM_USER_READ|GNOME_CMD_PERM_USER_WRITE|GNOME_CMD_PERM_USER_EXEC|
-        GNOME_CMD_PERM_GROUP_READ|GNOME_CMD_PERM_GROUP_EXEC|
-        GNOME_CMD_PERM_OTHER_READ|GNOME_CMD_PERM_OTHER_EXEC);
+    if (!g_file_make_directory (gFile, nullptr, &tmpError))
+    {
+        g_warning("g_file_make_directory error: %s\n", tmpError->message);
+        g_propagate_error(&error, tmpError);
+        return false;
+    }
 
-    gnome_vfs_uri_unref (uri);
+    g_object_unref (gFile);
     delete path;
 
-    return result;
+    return true;
 }
 
 
diff --git a/src/gnome-cmd-con.h b/src/gnome-cmd-con.h
index 6e26ce44..ec83da39 100644
--- a/src/gnome-cmd-con.h
+++ b/src/gnome-cmd-con.h
@@ -343,7 +343,7 @@ void gnome_cmd_con_updated (GnomeCmdCon *con);
 
 gboolean gnome_cmd_con_get_path_target_type (GnomeCmdCon *con, const gchar *path, GFileType *type);
 
-GnomeVFSResult gnome_cmd_con_mkdir (GnomeCmdCon *con, const gchar *path_str);
+gboolean gnome_cmd_con_mkdir (GnomeCmdCon *con, const gchar *path_str, GError *error);
 
 void gnome_cmd_con_add_to_cache (GnomeCmdCon *con, GnomeCmdDir *dir);
 


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