Trim trailing white spaces.
[geeqie.git] / src / utilops.c
index a1e7118..8636e2e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Geeqie
  * (C) 2006 John Ellis
- * Copyright (C) 2008 - 2009 The Geeqie Team
+ * Copyright (C) 2008 - 2012 The Geeqie Team
  *
  * Author: John Ellis
  *
@@ -440,7 +440,7 @@ static GtkWidget *file_util_dialog_add_list(GtkWidget *box, GList *list, gboolea
        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);
 
@@ -571,7 +571,7 @@ static gint file_util_perform_ci_cb(gpointer resume_data, EditorFlags flags, GLi
 
                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);
@@ -584,7 +584,7 @@ static gint file_util_perform_ci_cb(gpointer resume_data, EditorFlags flags, GLi
                        ud->finalize_func(fd);
                        }
 
-               if (ud->with_sidecars) 
+               if (ud->with_sidecars)
                        file_data_sc_free_ci(fd);
                else
                        file_data_free_ci(fd);
@@ -611,7 +611,7 @@ static gboolean file_util_perform_ci_internal(gpointer data)
 {
        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
@@ -633,7 +633,7 @@ static gboolean file_util_perform_ci_internal(gpointer data)
                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 */
                
@@ -773,10 +773,9 @@ static void file_util_perform_ci_dir(UtilityData *ud, gboolean internal, gboolea
                        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);
@@ -793,10 +792,9 @@ static void file_util_perform_ci_dir(UtilityData *ud, gboolean internal, gboolea
                        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);
                                }
                        
@@ -872,7 +870,7 @@ void file_util_perform_ci(UtilityData *ud)
                                }
                        }
 
-               if (flags)
+               if (EDITOR_ERRORS(flags))
                        {
                        gchar *text = g_strdup_printf(_("%s\nUnable to start external command.\n"), editor_get_error_str(flags));
                        file_util_warning_dialog(ud->messages.fail, text, GTK_STOCK_DIALOG_ERROR, NULL);
@@ -1074,7 +1072,7 @@ static void file_util_dest_folder_update_path(UtilityData *ud)
                        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:
@@ -1743,7 +1741,7 @@ static void file_util_details_dialog_exclude(GenericDialog *gd, gpointer data, g
        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);
@@ -1849,7 +1847,7 @@ static void file_util_write_metadata_details_dialog(UtilityData *ud, FileData *f
        
        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);
@@ -1955,7 +1953,7 @@ static void file_util_delete_full(FileData *source_fd, GList *flist, GtkWidget *
 
        if (!flist) return;
        
-       flist = file_data_process_groups_in_selection(flist, &ungrouped);
+       flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
        
        if (!file_data_sc_add_ci_delete_list(flist))
                {
@@ -2030,7 +2028,7 @@ static void file_util_write_metadata_full(FileData *source_fd, GList *flist, Gtk
        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);
 }
@@ -2045,7 +2043,7 @@ static void file_util_move_full(FileData *source_fd, GList *flist, const gchar *
 
        if (!flist) return;
 
-       flist = file_data_process_groups_in_selection(flist, &ungrouped);
+       flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
 
        if (!file_data_sc_add_ci_move_list(flist, dest_path))
                {
@@ -2094,7 +2092,7 @@ static void file_util_copy_full(FileData *source_fd, GList *flist, const gchar *
        if (file_util_write_metadata_first(UTILITY_TYPE_COPY, phase, flist, dest_path, NULL, parent))
                return;
 
-       flist = file_data_process_groups_in_selection(flist, &ungrouped);
+       flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
 
        if (!file_data_sc_add_ci_copy_list(flist, dest_path))
                {
@@ -2140,7 +2138,7 @@ static void file_util_rename_full(FileData *source_fd, GList *flist, const gchar
 
        if (!flist) return;
 
-       flist = file_data_process_groups_in_selection(flist, &ungrouped);
+       flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
 
        if (!file_data_sc_add_ci_rename_list(flist, dest_path))
                {
@@ -2217,7 +2215,7 @@ static void file_util_start_editor_full(const gchar *key, FileData *source_fd, G
        if (file_util_write_metadata_first(UTILITY_TYPE_FILTER, phase, flist, dest_path, key, parent))
                return;
 
-       flist = file_data_process_groups_in_selection(flist, &ungrouped);
+       flist = file_data_process_groups_in_selection(flist, TRUE, &ungrouped);
 
        if (!file_data_sc_add_ci_unspecified_list(flist, dest_path))
                {
@@ -2621,7 +2619,7 @@ static void file_util_rename_dir_full(FileData *fd, const gchar *new_path, GtkWi
        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);
@@ -2653,7 +2651,7 @@ static void file_util_rename_dir_full(FileData *fd, const gchar *new_path, GtkWi
 
 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);
 
@@ -2676,7 +2674,7 @@ static void file_util_create_dir_full(FileData *fd, const gchar *dest_path, GtkW
                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;
@@ -2744,11 +2742,15 @@ static gboolean file_util_write_metadata_first(UtilityType type, UtilityPhase ph
                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));
                        }
                }
        
@@ -2780,7 +2782,7 @@ void file_util_delete(FileData *source_fd, GList *source_list, GtkWidget *parent
 
 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);
 }