+static void gr_get_sidecars(const gchar *text, GIOChannel *channel, gpointer data)
+{
+ gchar *filename = expand_tilde(text);
+ FileData *fd = file_data_new_simple(filename);
+
+ GList *work;
+ if (fd->parent) fd = fd->parent;
+
+ g_io_channel_write_chars(channel, fd->path, -1, NULL, NULL);
+ g_io_channel_write_chars(channel, "\n", -1, NULL, NULL);
+
+ work = fd->sidecar_files;
+
+ while (work)
+ {
+ fd = work->data;
+ work = work->next;
+ g_io_channel_write_chars(channel, fd->path, -1, NULL, NULL);
+ g_io_channel_write_chars(channel, "\n", -1, NULL, NULL);
+ }
+ g_free(filename);
+}
+
+static void gr_get_destination(const gchar *text, GIOChannel *channel, gpointer data)
+{
+ gchar *filename = expand_tilde(text);
+ FileData *fd = file_data_new_simple(filename);
+
+ if (fd->change && fd->change->dest)
+ {
+ g_io_channel_write_chars(channel, fd->change->dest, -1, NULL, NULL);
+ g_io_channel_write_chars(channel, "\n", -1, NULL, NULL);
+ }
+ g_free(filename);
+}
+