force the metadata dialog if it was triggered by the menu or the button
authorVladimir Nadvornik <nadvornik@suse.cz>
Sat, 2 May 2009 11:14:24 +0000 (11:14 +0000)
committerVladimir Nadvornik <nadvornik@suse.cz>
Sat, 2 May 2009 11:14:24 +0000 (11:14 +0000)
src/layout.c
src/layout_util.c
src/main.c
src/metadata.c
src/metadata.h
src/utilops.c
src/utilops.h

index 8196cc7..ddaf540 100644 (file)
@@ -926,7 +926,7 @@ gboolean layout_set_fd(LayoutWindow *lw, FileData *fd)
                }
 
        if (options->metadata.confirm_on_dir_change && dir_changed)
-               metadata_write_queue_confirm(NULL, NULL);
+               metadata_write_queue_confirm(FALSE, NULL, NULL);
 
        return TRUE;
 }
index 8f7f441..d0283ca 100644 (file)
@@ -1038,7 +1038,7 @@ void layout_edit_update_all(void)
 
 static void layout_menu_metadata_write_cb(GtkAction *action, gpointer data)
 {
-       metadata_write_queue_confirm(NULL, NULL);
+       metadata_write_queue_confirm(TRUE, NULL, NULL);
 }
 
 
@@ -2390,7 +2390,7 @@ void layout_bars_new_image(LayoutWindow *lw)
 
        /* this should be called here to handle the metadata edited in bars */
        if (options->metadata.confirm_on_image_change)
-               metadata_write_queue_confirm(NULL, NULL);
+               metadata_write_queue_confirm(FALSE, NULL, NULL);
 }
 
 void layout_bars_new_selection(LayoutWindow *lw, gint count)
index d21abd9..f94348a 100644 (file)
@@ -668,7 +668,7 @@ void exit_program(void)
 {
        layout_image_full_screen_stop(NULL);
 
-       if (metadata_write_queue_confirm(exit_program_write_metadata_cb, NULL)) return;
+       if (metadata_write_queue_confirm(FALSE, exit_program_write_metadata_cb, NULL)) return;
 
        if (exit_confirm_dlg()) return;
 
index aa2ba00..fae121d 100644 (file)
@@ -104,7 +104,7 @@ gboolean metadata_write_queue_remove_list(GList *list)
 }
 
 
-gboolean metadata_write_queue_confirm(FileUtilDoneFunc done_func, gpointer done_data)
+gboolean metadata_write_queue_confirm(gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data)
 {
        GList *work;
        GList *to_approve = NULL;
@@ -120,7 +120,7 @@ gboolean metadata_write_queue_confirm(FileUtilDoneFunc done_func, gpointer done_
                to_approve = g_list_prepend(to_approve, file_data_ref(fd));
                }
 
-       file_util_write_metadata(NULL, to_approve, NULL, done_func, done_data);
+       file_util_write_metadata(NULL, to_approve, NULL, force_dialog, done_func, done_data);
        
        filelist_free(to_approve);
        
@@ -129,7 +129,7 @@ gboolean metadata_write_queue_confirm(FileUtilDoneFunc done_func, gpointer done_
 
 static gboolean metadata_write_queue_idle_cb(gpointer data)
 {
-       metadata_write_queue_confirm(NULL, NULL);
+       metadata_write_queue_confirm(FALSE, NULL, NULL);
        metadata_write_idle_id = 0;
        return FALSE;
 }
index a657de7..37fa315 100644 (file)
@@ -21,7 +21,7 @@
 gboolean metadata_write_queue_remove(FileData *fd);
 gboolean metadata_write_queue_remove_list(GList *list);
 gboolean metadata_write_perform(FileData *fd);
-gboolean metadata_write_queue_confirm(FileUtilDoneFunc done_func, gpointer done_data);
+gboolean metadata_write_queue_confirm(gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data);
 
 gint metadata_queue_length(void);
 
index bb24a5d..f3849b9 100644 (file)
@@ -2619,10 +2619,10 @@ void file_util_delete(FileData *source_fd, GList *source_list, GtkWidget *parent
        file_util_delete_full(source_fd, source_list, parent, options->file_ops.confirm_delete ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING);
 }
 
-void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent, FileUtilDoneFunc done_func, gpointer done_data)
+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, 
-                                     (options->metadata.save_in_image_file && options->metadata.confirm_write) ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING,
+                                     ((options->metadata.save_in_image_file && options->metadata.confirm_write) || force_dialog) ? UTILITY_PHASE_START : UTILITY_PHASE_ENTERING,
                                      done_func, done_data);
 }
 
index 3908a84..9941720 100644 (file)
@@ -37,7 +37,7 @@ void file_util_delete(FileData *source_fd, GList *source_list, GtkWidget *parent
 void file_util_move(FileData *source_fd, GList *source_list, const gchar *dest_path, GtkWidget *parent);
 void file_util_copy(FileData *source_fd, GList *source_list, const gchar *dest_path, GtkWidget *parent);
 void file_util_rename(FileData *source_fd, GList *source_list, GtkWidget *parent);
-void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent, FileUtilDoneFunc done_func, gpointer done_data);
+void file_util_write_metadata(FileData *source_fd, GList *source_list, GtkWidget *parent, gboolean force_dialog, FileUtilDoneFunc done_func, gpointer done_data);
 
 void file_util_create_dir(FileData *dir_fd, GtkWidget *parent, FileUtilDoneFunc done_func, gpointer done_data);