Package: gqview
Version: 2.0.1-1
Severity: wishlist
Tags: patch
More information about patch:
http://sourceforge.net/mailarchive/forum.php?thread_id=10167948&forum_id=5979
No answer from upstream during some weeks. Patch applies fine in Gqview
2.0.1 and 2.x.y (only with some chunks)
Thank you very much,
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.15.2
Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15)
Versions of packages gqview depends on:
ii libatk1.0-0 1.10.3-1 The ATK accessibility toolkit
ii libc6 2.3.6-7 GNU C Library: Shared libraries
ii libglib2.0-0 2.10.2-1 The GLib library of C routines
ii libgtk2.0-0 2.8.16-1 The GTK+ graphical user interface
ii libpango1.0-0 1.12.1-2 Layout and rendering of internatio
-- no debconf information
*** /home/carles/down/gqview-copy-path-2.0.1.patch
Only in gqview-2.0.1: gqview.spec
Only in gqview-2.0.1-carles2/src: core
diff -upr gqview-2.0.1/src/layout_image.c
gqview-2.0.1-carles2/src/layout_image.c
--- gqview-2.0.1/src/layout_image.c 2005-03-01 17:00:03.000000000 +0100
+++ gqview-2.0.1-carles2/src/layout_image.c 2006-04-13 10:14:29.000000000
+0200
@@ -631,6 +631,12 @@ static void li_pop_menu_copy_cb(GtkWidge
li_pop_menu_click_parent(widget, lw));
}
+static void li_pop_menu_copy_path_cb(GtkWidget *widget, gpointer data)
+{
+ LayoutWindow *lw = data;
+ file_util_copy_path(layout_image_get_path(lw));
+}
+
static void li_pop_menu_move_cb(GtkWidget *widget, gpointer data)
{
LayoutWindow *lw = data;
@@ -725,6 +731,7 @@ static GtkWidget *layout_image_pop_menu(
menu_item_add_divider(menu);
item = menu_item_add_stock(menu, _("_Copy..."), GTK_STOCK_COPY,
G_CALLBACK(li_pop_menu_copy_cb), lw);
+ item = menu_item_add(menu, _("_Copy path"),
G_CALLBACK(li_pop_menu_copy_path_cb), lw);
if (!path) gtk_widget_set_sensitive(item, FALSE);
item = menu_item_add(menu, _("_Move..."),
G_CALLBACK(li_pop_menu_move_cb), lw);
if (!path) gtk_widget_set_sensitive(item, FALSE);
diff -upr gqview-2.0.1/src/layout_util.c gqview-2.0.1-carles2/src/layout_util.c
--- gqview-2.0.1/src/layout_util.c 2005-03-01 17:00:03.000000000 +0100
+++ gqview-2.0.1-carles2/src/layout_util.c 2006-04-13 10:31:46.000000000
+0200
@@ -310,6 +310,12 @@ static void layout_menu_copy_cb(GtkActio
file_util_copy(NULL, layout_selection_list(lw), NULL, lw->window);
}
+static void layout_menu_copy_path_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+ file_util_copy_path_list(layout_selection_list(lw));
+}
+
static void layout_menu_move_cb(GtkAction *action, gpointer data)
{
LayoutWindow *lw = data;
@@ -759,7 +765,8 @@ static GtkActionEntry menu_entries[] = {
{ "FindDupes", GTK_STOCK_FIND, N_("_Find duplicates..."),"D",
NULL, CB(layout_menu_dupes_cb) },
{ "Print", GTK_STOCK_PRINT,N_("_Print..."), "<shift>P",
NULL, CB(layout_menu_print_cb) },
{ "NewFolder", NULL, N_("N_ew folder..."), "<control>F",
NULL, CB(layout_menu_dir_cb) },
- { "Copy", NULL, N_("_Copy..."), "<control>C",
NULL, CB(layout_menu_copy_cb) },
+ { "Copy", GTK_STOCK_COPY, N_("_Copy..."), "<control>C",
NULL, CB(layout_menu_copy_cb) },
+ { "Copy path", NULL, N_("_Copy path"), NULL,
NULL, CB(layout_menu_copy_path_cb) },
{ "Move", NULL, N_("_Move..."), "<control>M",
NULL, CB(layout_menu_move_cb) },
{ "Rename", NULL, N_("_Rename..."), "<control>R",
NULL, CB(layout_menu_rename_cb) },
{ "Delete", GTK_STOCK_DELETE, N_("_Delete..."), "<control>D",
NULL, CB(layout_menu_delete_cb) },
@@ -836,6 +843,7 @@ static const char *menu_ui_description =
" <menuitem action='NewFolder'/>"
" <separator/>"
" <menuitem action='Copy'/>"
+" <menuitem action='Copy path'/>"
" <menuitem action='Move'/>"
" <menuitem action='Rename'/>"
" <menuitem action='Delete'/>"
diff -upr gqview-2.0.1/src/utilops.c gqview-2.0.1-carles2/src/utilops.c
--- gqview-2.0.1/src/utilops.c 2005-05-14 18:23:05.000000000 +0200
+++ gqview-2.0.1-carles2/src/utilops.c 2006-04-13 12:49:11.000000000 +0200
@@ -1078,6 +1078,41 @@ void file_util_copy(const gchar *source_
real_file_util_move(source_path, source_list, dest_path, TRUE, parent);
}
+void file_util_copy_path(const gchar *path)
+{
+ static GtkClipboard *clipboard;
+ clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+
+ gtk_clipboard_set_text(clipboard,g_shell_quote(path),-1);
+}
+
+void file_util_copy_path_list(GList *list)
+{
+ static GtkClipboard *clipboard;
+ gchar *dest, *temp;
+ gchar *t2;
+ GList *l = list;
+
+ clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
+
+ dest = g_new(gchar,1); g_sprintf(dest,"");
+
+ while (l) {
+ temp = g_shell_quote(l->data);
+
+ //we save dest buffer to request more memory...
+ t2 = g_strdup(dest);
+
+ //we request more memory
+ dest = g_renew(gchar,dest,strlen(dest)+strlen(temp)+2);
+
+ g_sprintf(dest,"%s %s",temp,t2);
+
+ l=l->next;
+ }
+ gtk_clipboard_set_text(clipboard,dest,-1);
+}
+
void file_util_move_simple(GList *list, const gchar *dest_path)
{
if (!list) return;
diff -upr gqview-2.0.1/src/view_file_list.c
gqview-2.0.1-carles2/src/view_file_list.c
--- gqview-2.0.1/src/view_file_list.c 2005-03-01 17:00:03.000000000 +0100
+++ gqview-2.0.1-carles2/src/view_file_list.c 2006-04-13 12:54:27.000000000
+0200
@@ -256,6 +256,13 @@ static void vflist_pop_menu_copy_cb(GtkW
file_util_copy(NULL, vflist_pop_menu_file_list(vfl), NULL,
vfl->listview);
}
+static void vflist_pop_menu_copy_path_cb(GtkWidget *widget, gpointer data)
+{
+ ViewFileList *vfl = data;
+
+ file_util_copy_path_list(vflist_pop_menu_file_list(vfl));
+}
+
static void vflist_pop_menu_move_cb(GtkWidget *widget, gpointer data)
{
ViewFileList *vfl = data;
@@ -398,6 +405,8 @@ static GtkWidget *vflist_pop_menu(ViewFi
menu_item_add_divider(menu);
menu_item_add_stock_sensitive(menu, _("_Copy..."), GTK_STOCK_COPY,
active,
G_CALLBACK(vflist_pop_menu_copy_cb), vfl);
+ menu_item_add_sensitive(menu, _("_Copy path"), active,
+ G_CALLBACK(vflist_pop_menu_copy_path_cb),
vfl);
menu_item_add_sensitive(menu, _("_Move..."), active,
G_CALLBACK(vflist_pop_menu_move_cb), vfl);
menu_item_add_sensitive(menu, _("_Rename..."), active,
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]