<entry />\r
<entry>Copy path</entry>\r
<entry>\r
- <para>Copy sjkhsdlfjhvfljhDelete file or folder</para>\r
+ <para>\r
+ Copy selected item-path(s) to clipboard\r
+ <footnote id='ref1'>\r
+ The clipboard used is selected\r
+ <link linkend="Behaviour">here.</link>\r
+ </footnote>\r
+ . Each data item copied will be enclosed in quotes.\r
+ </para>\r
+ </entry>\r
+ </row>\r
+ <row>\r
+ <entry />\r
+ <entry>Copy path unquoted</entry>\r
+ <entry>\r
+ <para>Copy selected item-path(s) to clipboard. The data will not be enclosed in quotes.</para>\r
</entry>\r
</row>\r
<row>\r
</menuchoice>\r
</term>\r
<listitem>\r
- <para>Copy selected item path to clipboard.</para>\r
+ <para>\r
+ Copy selected item-path(s) to clipboard\r
+ <footnote id='ref1'>\r
+ The clipboard used is selected\r
+ <link linkend="Behaviour">here.</link>\r
+ </footnote>\r
+ . Each data item copied will be enclosed in quotes.\r
+ </para>\r
+ </listitem>\r
+ </varlistentry>\r
+ <varlistentry>\r
+ <term>\r
+ <menuchoice>\r
+ <guimenu>Copy path unquoted</guimenu>\r
+ </menuchoice>\r
+ </term>\r
+ <listitem>\r
+ <para>Copy selected item-path(s) to clipboard. The data will not be enclosed in quotes.</para>\r
</listitem>\r
</varlistentry>\r
<varlistentry>\r
{
CollectTable *ct = data;
- file_util_copy_path_list_to_clipboard(collection_table_popup_file_list(ct));
+ file_util_copy_path_list_to_clipboard(collection_table_popup_file_list(ct), TRUE);
+}
+
+static void collection_table_popup_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ CollectTable *ct = data;
+
+ file_util_copy_path_list_to_clipboard(collection_table_popup_file_list(ct), FALSE);
}
static void collection_table_popup_sort_cb(GtkWidget *widget, gpointer data)
G_CALLBACK(collection_table_popup_rename_cb), ct);
menu_item_add_sensitive(menu, _("_Copy path"), over_icon,
G_CALLBACK(collection_table_popup_copy_path_cb), ct);
+ menu_item_add_sensitive(menu, _("_Copy path unquoted"), over_icon,
+ G_CALLBACK(collection_table_popup_copy_path_unquoted_cb), ct);
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, over_icon,
G_CALLBACK(collection_table_popup_delete_cb), ct);
menu_item_add_divider(menu);
{
DupeWindow *dw = data;
- file_util_copy_path_list_to_clipboard(dupe_listview_get_selection(dw, dw->listview));
+ file_util_copy_path_list_to_clipboard(dupe_listview_get_selection(dw, dw->listview), TRUE);
+}
+
+static void dupe_menu_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ DupeWindow *dw = data;
+
+ file_util_copy_path_list_to_clipboard(dupe_listview_get_selection(dw, dw->listview), FALSE);
}
static void dupe_menu_remove_cb(GtkWidget *widget, gpointer data)
G_CALLBACK(dupe_menu_rename_cb), dw);
menu_item_add_sensitive(menu, _("_Copy path"), on_row,
G_CALLBACK(dupe_menu_copy_path_cb), dw);
+ menu_item_add_sensitive(menu, _("_Copy path unquoted"), on_row,
+ G_CALLBACK(dupe_menu_copy_path_unquoted_cb), dw);
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row,
G_CALLBACK(dupe_menu_delete_cb), dw);
menu_item_add_divider(menu);
ImageWindow *imd;
imd = view_window_active_image(vw);
- file_util_copy_path_to_clipboard(image_get_fd(imd));
+ file_util_copy_path_to_clipboard(image_get_fd(imd), TRUE);
+}
+
+static void view_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ ViewWindow *vw = data;
+ ImageWindow *imd;
+
+ imd = view_window_active_image(vw);
+ file_util_copy_path_to_clipboard(image_get_fd(imd), FALSE);
}
static void view_fullscreen_cb(GtkWidget *widget, gpointer data)
menu_item_add(menu, _("_Move..."), G_CALLBACK(view_move_cb), vw);
menu_item_add(menu, _("_Rename..."), G_CALLBACK(view_rename_cb), vw);
menu_item_add(menu, _("_Copy path"), G_CALLBACK(view_copy_path_cb), vw);
+ menu_item_add(menu, _("_Copy path unquoted"), G_CALLBACK(view_copy_path_unquoted_cb), vw);
menu_item_add_stock(menu, _("_Delete..."), GTK_STOCK_DELETE, G_CALLBACK(view_delete_cb), vw);
menu_item_add_divider(menu);
{
LayoutWindow *lw = data;
- file_util_copy_path_to_clipboard(layout_image_get_fd(lw));
+ file_util_copy_path_to_clipboard(layout_image_get_fd(lw), TRUE);
+}
+
+static void li_pop_menu_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ LayoutWindow *lw = data;
+
+ file_util_copy_path_to_clipboard(layout_image_get_fd(lw), FALSE);
}
static void li_pop_menu_move_cb(GtkWidget *widget, gpointer data)
item = menu_item_add(menu, _("_Rename..."), G_CALLBACK(li_pop_menu_rename_cb), lw);
if (!path) gtk_widget_set_sensitive(item, FALSE);
item = menu_item_add(menu, _("_Copy path"), G_CALLBACK(li_pop_menu_copy_path_cb), lw);
+ item = menu_item_add(menu, _("_Copy path unquoted"), G_CALLBACK(li_pop_menu_copy_path_unquoted_cb), lw);
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);
{
LayoutWindow *lw = data;
- file_util_copy_path_list_to_clipboard(layout_selection_list(lw));
+ file_util_copy_path_list_to_clipboard(layout_selection_list(lw), TRUE);
+}
+
+static void layout_menu_copy_path_unquoted_cb(GtkAction *action, gpointer data)
+{
+ LayoutWindow *lw = data;
+
+ file_util_copy_path_list_to_clipboard(layout_selection_list(lw), FALSE);
}
static void layout_menu_move_cb(GtkAction *action, gpointer data)
{ "EnableGrouping", NULL, N_("Enable file _grouping"), NULL, N_("Enable file grouping"), CB(layout_menu_enable_grouping_cb) },
{ "DisableGrouping", NULL, N_("Disable file groupi_ng"), NULL, N_("Disable file grouping"), CB(layout_menu_disable_grouping_cb) },
{ "CopyPath", NULL, N_("_Copy path to clipboard"), NULL, N_("Copy path to clipboard"), CB(layout_menu_copy_path_cb) },
+ { "CopyPathUnquoted", NULL, N_("_Copy path unquoted to clipboard"), NULL, N_("Copy path unquoted to clipboard"), CB(layout_menu_copy_path_unquoted_cb) },
{ "CloseWindow", GTK_STOCK_CLOSE, N_("C_lose window"), "<control>W", N_("Close window"), CB(layout_menu_close_cb) },
{ "Quit", GTK_STOCK_QUIT, N_("_Quit"), "<control>Q", N_("Quit"), CB(layout_menu_exit_cb) },
{ "RotateCW", NULL, N_("_Rotate clockwise"), "bracketright", N_("Rotate clockwise"), CB(layout_menu_alter_90_cb) },
" <placeholder name='SelectSection'/>"
" <separator/>"
" <menuitem action='CopyPath'/>"
+" <menuitem action='CopyPathUnquoted'/>"
" <placeholder name='ClipboardSection'/>"
" <separator/>"
" <menuitem action='ShowMarks'/>"
FileData *fd;
fd = pan_menu_click_fd(pw);
- if (fd) file_util_copy_path_to_clipboard(fd);
+ if (fd) file_util_copy_path_to_clipboard(fd, TRUE);
+}
+
+static void pan_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ PanWindow *pw = data;
+ FileData *fd;
+
+ fd = pan_menu_click_fd(pw);
+ if (fd) file_util_copy_path_to_clipboard(fd, FALSE);
}
static void pan_exif_date_toggle_cb(GtkWidget *widget, gpointer data)
G_CALLBACK(pan_rename_cb), pw);
menu_item_add_sensitive(menu, _("_Copy path"), active,
G_CALLBACK(pan_copy_path_cb), pw);
+ menu_item_add_sensitive(menu, _("_Copy path unquoted"), active,
+ G_CALLBACK(pan_copy_path_unquoted_cb), pw);
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active,
G_CALLBACK(pan_delete_cb), pw);
{
SearchData *sd = data;
- file_util_copy_path_list_to_clipboard(search_result_selection_list(sd));
+ file_util_copy_path_list_to_clipboard(search_result_selection_list(sd), TRUE);
+}
+
+static void sr_menu_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ SearchData *sd = data;
+
+ file_util_copy_path_list_to_clipboard(search_result_selection_list(sd), FALSE);
}
static void sr_menu_remove_cb(GtkWidget *widget, gpointer data)
G_CALLBACK(sr_menu_rename_cb), sd);
menu_item_add_sensitive(menu, _("_Copy path"), on_row,
G_CALLBACK(sr_menu_copy_path_cb), sd);
+ menu_item_add_sensitive(menu, _("_Copy path unquoted"), on_row,
+ G_CALLBACK(sr_menu_copy_path_unquoted_cb), sd);
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, on_row,
G_CALLBACK(sr_menu_delete_cb), sd);
menu_item_add_divider(menu);
}
-void file_util_copy_path_to_clipboard(FileData *fd)
+void file_util_copy_path_to_clipboard(FileData *fd, gboolean quoted)
{
GtkClipboard *clipboard;
{
clipboard = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
}
- gtk_clipboard_set_text(clipboard, g_shell_quote(fd->path), -1);
+ if (quoted)
+ {
+ gtk_clipboard_set_text(clipboard, g_shell_quote(fd->path), -1);
+ }
+ else
+ {
+ gtk_clipboard_set_text(clipboard, fd->path, -1);
+ }
}
-void file_util_copy_path_list_to_clipboard(GList *list)
+void file_util_copy_path_list_to_clipboard(GList *list, gboolean quoted)
{
GtkClipboard *clipboard;
GList *work;
if (!fd || !*fd->path) continue;
- g_string_append(new, g_shell_quote(fd->path));
+ if (quoted)
+ {
+ g_string_append(new, g_shell_quote(fd->path));
+ }
+ else
+ {
+ g_string_append(new, fd->path);
+ }
if (work) g_string_append_c(new, ' ');
}
void file_util_delete_dir(FileData *source_fd, GtkWidget *parent);
-void file_util_copy_path_to_clipboard(FileData *fd);
-void file_util_copy_path_list_to_clipboard(GList *list);
+void file_util_copy_path_to_clipboard(FileData *fd, gboolean quoted);
+void file_util_copy_path_list_to_clipboard(GList *list, gboolean quoted);
#endif
/* vim: set shiftwidth=8 softtabstop=0 cindent cinoptions={1s: */
if (!vd->click_fd) return;
- file_util_copy_path_to_clipboard(vd->click_fd);
+ file_util_copy_path_to_clipboard(vd->click_fd, TRUE);
+}
+
+static void vd_pop_menu_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ ViewDir *vd = data;
+
+ if (!vd->click_fd) return;
+
+ file_util_copy_path_to_clipboard(vd->click_fd, FALSE);
}
static void vd_pop_submenu_dir_view_as_cb(GtkWidget *widget, gpointer data)
menu_item_add(menu, _("_Copy path"),
G_CALLBACK(vd_pop_menu_copy_path_cb), vd);
+ menu_item_add(menu, _("_Copy path unquoted"),
+ G_CALLBACK(vd_pop_menu_copy_path_unquoted_cb), vd);
+
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, rename_delete_active,
G_CALLBACK(vd_pop_menu_delete_cb), vd);
menu_item_add_divider(menu);
{
ViewFile *vf = data;
- file_util_copy_path_list_to_clipboard(vf_pop_menu_file_list(vf));
+ file_util_copy_path_list_to_clipboard(vf_pop_menu_file_list(vf), TRUE);
+}
+
+static void vf_pop_menu_copy_path_unquoted_cb(GtkWidget *widget, gpointer data)
+{
+ ViewFile *vf = data;
+
+ file_util_copy_path_list_to_clipboard(vf_pop_menu_file_list(vf), FALSE);
}
static void vf_pop_menu_enable_grouping_cb(GtkWidget *widget, gpointer data)
G_CALLBACK(vf_pop_menu_rename_cb), vf);
menu_item_add_sensitive(menu, _("_Copy path"), active,
G_CALLBACK(vf_pop_menu_copy_path_cb), vf);
+ menu_item_add_sensitive(menu, _("_Copy path unquoted"), active,
+ G_CALLBACK(vf_pop_menu_copy_path_unquoted_cb), vf);
menu_item_add_stock_sensitive(menu, _("_Delete..."), GTK_STOCK_DELETE, active,
G_CALLBACK(vf_pop_menu_delete_cb), vf);
menu_item_add_divider(menu);