diff options
author | Christian Kellner <gicmo@gnome.org> | 2008-03-14 18:33:23 +0000 |
---|---|---|
committer | Christian Kellner <gicmo@src.gnome.org> | 2008-03-14 18:33:23 +0000 |
commit | c0c619457b5353382519087bf3e47a8b3329308e (patch) | |
tree | df92c3488b5b9ae165246833bb53290f1fe926c9 | |
parent | f64d8ccafdea03a0b12f4fcb3e23d8b85069e2c0 (diff) | |
download | gvfs-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-- | ChangeLog | 21 | ||||
-rw-r--r-- | programs/Makefile.am | 4 | ||||
-rw-r--r-- | programs/gvfs-rename.c | 80 |
3 files changed, 105 insertions, 0 deletions
@@ -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; +} |