/*
* Geeqie
* (C) 2006 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
*
* Author: John Ellis
*
scrolled = gtk_scrolled_window_new(NULL, NULL);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled), GTK_SHADOW_IN);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled),
- GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+ GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_box_pack_start(GTK_BOX(box), scrolled, TRUE, TRUE, 0);
gtk_widget_show(scrolled);
if (!EDITOR_ERRORS(flags)) /* files were successfully deleted, call the maint functions */
{
- if (ud->with_sidecars)
+ if (ud->with_sidecars)
file_data_sc_apply_ci(fd);
else
file_data_apply_ci(fd);
ud->finalize_func(fd);
}
- if (ud->with_sidecars)
+ if (ud->with_sidecars)
file_data_sc_free_ci(fd);
else
file_data_free_ci(fd);
{
UtilityData *ud = data;
- if (!ud->perform_idle_id)
+ if (!ud->perform_idle_id)
{
/* this function was called directly
just setup idle callback and wait until we are called again
gboolean last = !ud->flist->next;
EditorFlags status = EDITOR_ERROR_STATUS;
- if (ud->with_sidecars ? file_data_sc_perform_ci(single_entry->data)
+ if (ud->with_sidecars ? file_data_sc_perform_ci(single_entry->data)
: file_data_perform_ci(single_entry->data))
status = 0; /* OK */
if (fail)
{
gchar *text;
- GenericDialog *gd;
text = g_strdup_printf("%s:\n\n%s", ud->messages.fail, ud->dir_fd->path);
- gd = file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
+ (void) file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
g_free(text);
file_data_unref(fail);
else
{
gchar *text;
- GenericDialog *gd;
text = g_strdup_printf("%s:\n\n%s", ud->messages.fail, ud->dir_fd->path);
- gd = file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
+ (void) file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
g_free(text);
}
break;
case UTILITY_TYPE_CREATE_FOLDER:
file_data_unref(ud->dir_fd);
- ud->dir_fd = file_data_new_simple(ud->dest_path);
+ ud->dir_fd = file_data_new_dir(ud->dest_path);
break;
case UTILITY_TYPE_DELETE:
case UTILITY_TYPE_DELETE_LINK:
if (discard && ud->discard_func) ud->discard_func(fd);
/* all files were excluded, this has the same effect as pressing the cancel button in the confirmation dialog*/
- if (!ud->flist)
+ if (!ud->flist)
{
/* both dialogs will be closed anyway, the signals would cause duplicate calls */
g_signal_handlers_disconnect_by_func(ud->gd->dialog, G_CALLBACK(file_util_details_dialog_close_cb), gd->dialog);
if (fd && fd->modified_xmp)
{
- keys = hash_table_get_keys(fd->modified_xmp);
+ keys = g_hash_table_get_keys(fd->modified_xmp);
}
g_assert(keys);
ud->messages.question = _("Write metadata?");
ud->messages.desc_flist = _("This will write the changed metadata into the following files");
ud->messages.desc_source_fd = "";
- ud->messages.fail = _("Metadata writting failed");
+ ud->messages.fail = _("Metadata writing failed");
file_util_dialog_run(ud);
}
ud = file_util_data_new(UTILITY_TYPE_RENAME_FOLDER);
ud->phase = phase;
- ud->with_sidecars = TRUE; /* does not matter, the directory should not have sidecars
+ ud->with_sidecars = TRUE; /* does not matter, the directory should not have sidecars
and the content must be handled including sidecars */
ud->dir_fd = file_data_ref(fd);
static void file_util_create_dir_full(FileData *fd, const gchar *dest_path, GtkWidget *parent, UtilityPhase phase, FileUtilDoneFunc done_func, gpointer done_data)
{
- UtilityData *ud;
+ UtilityData *ud;
ud = file_util_data_new(UTILITY_TYPE_CREATE_FOLDER);
g_free(buf);
}
- ud->dir_fd = file_data_new_simple(ud->dest_path);
+ ud->dir_fd = file_data_new_dir(ud->dest_path);
ud->done_func = done_func;
ud->done_data = done_data;
FileData *fd = work->data;
work = work->next;
- if (fd->change) return FALSE; /* another op. in progress, let the caller handle it */
+ if (fd->change)
+ {
+ filelist_free(unsaved);
+ return FALSE; /* another op. in progress, let the caller handle it */
+ }
if (fd->modified_xmp) /* has unsaved metadata */
{
- unsaved = g_list_prepend(unsaved, fd);
+ unsaved = g_list_prepend(unsaved, file_data_ref(fd));
}
}
void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent, gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data)
{
- file_util_write_metadata_full(source_fd, source_list, parent,
+ file_util_write_metadata_full(source_fd, source_list, parent,
((options->metadata.save_in_image_file && options->metadata.confirm_write) || force_dialog) ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING,
done_func, done_data);
}