# HG changeset patch # User nadvornik # Date 1232491989 0 # Node ID b2d98b7c26c1bd7eaf64f64470fed9cad011c991 # Parent 5106f40597a3f2b5de0ca6cc2f6fcde4673b77e0 improved metadata preferences diff -r 5106f40597a3 -r b2d98b7c26c1 src/metadata.c --- a/src/metadata.c Tue Jan 20 22:29:31 2009 +0000 +++ b/src/metadata.c Tue Jan 20 22:53:09 2009 +0000 @@ -64,7 +64,7 @@ metadata_write_idle_id = -1; } - if (options->metadata.confirm_timeout > 0) + if (options->metadata.confirm_after_timeout) { metadata_write_idle_id = g_timeout_add(options->metadata.confirm_timeout * 1000, metadata_write_queue_idle_cb, NULL); } diff -r 5106f40597a3 -r b2d98b7c26c1 src/options.c --- a/src/options.c Tue Jan 20 22:29:31 2009 +0000 +++ b/src/options.c Tue Jan 20 22:53:09 2009 +0000 @@ -143,7 +143,8 @@ options->metadata.save_legacy_format = FALSE; options->metadata.sync_grouped_files = TRUE; options->metadata.confirm_write = TRUE; - options->metadata.confirm_timeout = 0; + options->metadata.confirm_after_timeout = FALSE; + options->metadata.confirm_timeout = 10; options->metadata.confirm_on_image_change = FALSE; options->metadata.confirm_on_dir_change = TRUE; diff -r 5106f40597a3 -r b2d98b7c26c1 src/options.h --- a/src/options.h Tue Jan 20 22:29:31 2009 +0000 +++ b/src/options.h Tue Jan 20 22:53:09 2009 +0000 @@ -269,6 +269,7 @@ gboolean confirm_write; gint confirm_timeout; + gboolean confirm_after_timeout; gboolean confirm_on_image_change; gboolean confirm_on_dir_change; } metadata; diff -r 5106f40597a3 -r b2d98b7c26c1 src/preferences.c --- a/src/preferences.c Tue Jan 20 22:29:31 2009 +0000 +++ b/src/preferences.c Tue Jan 20 22:53:09 2009 +0000 @@ -346,6 +346,7 @@ options->metadata.sync_grouped_files = c_options->metadata.sync_grouped_files; options->metadata.confirm_write = c_options->metadata.confirm_write; options->metadata.confirm_timeout = c_options->metadata.confirm_timeout; + options->metadata.confirm_after_timeout = c_options->metadata.confirm_after_timeout; options->metadata.confirm_on_image_change = c_options->metadata.confirm_on_image_change; options->metadata.confirm_on_dir_change = c_options->metadata.confirm_on_dir_change; @@ -1669,25 +1670,34 @@ pref_checkbox_new_int(group, _("Store metadata and cache files in source image's directory"), options->metadata.enable_metadata_dirs, &c_options->metadata.enable_metadata_dirs); - pref_checkbox_new_int(group, _("Store keywords and comments as XMP tags in image files"), + ct_button = pref_checkbox_new_int(group, _("Store keywords and comments as XMP tags in image files"), options->metadata.save_in_image_file, &c_options->metadata.save_in_image_file); - pref_checkbox_new_int(group, _("Store keywords and comments also in legacy IPTC tags"), + hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_VERTICAL, PREF_PAD_SPACE); + pref_checkbox_link_sensitivity(ct_button, hbox); + + pref_checkbox_new_int(hbox, _("Store keywords and comments also in legacy IPTC tags"), options->metadata.save_legacy_IPTC, &c_options->metadata.save_legacy_IPTC); - pref_checkbox_new_int(group, _("Warn if the image files are unwritable"), + pref_checkbox_new_int(hbox, _("Warn if the image files are unwritable"), options->metadata.warn_on_write_problems, &c_options->metadata.warn_on_write_problems); + pref_checkbox_new_int(hbox, _("Ask before writing to image files"), + options->metadata.confirm_write, &c_options->metadata.confirm_write); + pref_checkbox_new_int(group, _("Save metadata in GQview legacy metadata format"), options->metadata.save_legacy_format, &c_options->metadata.save_legacy_format); pref_checkbox_new_int(group, _("Write the same keywords and comment to all files in a group"), options->metadata.sync_grouped_files, &c_options->metadata.sync_grouped_files); - pref_checkbox_new_int(group, _("Ask before writing to image files"), - options->metadata.confirm_write, &c_options->metadata.confirm_write); + ct_button = pref_checkbox_new_int(group, _("Write metadata after timeout"), + options->metadata.confirm_after_timeout, &c_options->metadata.confirm_after_timeout); - pref_spin_new_int(group, _("Write metadata after timeout (seconds):"), NULL, 0, 900, 1, + hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); + pref_checkbox_link_sensitivity(ct_button, hbox); + + pref_spin_new_int(hbox, _("Timeout (seconds):"), NULL, 0, 900, 1, options->metadata.confirm_timeout, &c_options->metadata.confirm_timeout); pref_checkbox_new_int(group, _("Write metadata on image change"), diff -r 5106f40597a3 -r b2d98b7c26c1 src/rcfile.c --- a/src/rcfile.c Tue Jan 20 22:29:31 2009 +0000 +++ b/src/rcfile.c Tue Jan 20 22:53:09 2009 +0000 @@ -547,6 +547,7 @@ WRITE_BOOL(metadata.sync_grouped_files); WRITE_BOOL(metadata.confirm_write); WRITE_INT(metadata.confirm_timeout); + WRITE_BOOL(metadata.confirm_after_timeout); WRITE_BOOL(metadata.confirm_on_image_change); WRITE_BOOL(metadata.confirm_on_dir_change); @@ -914,6 +915,7 @@ READ_BOOL(metadata.save_legacy_format); READ_BOOL(metadata.sync_grouped_files); READ_BOOL(metadata.confirm_write); + READ_BOOL(metadata.confirm_after_timeout); READ_INT(metadata.confirm_timeout); READ_BOOL(metadata.confirm_on_image_change); READ_BOOL(metadata.confirm_on_dir_change);