# HG changeset patch # User zas_ # Date 1208012698 0 # Node ID df868b947aa03839b228da5b4f45598dd13f75a6 # Parent 767b53cd9ab7ee61dcc80b353c7f91c16a464bdc Rename image-related options. diff -r 767b53cd9ab7 -r df868b947aa0 src/globals.c --- a/src/globals.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/globals.c Sat Apr 12 15:04:58 2008 +0000 @@ -50,15 +50,15 @@ options->safe_delete_path = NULL; options->safe_delete_size = 128; options->restore_tool = FALSE; - options->zoom_mode = ZOOM_RESET_ORIGINAL; - options->two_pass_zoom = TRUE; - options->scroll_reset_method = SCROLL_RESET_TOPLEFT; - options->fit_window = FALSE; - options->limit_window_size = FALSE; - options->zoom_to_fit_expands = TRUE; - options->max_window_size = 100; - options->limit_autofit_size = FALSE; - options->max_autofit_size = 100; + options->image.zoom_mode = ZOOM_RESET_ORIGINAL; + options->image.zoom_2pass = TRUE; + options->image.scroll_reset_method = SCROLL_RESET_TOPLEFT; + options->image.fit_window_to_image = FALSE; + options->image.limit_window_size = FALSE; + options->image.zoom_to_fit_allow_expand = TRUE; + options->image.max_window_size = 100; + options->image.limit_autofit_size = FALSE; + options->image.max_autofit_size = 100; options->thumbnails.max_width = DEFAULT_THUMB_WIDTH; options->thumbnails.max_height = DEFAULT_THUMB_HEIGHT; options->thumbnails.enable_caching = TRUE; @@ -86,14 +86,14 @@ options->collections.rectangular_selection = FALSE; - options->tile_cache_max = 10; + options->image.tile_cache_max = 10; options->thumbnails.quality = (gint)GDK_INTERP_TILES; - options->zoom_quality = (gint)GDK_INTERP_BILINEAR; - options->dither_quality = (gint)GDK_RGB_DITHER_NORMAL; + options->image.zoom_quality = (gint)GDK_INTERP_BILINEAR; + options->image.dither_quality = (gint)GDK_RGB_DITHER_NORMAL; - options->zoom_increment = 5; + options->image.zoom_increment = 5; - options->enable_read_ahead = TRUE; + options->image.enable_read_ahead = TRUE; options->place_dialogs_under_mouse = FALSE; @@ -124,7 +124,7 @@ options->lazy_image_sync = FALSE; options->update_on_time_change = TRUE; - options->exif_rotate_enable = TRUE; + options->image.exif_rotate_enable = TRUE; /* color profiles */ options->color_profile.enabled = FALSE; diff -r 767b53cd9ab7 -r df868b947aa0 src/image.c --- a/src/image.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/image.c Sat Apr 12 15:04:58 2008 +0000 @@ -427,13 +427,13 @@ if (!image_get_pixbuf(imd)) return; - if (options->exif_rotate_enable || + if (options->image.exif_rotate_enable || (imd->color_profile_enable && imd->color_profile_use_image) ) { exif = exif_read_fd(imd->image_fd, (imd->color_profile_enable && imd->color_profile_use_image)); } - if (options->exif_rotate_enable && exif) + if (options->image.exif_rotate_enable && exif) { gint orientation; @@ -938,7 +938,7 @@ pixbuf = image_get_pixbuf(imd); - if (options->enable_read_ahead && imd->image_fd && pixbuf) + if (options->image.enable_read_ahead && imd->image_fd && pixbuf) { if (imd->il) { @@ -1090,7 +1090,7 @@ imd->title_right = g_strdup(title_right); imd->title_show_zoom = show_zoom; - if (!options->fit_window) window = NULL; + if (!options->image.fit_window_to_image) window = NULL; pixbuf_renderer_set_parent((PixbufRenderer *)imd->pr, (GtkWindow *)window); @@ -1663,7 +1663,7 @@ pixbuf_renderer_get_scaled_size((PixbufRenderer *)imd->pr, &width, &height); } - pb = gdk_pixbuf_scale_simple(pixbuf, width, height, (GdkInterpType)options->zoom_quality); + pb = gdk_pixbuf_scale_simple(pixbuf, width, height, (GdkInterpType)options->image.zoom_quality); gdk_pixbuf_render_pixmap_and_mask (pb, &pixmap, NULL, 128); gdk_window_set_back_pixmap(rootwindow, pixmap, FALSE); @@ -1715,17 +1715,17 @@ static void image_options_set(ImageWindow *imd) { - g_object_set(G_OBJECT(imd->pr), "zoom_quality", options->zoom_quality, - "zoom_2pass", options->two_pass_zoom, - "zoom_expand", options->zoom_to_fit_expands, - "dither_quality", options->dither_quality, - "scroll_reset", options->scroll_reset_method, - "cache_display", options->tile_cache_max, - "window_fit", (imd->top_window_sync && options->fit_window), - "window_limit", options->limit_window_size, - "window_limit_value", options->max_window_size, - "autofit_limit", options->limit_autofit_size, - "autofit_limit_value", options->max_autofit_size, + g_object_set(G_OBJECT(imd->pr), "zoom_quality", options->image.zoom_quality, + "zoom_2pass", options->image.zoom_2pass, + "zoom_expand", options->image.zoom_to_fit_allow_expand, + "dither_quality", options->image.dither_quality, + "scroll_reset", options->image.scroll_reset_method, + "cache_display", options->image.tile_cache_max, + "window_fit", (imd->top_window_sync && options->image.fit_window_to_image), + "window_limit", options->image.limit_window_size, + "window_limit_value", options->image.max_window_size, + "autofit_limit", options->image.limit_autofit_size, + "autofit_limit_value", options->image.max_autofit_size, NULL); diff -r 767b53cd9ab7 -r df868b947aa0 src/img-view.c --- a/src/img-view.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/img-view.c Sat Apr 12 15:04:58 2008 +0000 @@ -112,7 +112,7 @@ if (next) { info = collection_next_by_info(cd, info); - if (options->enable_read_ahead) + if (options->image.enable_read_ahead) { read_ahead_info = collection_next_by_info(cd, info); if (!read_ahead_info) read_ahead_info = collection_prev_by_info(cd, info); @@ -121,7 +121,7 @@ else { info = collection_prev_by_info(cd, info); - if (options->enable_read_ahead) + if (options->image.enable_read_ahead) { read_ahead_info = collection_prev_by_info(cd, info); if (!read_ahead_info) read_ahead_info = collection_next_by_info(cd, info); @@ -130,7 +130,7 @@ if (info) { - image_change_from_collection(imd, cd, info, image_zoom_get_default(imd, options->zoom_mode)); + image_change_from_collection(imd, cd, info, image_zoom_get_default(imd, options->image.zoom_mode)); if (read_ahead_info) image_prebuffer_set(imd, read_ahead_info->fd); } @@ -151,17 +151,17 @@ if (last) { info = collection_get_last(cd); - if (options->enable_read_ahead) read_ahead_info = collection_prev_by_info(cd, info); + if (options->image.enable_read_ahead) read_ahead_info = collection_prev_by_info(cd, info); } else { info = collection_get_first(cd); - if (options->enable_read_ahead) read_ahead_info = collection_next_by_info(cd, info); + if (options->image.enable_read_ahead) read_ahead_info = collection_next_by_info(cd, info); } if (info) { - image_change_from_collection(imd, cd, info, image_zoom_get_default(imd, options->zoom_mode)); + image_change_from_collection(imd, cd, info, image_zoom_get_default(imd, options->image.zoom_mode)); if (read_ahead_info) image_prebuffer_set(imd, read_ahead_info->fd); } } @@ -221,9 +221,9 @@ vw->list_pointer = work; fd = work->data; - image_change_fd(imd, fd, image_zoom_get_default(imd, options->zoom_mode)); + image_change_fd(imd, fd, image_zoom_get_default(imd, options->image.zoom_mode)); - if (options->enable_read_ahead && work_ahead) + if (options->image.enable_read_ahead && work_ahead) { FileData *next_fd = work_ahead->data; image_prebuffer_set(imd, next_fd); @@ -252,9 +252,9 @@ vw->list_pointer = work; fd = work->data; - image_change_fd(imd, fd, image_zoom_get_default(imd, options->zoom_mode)); + image_change_fd(imd, fd, image_zoom_get_default(imd, options->image.zoom_mode)); - if (options->enable_read_ahead && work_ahead) + if (options->image.enable_read_ahead && work_ahead) { FileData *next_fd = work_ahead->data; image_prebuffer_set(imd, next_fd); @@ -877,8 +877,8 @@ G_CALLBACK(view_window_key_press_cb), vw); if (cd && info) { - image_change_from_collection(vw->imd, cd, info, image_zoom_get_default(NULL, options->zoom_mode)); - if (options->enable_read_ahead) + image_change_from_collection(vw->imd, cd, info, image_zoom_get_default(NULL, options->image.zoom_mode)); + if (options->image.enable_read_ahead) { CollectInfo * r_info = collection_next_by_info(cd, info); if (!r_info) r_info = collection_prev_by_info(cd, info); @@ -889,9 +889,9 @@ { view_window_set_list(vw, list); vw->list_pointer = vw->list; - image_change_fd(vw->imd, (FileData *)vw->list->data, image_zoom_get_default(NULL, options->zoom_mode)); + image_change_fd(vw->imd, (FileData *)vw->list->data, image_zoom_get_default(NULL, options->image.zoom_mode)); - if (options->enable_read_ahead) + if (options->image.enable_read_ahead) { GList *work = vw->list->next; if (work) image_prebuffer_set(vw->imd, (FileData *)work->data); @@ -899,7 +899,7 @@ } else { - image_change_fd(vw->imd, fd, image_zoom_get_default(NULL, options->zoom_mode)); + image_change_fd(vw->imd, fd, image_zoom_get_default(NULL, options->image.zoom_mode)); } if (image_zoom_get(vw->imd) == 0.0) @@ -910,10 +910,10 @@ { pixbuf_renderer_get_scaled_size(PIXBUF_RENDERER(vw->imd->pr), &w, &h); } - if (options->limit_window_size) + if (options->image.limit_window_size) { - gint mw = gdk_screen_width() * options->max_window_size / 100; - gint mh = gdk_screen_height() * options->max_window_size / 100; + gint mw = gdk_screen_width() * options->image.max_window_size / 100; + gint mh = gdk_screen_height() * options->image.max_window_size / 100; if (w > mw) w = mw; if (h > mh) h = mh; @@ -1351,10 +1351,10 @@ vw->list_pointer = vw->list; fd = vw->list->data; - image_change_fd(vw->imd, fd, image_zoom_get_default(vw->imd, options->zoom_mode)); + image_change_fd(vw->imd, fd, image_zoom_get_default(vw->imd, options->image.zoom_mode)); work = vw->list->next; - if (options->enable_read_ahead && work) + if (options->image.enable_read_ahead && work) { fd = work->data; image_prebuffer_set(vw->imd, fd); @@ -1362,7 +1362,7 @@ } else { - image_change_fd(vw->imd, NULL, image_zoom_get_default(vw->imd, options->zoom_mode)); + image_change_fd(vw->imd, NULL, image_zoom_get_default(vw->imd, options->image.zoom_mode)); } } @@ -1481,7 +1481,7 @@ if (source && info_list) { - image_change_from_collection(imd, source, info_list->data, image_zoom_get_default(imd, options->zoom_mode)); + image_change_from_collection(imd, source, info_list->data, image_zoom_get_default(imd, options->image.zoom_mode)); } else { @@ -1492,7 +1492,7 @@ vw->list_pointer = vw->list; } - image_change_fd(imd, fd, image_zoom_get_default(imd, options->zoom_mode)); + image_change_fd(imd, fd, image_zoom_get_default(imd, options->image.zoom_mode)); } } } @@ -1598,7 +1598,7 @@ } if (image_get_fd(imd) == image_fd) { - image_change_fd(imd, NULL, image_zoom_get_default(imd, options->zoom_mode)); + image_change_fd(imd, NULL, image_zoom_get_default(imd, options->image.zoom_mode)); } } @@ -1644,7 +1644,7 @@ fd = NULL; } - image_change_fd(imd, fd, image_zoom_get_default(imd, options->zoom_mode)); + image_change_fd(imd, fd, image_zoom_get_default(imd, options->image.zoom_mode)); } } diff -r 767b53cd9ab7 -r df868b947aa0 src/layout_image.c --- a/src/layout_image.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/layout_image.c Sat Apr 12 15:04:58 2008 +0000 @@ -1111,7 +1111,7 @@ image_get_scroll_center(lw->image, &sx, &sy); - image_change_fd(lw->image, fd, image_zoom_get_default(lw->image, options->zoom_mode)); + image_change_fd(lw->image, fd, image_zoom_get_default(lw->image, options->image.zoom_mode)); image_set_scroll_center(lw->image, sx, sy); @@ -1135,7 +1135,7 @@ } */ layout_image_set_fd(lw, fd); - if (options->enable_read_ahead) image_prebuffer_set(lw->image, read_ahead_fd); + if (options->image.enable_read_ahead) image_prebuffer_set(lw->image, read_ahead_fd); } void layout_image_set_index(LayoutWindow *lw, gint index) @@ -1203,8 +1203,8 @@ { if (!layout_valid(&lw)) return; - image_change_from_collection(lw->image, cd, info, image_zoom_get_default(lw->image, options->zoom_mode)); - if (options->enable_read_ahead) + image_change_from_collection(lw->image, cd, info, image_zoom_get_default(lw->image, options->image.zoom_mode)); + if (options->image.enable_read_ahead) { CollectInfo *r_info; if (forward) diff -r 767b53cd9ab7 -r df868b947aa0 src/main.c --- a/src/main.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/main.c Sat Apr 12 15:04:58 2008 +0000 @@ -113,7 +113,7 @@ gdouble get_zoom_increment(void) { - return ((options->zoom_increment != 0) ? (gdouble)options->zoom_increment / 10.0 : 1.0); + return ((options->image.zoom_increment != 0) ? (gdouble)options->image.zoom_increment / 10.0 : 1.0); } /* diff -r 767b53cd9ab7 -r df868b947aa0 src/pan-view.c --- a/src/pan-view.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/pan-view.c Sat Apr 12 15:04:58 2008 +0000 @@ -131,7 +131,7 @@ tmp = pi->pixbuf; pi->pixbuf = gdk_pixbuf_scale_simple(tmp, pi->width, pi->height, - (GdkInterpType)options->zoom_quality); + (GdkInterpType)options->image.zoom_quality); g_object_unref(tmp); } diff -r 767b53cd9ab7 -r df868b947aa0 src/preferences.c --- a/src/preferences.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/preferences.c Sat Apr 12 15:04:58 2008 +0000 @@ -111,24 +111,24 @@ static void zoom_mode_original_cb(GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) - c_options->zoom_mode = ZOOM_RESET_ORIGINAL; + c_options->image.zoom_mode = ZOOM_RESET_ORIGINAL; } static void zoom_mode_fit_cb(GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) - c_options->zoom_mode = ZOOM_RESET_FIT_WINDOW; + c_options->image.zoom_mode = ZOOM_RESET_FIT_WINDOW; } static void zoom_mode_none_cb(GtkWidget *widget, gpointer data) { if (GTK_TOGGLE_BUTTON (widget)->active) - c_options->zoom_mode = ZOOM_RESET_NONE; + c_options->image.zoom_mode = ZOOM_RESET_NONE; } static void zoom_increment_cb(GtkWidget *spin, gpointer data) { - c_options->zoom_increment = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) * 10.0 + 0.01); + c_options->image.zoom_increment = (gint)(gtk_spin_button_get_value(GTK_SPIN_BUTTON(spin)) * 10.0 + 0.01); } static void slideshow_delay_cb(GtkWidget *spin, gpointer data) @@ -189,14 +189,14 @@ options->safe_delete_size = c_options->safe_delete_size; options->restore_tool = c_options->restore_tool; options->save_window_positions = c_options->save_window_positions; - options->zoom_mode = c_options->zoom_mode; - options->two_pass_zoom = c_options->two_pass_zoom; - options->fit_window = c_options->fit_window; - options->limit_window_size = c_options->limit_window_size; - options->zoom_to_fit_expands = c_options->zoom_to_fit_expands; - options->max_window_size = c_options->max_window_size; - options->limit_autofit_size = c_options->limit_autofit_size; - options->max_autofit_size = c_options->max_autofit_size; + options->image.zoom_mode = c_options->image.zoom_mode; + options->image.zoom_2pass = c_options->image.zoom_2pass; + options->image.fit_window_to_image = c_options->image.fit_window_to_image; + options->image.limit_window_size = c_options->image.limit_window_size; + options->image.zoom_to_fit_allow_expand = c_options->image.zoom_to_fit_allow_expand; + options->image.max_window_size = c_options->image.max_window_size; + options->image.limit_autofit_size = c_options->image.limit_autofit_size; + options->image.max_autofit_size = c_options->image.max_autofit_size; options->progressive_key_scrolling = c_options->progressive_key_scrolling; options->thumbnails.max_width = c_options->thumbnails.max_width; options->thumbnails.max_height = c_options->thumbnails.max_height; @@ -224,14 +224,14 @@ options->collections.rectangular_selection = c_options->collections.rectangular_selection; - options->tile_cache_max = c_options->tile_cache_max; + options->image.tile_cache_max = c_options->image.tile_cache_max; options->thumbnails.quality = c_options->thumbnails.quality; - options->zoom_quality = c_options->zoom_quality; + options->image.zoom_quality = c_options->image.zoom_quality; - options->zoom_increment = c_options->zoom_increment; + options->image.zoom_increment = c_options->image.zoom_increment; - options->enable_read_ahead = c_options->enable_read_ahead; + options->image.enable_read_ahead = c_options->image.enable_read_ahead; if (options->user_specified_window_background != c_options->user_specified_window_background || !gdk_color_equal(&options->window_background_color, &c_options->window_background_color)) @@ -254,7 +254,7 @@ } options->update_on_time_change = c_options->update_on_time_change; - options->exif_rotate_enable = c_options->exif_rotate_enable; + options->image.exif_rotate_enable = c_options->image.exif_rotate_enable; options->dupe_custom_threshold = c_options->dupe_custom_threshold; @@ -879,42 +879,42 @@ group = pref_group_new(vbox, FALSE, _("Zoom"), GTK_ORIENTATION_VERTICAL); #if 0 - add_dither_menu(dither_quality, &c_options->dither_quality, _("Dithering method:"), group); + add_dither_menu(dither_quality, &c_options->image.dither_quality, _("Dithering method:"), group); #endif table = pref_table_new(group, 2, 1, FALSE, FALSE); - add_quality_menu(table, 0, 0, _("Quality:"), options->zoom_quality, &c_options->zoom_quality); + add_quality_menu(table, 0, 0, _("Quality:"), options->image.zoom_quality, &c_options->image.zoom_quality); pref_checkbox_new_int(group, _("Two pass zooming"), - options->two_pass_zoom, &c_options->two_pass_zoom); + options->image.zoom_2pass, &c_options->image.zoom_2pass); pref_checkbox_new_int(group, _("Allow enlargement of image for zoom to fit"), - options->zoom_to_fit_expands, &c_options->zoom_to_fit_expands); + options->image.zoom_to_fit_allow_expand, &c_options->image.zoom_to_fit_allow_expand); hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); ct_button = pref_checkbox_new_int(hbox, _("Limit image size when autofitting (%):"), - options->limit_autofit_size, &c_options->limit_autofit_size); + options->image.limit_autofit_size, &c_options->image.limit_autofit_size); spin = pref_spin_new_int(hbox, NULL, NULL, 10, 150, 1, - options->max_autofit_size, &c_options->max_autofit_size); + options->image.max_autofit_size, &c_options->image.max_autofit_size); pref_checkbox_link_sensitivity(ct_button, spin); - c_options->zoom_increment = options->zoom_increment; + c_options->image.zoom_increment = options->image.zoom_increment; spin = pref_spin_new(group, _("Zoom increment:"), NULL, - 0.1, 4.0, 0.1, 1, (double)options->zoom_increment / 10.0, + 0.1, 4.0, 0.1, 1, (double)options->image.zoom_increment / 10.0, G_CALLBACK(zoom_increment_cb), NULL); gtk_spin_button_set_update_policy(GTK_SPIN_BUTTON(spin), GTK_UPDATE_ALWAYS); group = pref_group_new(vbox, FALSE, _("When new image is selected:"), GTK_ORIENTATION_VERTICAL); - c_options->zoom_mode = options->zoom_mode; + c_options->image.zoom_mode = options->image.zoom_mode; button = pref_radiobutton_new(group, NULL, _("Zoom to original size"), - (options->zoom_mode == ZOOM_RESET_ORIGINAL), + (options->image.zoom_mode == ZOOM_RESET_ORIGINAL), G_CALLBACK(zoom_mode_original_cb), NULL); button = pref_radiobutton_new(group, button, _("Fit image to window"), - (options->zoom_mode == ZOOM_RESET_FIT_WINDOW), + (options->image.zoom_mode == ZOOM_RESET_FIT_WINDOW), G_CALLBACK(zoom_mode_fit_cb), NULL); button = pref_radiobutton_new(group, button, _("Leave Zoom at previous setting"), - (options->zoom_mode == ZOOM_RESET_NONE), + (options->image.zoom_mode == ZOOM_RESET_NONE), G_CALLBACK(zoom_mode_none_cb), NULL); group = pref_group_new(vbox, FALSE, _("Appearance"), GTK_ORIENTATION_VERTICAL); @@ -930,9 +930,9 @@ pref_checkbox_new_int(group, _("Refresh on file change"), options->update_on_time_change, &c_options->update_on_time_change); pref_checkbox_new_int(group, _("Preload next image"), - options->enable_read_ahead, &c_options->enable_read_ahead); + options->image.enable_read_ahead, &c_options->image.enable_read_ahead); pref_checkbox_new_int(group, _("Auto rotate image using Exif information"), - options->exif_rotate_enable, &c_options->exif_rotate_enable); + options->image.exif_rotate_enable, &c_options->image.exif_rotate_enable); } /* windows tab */ @@ -961,14 +961,14 @@ group = pref_group_new(vbox, FALSE, _("Size"), GTK_ORIENTATION_VERTICAL); pref_checkbox_new_int(group, _("Fit window to image when tools are hidden/floating"), - options->fit_window, &c_options->fit_window); + options->image.fit_window_to_image, &c_options->image.fit_window_to_image); hbox = pref_box_new(group, FALSE, GTK_ORIENTATION_HORIZONTAL, PREF_PAD_SPACE); ct_button = pref_checkbox_new_int(hbox, _("Limit size when auto-sizing window (%):"), - options->limit_window_size, &c_options->limit_window_size); + options->image.limit_window_size, &c_options->image.limit_window_size); spin = pref_spin_new_int(hbox, NULL, NULL, 10, 150, 1, - options->max_window_size, &c_options->max_window_size); + options->image.max_window_size, &c_options->image.max_window_size); pref_checkbox_link_sensitivity(ct_button, spin); group = pref_group_new(vbox, FALSE, _("Layout"), GTK_ORIENTATION_VERTICAL); @@ -1374,7 +1374,7 @@ 0, 100, 1, options->dupe_custom_threshold, &c_options->dupe_custom_threshold); pref_spin_new_int(group, _("Offscreen cache size (Mb per image):"), NULL, - 0, 128, 1, options->tile_cache_max, &c_options->tile_cache_max); + 0, 128, 1, options->image.tile_cache_max, &c_options->image.tile_cache_max); group = pref_group_new(vbox, FALSE, _("Color profiles"), GTK_ORIENTATION_VERTICAL); #ifndef HAVE_LCMS diff -r 767b53cd9ab7 -r df868b947aa0 src/rcfile.c --- a/src/rcfile.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/rcfile.c Sat Apr 12 15:04:58 2008 +0000 @@ -287,30 +287,35 @@ write_bool_option(ssi, "tree_descend_folders", options->tree_descend_subdirs); write_bool_option(ssi, "lazy_image_sync", options->lazy_image_sync); write_bool_option(ssi, "update_on_time_change", options->update_on_time_change); - write_bool_option(ssi, "exif_auto_rotate", options->exif_rotate_enable); + write_bool_option(ssi, "exif_auto_rotate", options->image.exif_rotate_enable); secure_fputc(ssi, '\n'); write_bool_option(ssi, "enable_startup_path", options->startup_path_enable); write_char_option(ssi, "startup_path", options->startup_path); secure_fputc(ssi, '\n'); - secure_fprintf(ssi, "zoom_mode: "); - if (options->zoom_mode == ZOOM_RESET_ORIGINAL) secure_fprintf(ssi, "original\n"); - if (options->zoom_mode == ZOOM_RESET_FIT_WINDOW) secure_fprintf(ssi, "fit\n"); - if (options->zoom_mode == ZOOM_RESET_NONE) secure_fprintf(ssi, "dont_change\n"); - write_bool_option(ssi, "two_pass_scaling", options->two_pass_zoom); - write_bool_option(ssi, "zoom_to_fit_allow_expand", options->zoom_to_fit_expands); - secure_fputc(ssi, '\n'); + secure_fprintf(ssi, "##### Image Options #####\n\n"); - write_bool_option(ssi, "fit_window_to_image", options->fit_window); - write_bool_option(ssi, "limit_window_size", options->limit_window_size); - write_int_option(ssi, "max_window_size", options->max_window_size); - write_bool_option(ssi, "limit_autofit_size", options->limit_autofit_size); - write_int_option(ssi, "max_autofit_size", options->max_autofit_size); + secure_fprintf(ssi, "image.zoom_mode: "); + if (options->image.zoom_mode == ZOOM_RESET_ORIGINAL) secure_fprintf(ssi, "original\n"); + if (options->image.zoom_mode == ZOOM_RESET_FIT_WINDOW) secure_fprintf(ssi, "fit\n"); + if (options->image.zoom_mode == ZOOM_RESET_NONE) secure_fprintf(ssi, "dont_change\n"); + write_bool_option(ssi, "image.zoom_2pass", options->image.zoom_2pass); + write_bool_option(ssi, "image.zoom_to_fit_allow_expand", options->image.zoom_to_fit_allow_expand); + write_bool_option(ssi, "image.fit_window_to_image", options->image.fit_window_to_image); + write_bool_option(ssi, "image.limit_window_size", options->image.limit_window_size); + write_int_option(ssi, "image.max_window_size", options->image.max_window_size); + write_bool_option(ssi, "image.limit_autofit_size", options->image.limit_autofit_size); + write_int_option(ssi, "image.max_autofit_size", options->image.max_autofit_size); + write_int_option(ssi, "image.scroll_reset_method", options->image.scroll_reset_method); + write_int_option(ssi, "image_cache_size_max", options->image.tile_cache_max); + write_int_option(ssi, "image.zoom_quality", options->image.zoom_quality); + write_int_option(ssi, "image.dither_quality", options->image.dither_quality); + write_int_option(ssi, "image.zoom_increment", options->image.zoom_increment); + write_bool_option(ssi, "image.enable_read_ahead", options->image.enable_read_ahead); secure_fputc(ssi, '\n'); write_bool_option(ssi, "progressive_keyboard_scrolling", options->progressive_key_scrolling); - write_int_option(ssi, "scroll_reset_method", options->scroll_reset_method); secure_fputc(ssi, '\n'); write_bool_option(ssi, "thumbnails.enabled", options->thumbnails.enabled); @@ -348,11 +353,6 @@ write_bool_option(ssi, "mouse_wheel_scrolls", options->mousewheel_scrolls); write_bool_option(ssi, "in_place_rename", options->enable_in_place_rename); write_int_option(ssi, "open_recent_max", options->recent_list_max); - write_int_option(ssi, "image_cache_size_max", options->tile_cache_max); - write_int_option(ssi, "zoom_quality", options->zoom_quality); - write_int_option(ssi, "dither_quality", options->dither_quality); - write_int_option(ssi, "zoom_increment", options->zoom_increment); - write_bool_option(ssi, "enable_read_ahead", options->enable_read_ahead); write_bool_option(ssi, "display_dialogs_under_mouse", options->place_dialogs_under_mouse); secure_fputc(ssi, '\n'); @@ -544,39 +544,50 @@ "lazy_image_sync", value, options->lazy_image_sync); options->update_on_time_change = read_bool_option(f, option, "update_on_time_change", value, options->update_on_time_change); - options->exif_rotate_enable = read_bool_option(f, option, - "exif_auto_rotate", value, options->exif_rotate_enable); + options->image.exif_rotate_enable = read_bool_option(f, option, + "exif_auto_rotate", value, options->image.exif_rotate_enable); options->startup_path_enable = read_bool_option(f, option, "enable_startup_path", value, options->startup_path_enable); options->startup_path = read_char_option(f, option, "startup_path", value_all, options->startup_path); - if (strcasecmp(option, "zoom_mode") == 0) + if (strcasecmp(option, "image.zoom_mode") == 0) { - if (strcasecmp(value, "original") == 0) options->zoom_mode = ZOOM_RESET_ORIGINAL; - if (strcasecmp(value, "fit") == 0) options->zoom_mode = ZOOM_RESET_FIT_WINDOW; - if (strcasecmp(value, "dont_change") == 0) options->zoom_mode = ZOOM_RESET_NONE; + if (strcasecmp(value, "original") == 0) options->image.zoom_mode = ZOOM_RESET_ORIGINAL; + if (strcasecmp(value, "fit") == 0) options->image.zoom_mode = ZOOM_RESET_FIT_WINDOW; + if (strcasecmp(value, "dont_change") == 0) options->image.zoom_mode = ZOOM_RESET_NONE; } - options->two_pass_zoom = read_bool_option(f, option, - "two_pass_scaling", value, options->two_pass_zoom); - options->zoom_to_fit_expands = read_bool_option(f, option, - "zoom_to_fit_allow_expand", value, options->zoom_to_fit_expands); + options->image.zoom_2pass = read_bool_option(f, option, + "image.zoom_2pass", value, options->image.zoom_2pass); + options->image.zoom_to_fit_allow_expand = read_bool_option(f, option, + "image.zoom_to_fit_allow_expand", value, options->image.zoom_to_fit_allow_expand); + options->image.fit_window_to_image = read_bool_option(f, option, + "image.fit_window_to_image", value, options->image.fit_window_to_image); + options->image.limit_window_size = read_bool_option(f, option, + "image.limit_window_size", value, options->image.limit_window_size); + options->image.max_window_size = read_int_option(f, option, + "image.max_window_size", value, options->image.max_window_size); + options->image.limit_autofit_size = read_bool_option(f, option, + "image.limit_autofit_size", value, options->image.limit_autofit_size); + options->image.max_autofit_size = read_int_option(f, option, + "image.max_autofit_size", value, options->image.max_autofit_size); + options->image.scroll_reset_method = read_int_option(f, option, + "image.scroll_reset_method", value, options->image.scroll_reset_method); + options->image.tile_cache_max = read_int_option(f, option, + "image.cache_size_max", value, options->image.tile_cache_max); + options->image.zoom_quality = CLAMP(read_int_option(f, option, + "image.zoom_quality", value, options->image.zoom_quality), GDK_INTERP_NEAREST, GDK_INTERP_HYPER); + options->image.dither_quality = CLAMP(read_int_option(f, option, + "image.dither_quality", value, options->image.dither_quality), GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX); + options->image.zoom_increment = read_int_option(f, option, + "image.zoom_increment", value, options->image.zoom_increment); + options->image.enable_read_ahead = read_bool_option(f, option, + "image.enable_read_ahead", value, options->image.enable_read_ahead); - options->fit_window = read_bool_option(f, option, - "fit_window_to_image", value, options->fit_window); - options->limit_window_size = read_bool_option(f, option, - "limit_window_size", value, options->limit_window_size); - options->max_window_size = read_int_option(f, option, - "max_window_size", value, options->max_window_size); - options->limit_autofit_size = read_bool_option(f, option, - "limit_autofit_size", value, options->limit_autofit_size); - options->max_autofit_size = read_int_option(f, option, - "max_autofit_size", value, options->max_autofit_size); options->progressive_key_scrolling = read_bool_option(f, option, "progressive_keyboard_scrolling", value, options->progressive_key_scrolling); - options->scroll_reset_method = read_int_option(f, option, - "scroll_reset_method", value, options->scroll_reset_method); + options->thumbnails.enabled = read_bool_option(f, option, "thumbnails.enabled", value, options->thumbnails.enabled); @@ -638,20 +649,6 @@ options->recent_list_max = read_int_option(f, option, "open_recent_max", value, options->recent_list_max); - options->tile_cache_max = read_int_option(f, option, - "image_cache_size_max", value, options->tile_cache_max); - - options->zoom_quality = CLAMP(read_int_option(f, option, - "zoom_quality", value, options->zoom_quality), GDK_INTERP_NEAREST, GDK_INTERP_HYPER); - options->dither_quality = CLAMP(read_int_option(f, option, - "dither_quality", value, options->dither_quality), GDK_RGB_DITHER_NONE, GDK_RGB_DITHER_MAX); - - options->zoom_increment = read_int_option(f, option, - "zoom_increment", value, options->zoom_increment); - - options->enable_read_ahead = read_bool_option(f, option, - "enable_read_ahead", value, options->enable_read_ahead); - options->place_dialogs_under_mouse = read_bool_option(f, option, "display_dialogs_under_mouse", value, options->place_dialogs_under_mouse); diff -r 767b53cd9ab7 -r df868b947aa0 src/slideshow.c --- a/src/slideshow.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/slideshow.c Sat Apr 12 15:04:58 2008 +0000 @@ -183,7 +183,7 @@ if (ss->filelist) { ss->slide_fd = file_data_ref((FileData *)g_list_nth_data(ss->filelist, row)); - image_change_fd(ss->imd, ss->slide_fd, image_zoom_get_default(ss->imd, options->zoom_mode)); + image_change_fd(ss->imd, ss->slide_fd, image_zoom_get_default(ss->imd, options->image.zoom_mode)); } else if (ss->cd) { @@ -192,7 +192,7 @@ info = g_list_nth_data(ss->cd->list, row); ss->slide_fd = file_data_ref(info->fd); - image_change_from_collection(ss->imd, ss->cd, info, image_zoom_get_default(ss->imd, options->zoom_mode)); + image_change_from_collection(ss->imd, ss->cd, info, image_zoom_get_default(ss->imd, options->image.zoom_mode)); } else { @@ -200,7 +200,7 @@ if (ss->from_selection) { - image_change_fd(ss->imd, ss->slide_fd, image_zoom_get_default(ss->imd, options->zoom_mode)); + image_change_fd(ss->imd, ss->slide_fd, image_zoom_get_default(ss->imd, options->image.zoom_mode)); layout_status_update_info(ss->layout, NULL); } else @@ -221,7 +221,7 @@ /* read ahead */ - if (options->enable_read_ahead) + if (options->image.enable_read_ahead) { gint r; if (forward) diff -r 767b53cd9ab7 -r df868b947aa0 src/typedefs.h --- a/src/typedefs.h Sat Apr 12 09:41:44 2008 +0000 +++ b/src/typedefs.h Sat Apr 12 15:04:58 2008 +0000 @@ -782,22 +782,26 @@ gint recent_list_max; /* image */ - gint exif_rotate_enable; - gint zoom_mode; - gint two_pass_zoom; - gint scroll_reset_method; - gint fit_window; - gint limit_window_size; - gint zoom_to_fit_expands; - gint max_window_size; - gint limit_autofit_size; - gint max_autofit_size; - gint tile_cache_max; /* in megabytes */ - gint zoom_quality; - gint dither_quality; - gint zoom_increment; /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */ - gint enable_read_ahead; - + struct { + gint exif_rotate_enable; + gint scroll_reset_method; + gint fit_window_to_image; + gint limit_window_size; + gint max_window_size; + gint limit_autofit_size; + gint max_autofit_size; + + gint tile_cache_max; /* in megabytes */ + gint dither_quality; + gint enable_read_ahead; + + gint zoom_mode; + gint zoom_2pass; + gint zoom_to_fit_allow_expand; + gint zoom_quality; + gint zoom_increment; /* 10 is 1.0, 5 is 0.05, 20 is 2.0, etc. */ + } image; + gint user_specified_window_background; GdkColor window_background_color; diff -r 767b53cd9ab7 -r df868b947aa0 src/view_file_icon.c --- a/src/view_file_icon.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/view_file_icon.c Sat Apr 12 15:04:58 2008 +0000 @@ -380,7 +380,7 @@ cur_fd = layout_image_get_fd(vfi->layout); if (sel_fd == cur_fd) return; /* no change */ - if (options->enable_read_ahead) + if (options->image.enable_read_ahead) { gint row; diff -r 767b53cd9ab7 -r df868b947aa0 src/view_file_list.c --- a/src/view_file_list.c Sat Apr 12 09:41:44 2008 +0000 +++ b/src/view_file_list.c Sat Apr 12 15:04:58 2008 +0000 @@ -848,7 +848,7 @@ row = g_list_index(vfl->list, sel_fd); // FIXME sidecar data - if (sel_fd && options->enable_read_ahead && row >= 0) + if (sel_fd && options->image.enable_read_ahead && row >= 0) { if (row > g_list_index(vfl->list, cur_fd) && row + 1 < vflist_count(vfl, NULL))