summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kellner <gicmo@gnome.org>2008-03-14 18:33:23 +0000
committerChristian Kellner <gicmo@src.gnome.org>2008-03-14 18:33:23 +0000
commitc0c619457b5353382519087bf3e47a8b3329308e (patch)
treedf92c3488b5b9ae165246833bb53290f1fe926c9
parentf64d8ccafdea03a0b12f4fcb3e23d8b85069e2c0 (diff)
downloadgvfs-c0c619457b5353382519087bf3e47a8b3329308e.tar.gz
Add a little helper program that renames files by calling
2008-03-14 Christian Kellner <gicmo@gnome.org> * programs/Makefile.am: * programs/gvfs-rename.c: Add a little helper program that renames files by calling g_file_set_display_name (). svn path=/trunk/; revision=1659
-rw-r--r--ChangeLog21
-rw-r--r--programs/Makefile.am4
-rw-r--r--programs/gvfs-rename.c80
3 files changed, 105 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 31388088..b03f4d4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,26 @@
2008-03-14 Christian Kellner <gicmo@gnome.org>
+ reviewed by: <delete if not using a buddy>
+
+ * daemon/gvfsbackenddav.c (message_add_destination_header),
+ (message_add_overwrite_header), (message_add_redirect_header),
+ (redirect_handler), (do_query_info), (do_enumerate),
+ (do_set_display_name), (g_vfs_backend_dav_class_init):
+ * programs/Makefile.am:
+ * programs/gvfs-rename.c (main):
+
+2008-03-14 Christian Kellner <gicmo@gnome.org>
+
+ reviewed by: <delete if not using a buddy>
+
+ * daemon/gvfsbackenddav.c (message_add_destination_header),
+ (message_add_overwrite_header), (message_add_redirect_header),
+ (redirect_handler), (do_query_info), (do_enumerate),
+ (do_set_display_name), (g_vfs_backend_dav_class_init):
+ * programs/Makefile.am:
+
+2008-03-14 Christian Kellner <gicmo@gnome.org>
+
* AUTHORS: Update, add a lot of people and I am
sure I have forgotten a few.
diff --git a/programs/Makefile.am b/programs/Makefile.am
index 05fb7dae..5dcce60c 100644
--- a/programs/Makefile.am
+++ b/programs/Makefile.am
@@ -19,6 +19,7 @@ bin_PROGRAMS = \
gvfs-tree \
gvfs-info \
gvfs-trash \
+ gvfs-rename \
gvfs-rm \
gvfs-copy \
gvfs-move \
@@ -52,6 +53,9 @@ gvfs_info_LDADD = $(libraries)
gvfs_trash_SOURCES = gvfs-trash.c
gvfs_trash_LDADD = $(libraries)
+gvfs_rename_SOURCES = gvfs-rename.c
+gvfs_rename_LDADD = $(libraries)
+
gvfs_rm_SOURCES = gvfs-rm.c
gvfs_rm_LDADD = $(libraries)
diff --git a/programs/gvfs-rename.c b/programs/gvfs-rename.c
new file mode 100644
index 00000000..81dfae14
--- /dev/null
+++ b/programs/gvfs-rename.c
@@ -0,0 +1,80 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner <gicmo@gnome.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: Christian Kellner <gicmo@gnome.org>
+ */
+
+#include <config.h>
+
+#include <glib.h>
+#include <locale.h>
+#include <gio/gio.h>
+
+static GOptionEntry entries[] =
+{
+ { NULL }
+};
+
+
+int
+main (int argc, char *argv[])
+{
+ GOptionContext *context;
+ GError *error;
+ GFile *file;
+ GFile *new_file;
+
+ setlocale (LC_ALL, "");
+
+ g_type_init ();
+
+ error = NULL;
+ context = g_option_context_new ("- rename file");
+ g_option_context_add_main_entries (context, entries, GETTEXT_PACKAGE);
+ g_option_context_parse (context, &argc, &argv, &error);
+ g_option_context_free (context);
+
+ if (argc < 3)
+ {
+ g_printerr ("Usage: %s location new_name\n",
+ g_get_prgname ());
+ return 1;
+ }
+
+ file = g_file_new_for_commandline_arg (argv[1]);
+
+ new_file = g_file_set_display_name (file, argv[2],
+ NULL, &error);
+
+ if (new_file == NULL)
+ {
+ g_print ("Error rename file: %s\n", error->message);
+ g_error_free (error);
+ }
+ else
+ {
+ char *uri = g_file_get_uri (new_file);
+ g_print ("Success (new uri: %s)\n", uri);
+ g_object_unref (new_file);
+ g_free (uri);
+ }
+
+ g_object_unref (file);
+ return 0;
+}