diff src/layout_image.c @ 497:a33badd85f16

Allow the copy of file paths to clipboard. This feature is disabled by default, it can be set through Preferences > Advanced > Behavior > Show "Copy path" ... When enabled, it adds a menu entry "Copy path" that let the user copies current selection's paths to X clipboard. It is very convenient to paste paths to xterm for example. Patch by Carles Pina i Estany and me.
author zas_
date Wed, 23 Apr 2008 22:17:21 +0000
parents c7a2471e5c4e
children fc9c8a3e1a8b
line wrap: on
line diff
--- a/src/layout_image.c	Wed Apr 23 21:08:29 2008 +0000
+++ b/src/layout_image.c	Wed Apr 23 22:17:21 2008 +0000
@@ -637,6 +637,13 @@
 		       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_to_clipboard(layout_image_get_fd(lw));
+}
+
 static void li_pop_menu_move_cb(GtkWidget *widget, gpointer data)
 {
 	LayoutWindow *lw = data;
@@ -765,6 +772,12 @@
 	if (!path) gtk_widget_set_sensitive(item, FALSE);
 	item = menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(li_pop_menu_delete_cb), lw);
 	if (!path) gtk_widget_set_sensitive(item, FALSE);
+	
+	if (options->show_copy_path)
+		{
+		item = menu_item_add(menu, _("_Copy path"), G_CALLBACK(li_pop_menu_copy_path_cb), lw);
+		if (!path) gtk_widget_set_sensitive(item, FALSE);
+	}
 
 	menu_item_add_divider(menu);