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]

Reply via email to