comparison src/search.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 5212d4fed37f
children 905688aa2317
comparison
equal deleted inserted replaced
496:a1f13fab6686 497:a33badd85f16
942 static void sr_menu_delete_cb(GtkWidget *widget, gpointer data) 942 static void sr_menu_delete_cb(GtkWidget *widget, gpointer data)
943 { 943 {
944 SearchData *sd = data; 944 SearchData *sd = data;
945 945
946 file_util_delete(NULL, search_result_selection_list(sd), sd->window); 946 file_util_delete(NULL, search_result_selection_list(sd), sd->window);
947 }
948
949 static void sr_menu_copy_path_cb(GtkWidget *widget, gpointer data)
950 {
951 SearchData *sd = data;
952
953 file_util_copy_path_list_to_clipboard(search_result_selection_list(sd));
947 } 954 }
948 955
949 static void sr_menu_remove_cb(GtkWidget *widget, gpointer data) 956 static void sr_menu_remove_cb(GtkWidget *widget, gpointer data)
950 { 957 {
951 SearchData *sd = data; 958 SearchData *sd = data;
991 G_CALLBACK(sr_menu_move_cb), sd); 998 G_CALLBACK(sr_menu_move_cb), sd);
992 menu_item_add_sensitive(menu, _("_Rename..."), on_row, 999 menu_item_add_sensitive(menu, _("_Rename..."), on_row,
993 G_CALLBACK(sr_menu_rename_cb), sd); 1000 G_CALLBACK(sr_menu_rename_cb), sd);
994 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row, 1001 menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row,
995 G_CALLBACK(sr_menu_delete_cb), sd); 1002 G_CALLBACK(sr_menu_delete_cb), sd);
1003 if (options->show_copy_path)
1004 menu_item_add_sensitive(menu, _("_Copy path"), on_row,
1005 G_CALLBACK(sr_menu_copy_path_cb), sd);
996 menu_item_add_divider(menu); 1006 menu_item_add_divider(menu);
997 menu_item_add_stock_sensitive(menu, _("Rem_ove"), GTK_STOCK_REMOVE, on_row, 1007 menu_item_add_stock_sensitive(menu, _("Rem_ove"), GTK_STOCK_REMOVE, on_row,
998 G_CALLBACK(sr_menu_remove_cb), sd); 1008 G_CALLBACK(sr_menu_remove_cb), sd);
999 menu_item_add_stock_sensitive(menu, _("C_lear"), GTK_STOCK_CLEAR, !empty, 1009 menu_item_add_stock_sensitive(menu, _("C_lear"), GTK_STOCK_CLEAR, !empty,
1000 G_CALLBACK(sr_menu_clear_cb), sd); 1010 G_CALLBACK(sr_menu_clear_cb), sd);