Mercurial > geeqie
changeset 508:011a6be611c8
Move options stuff to options.{c,h} and remove globals.c
author | zas_ |
---|---|
date | Thu, 24 Apr 2008 09:09:48 +0000 |
parents | 135570a8bd96 |
children | b78a91d0779e |
files | src/Makefile.am src/globals.c src/main.h src/options.c src/options.h src/typedefs.h |
diffstat | 6 files changed, 357 insertions(+), 348 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Makefile.am Thu Apr 24 08:53:39 2008 +0000 +++ b/src/Makefile.am Thu Apr 24 09:09:48 2008 +0000 @@ -118,7 +118,6 @@ format_raw.h \ fullscreen.c \ fullscreen.h \ - globals.c \ histogram.c \ histogram.h \ image.c \ @@ -145,6 +144,8 @@ md5-util.h \ menu.c \ menu.h \ + options.c \ + options.h \ pan-calendar.c \ pan-folder.c \ pan-grid.c \
--- a/src/globals.c Thu Apr 24 08:53:39 2008 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,139 +0,0 @@ -/* - * Geeqie - * (C) 2004 John Ellis - * Copyright (C) 2008 The Geeqie Team - * - * Author: John Ellis - * - * This software is released under the GNU General Public License (GNU GPL). - * Please read the included file COPYING for more information. - * This software comes with no warranty of any kind, use at your own risk! - */ - - -#include "main.h" - - -ConfOptions *init_options(ConfOptions *options) -{ - if (!options) options = g_new0(ConfOptions, 1); - - options->collections.rectangular_selection = FALSE; - - options->color_profile.enabled = FALSE; - options->color_profile.input_type = 0; - options->color_profile.screen_file = NULL; - options->color_profile.screen_type = 0; - options->color_profile.use_image = TRUE; - - options->dnd_icon_size = 48; - options->duplicates_similarity_threshold = 99; - options->enable_metadata_dirs = FALSE; - - options->file_filter.disable = FALSE; - options->file_filter.show_dot_directory = FALSE; - options->file_filter.show_hidden_files = FALSE; - - options->file_ops.confirm_delete = TRUE; - options->file_ops.enable_delete_key = TRUE; - options->file_ops.enable_in_place_rename = TRUE; - options->file_ops.safe_delete_enable = FALSE; - options->file_ops.safe_delete_folder_maxsize = 128; - options->file_ops.safe_delete_path = NULL; - - options->file_sort.ascending = TRUE; - options->file_sort.case_sensitive = FALSE; - options->file_sort.method = SORT_NAME; - - options->fullscreen.above = FALSE; - options->fullscreen.clean_flip = FALSE; - options->fullscreen.disable_saver = TRUE; - options->fullscreen.screen = -1; - - memset(&options->image.border_color, 0, sizeof(options->image.border_color)); - options->image.dither_quality = (gint)GDK_RGB_DITHER_NORMAL; - options->image.enable_read_ahead = TRUE; - options->image.exif_rotate_enable = TRUE; - options->image.fit_window_to_image = FALSE; - options->image.idle_read_loop_count = IMAGE_LOADER_IDLE_READ_LOOP_COUNT_DEFAULT; - options->image.limit_autofit_size = FALSE; - options->image.limit_window_size = FALSE; - options->image.max_autofit_size = 100; - options->image.max_window_size = 100; - options->image.read_buffer_size = IMAGE_LOADER_READ_BUFFER_SIZE_DEFAULT; - options->image.scroll_reset_method = SCROLL_RESET_TOPLEFT; - options->image.tile_cache_max = 10; - options->image.use_custom_border_color = FALSE; - options->image.zoom_2pass = TRUE; - options->image.zoom_increment = 5; - options->image.zoom_mode = ZOOM_RESET_ORIGINAL; - options->image.zoom_quality = (gint)GDK_INTERP_BILINEAR; - options->image.zoom_to_fit_allow_expand = TRUE; - - options->image_overlay.common.enabled = FALSE; - options->image_overlay.common.show_at_startup = FALSE; - options->image_overlay.common.template_string = NULL; - - options->layout.dir_view_type = DIRVIEW_LIST; - options->layout.float_window.h = 450; - options->layout.float_window.vdivider_pos = -1; - options->layout.float_window.w = 260; - options->layout.float_window.x = 0; - options->layout.float_window.y = 0; - options->layout.main_window.h = 400; - options->layout.main_window.hdivider_pos = -1; - options->layout.main_window.maximized = FALSE; - options->layout.main_window.vdivider_pos = 200; - options->layout.main_window.w = 500; - options->layout.main_window.x = 0; - options->layout.main_window.y = 0; - options->layout.order = NULL; - options->layout.save_window_positions = FALSE; - options->layout.show_marks = FALSE; - options->layout.show_thumbnails = FALSE; - options->layout.style = 0; - options->layout.toolbar_hidden = FALSE; - options->layout.tools_float = FALSE; - options->layout.tools_hidden = FALSE; - options->layout.tools_restore_state = FALSE; - options->layout.view_as_icons = FALSE; - - options->lazy_image_sync = FALSE; - options->mousewheel_scrolls = FALSE; - options->open_recent_list_maxsize = 10; - options->place_dialogs_under_mouse = FALSE; - - options->panels.exif.enabled = FALSE; - options->panels.exif.width = PANEL_DEFAULT_WIDTH; - options->panels.info.enabled = FALSE; - options->panels.info.width = PANEL_DEFAULT_WIDTH; - options->panels.sort.action_state = 0; - options->panels.sort.enabled = FALSE; - options->panels.sort.mode_state = 0; - options->panels.sort.selection_state = 0; - - options->progressive_key_scrolling = FALSE; - options->show_copy_path = FALSE; - options->show_icon_names = TRUE; - - options->slideshow.delay = 150; - options->slideshow.random = FALSE; - options->slideshow.repeat = FALSE; - - options->startup_path_enable = FALSE; - options->startup_path = NULL; - - options->thumbnails.cache_into_dirs = FALSE; - options->thumbnails.enable_caching = TRUE; - options->thumbnails.fast = TRUE; - options->thumbnails.max_height = DEFAULT_THUMB_HEIGHT; - options->thumbnails.max_width = DEFAULT_THUMB_WIDTH; - options->thumbnails.quality = (gint)GDK_INTERP_TILES; - options->thumbnails.spec_standard = TRUE; - options->thumbnails.use_xvpics = TRUE; - - options->tree_descend_subdirs = FALSE; - options->update_on_time_change = TRUE; - - return options; -}
--- a/src/main.h Thu Apr 24 08:53:39 2008 +0000 +++ b/src/main.h Thu Apr 24 09:09:48 2008 +0000 @@ -112,18 +112,7 @@ #include "typedefs.h" - -/* - *---------------------------------------------------------------------------- - * globals - *---------------------------------------------------------------------------- - */ -ConfOptions *init_options(ConfOptions *options); /* TODO: move to globals.h */ - -ConfOptions *options; - - - +#include "options.h" /* *----------------------------------------------------------------------------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/options.c Thu Apr 24 09:09:48 2008 +0000 @@ -0,0 +1,137 @@ +/* + * Geeqie + * Copyright (C) 2008 The Geeqie Team + * + * Authors: Vladimir Nadvornik, Laurent Monin + * + * This software is released under the GNU General Public License (GNU GPL). + * Please read the included file COPYING for more information. + * This software comes with no warranty of any kind, use at your own risk! + */ + +#include "main.h" +#include "options.h" + +ConfOptions *init_options(ConfOptions *options) +{ + if (!options) options = g_new0(ConfOptions, 1); + + options->collections.rectangular_selection = FALSE; + + options->color_profile.enabled = FALSE; + options->color_profile.input_type = 0; + options->color_profile.screen_file = NULL; + options->color_profile.screen_type = 0; + options->color_profile.use_image = TRUE; + + options->dnd_icon_size = 48; + options->duplicates_similarity_threshold = 99; + options->enable_metadata_dirs = FALSE; + + options->file_filter.disable = FALSE; + options->file_filter.show_dot_directory = FALSE; + options->file_filter.show_hidden_files = FALSE; + + options->file_ops.confirm_delete = TRUE; + options->file_ops.enable_delete_key = TRUE; + options->file_ops.enable_in_place_rename = TRUE; + options->file_ops.safe_delete_enable = FALSE; + options->file_ops.safe_delete_folder_maxsize = 128; + options->file_ops.safe_delete_path = NULL; + + options->file_sort.ascending = TRUE; + options->file_sort.case_sensitive = FALSE; + options->file_sort.method = SORT_NAME; + + options->fullscreen.above = FALSE; + options->fullscreen.clean_flip = FALSE; + options->fullscreen.disable_saver = TRUE; + options->fullscreen.screen = -1; + + memset(&options->image.border_color, 0, sizeof(options->image.border_color)); + options->image.dither_quality = (gint)GDK_RGB_DITHER_NORMAL; + options->image.enable_read_ahead = TRUE; + options->image.exif_rotate_enable = TRUE; + options->image.fit_window_to_image = FALSE; + options->image.idle_read_loop_count = IMAGE_LOADER_IDLE_READ_LOOP_COUNT_DEFAULT; + options->image.limit_autofit_size = FALSE; + options->image.limit_window_size = FALSE; + options->image.max_autofit_size = 100; + options->image.max_window_size = 100; + options->image.read_buffer_size = IMAGE_LOADER_READ_BUFFER_SIZE_DEFAULT; + options->image.scroll_reset_method = SCROLL_RESET_TOPLEFT; + options->image.tile_cache_max = 10; + options->image.use_custom_border_color = FALSE; + options->image.zoom_2pass = TRUE; + options->image.zoom_increment = 5; + options->image.zoom_mode = ZOOM_RESET_ORIGINAL; + options->image.zoom_quality = (gint)GDK_INTERP_BILINEAR; + options->image.zoom_to_fit_allow_expand = TRUE; + + options->image_overlay.common.enabled = FALSE; + options->image_overlay.common.show_at_startup = FALSE; + options->image_overlay.common.template_string = NULL; + + options->layout.dir_view_type = DIRVIEW_LIST; + options->layout.float_window.h = 450; + options->layout.float_window.vdivider_pos = -1; + options->layout.float_window.w = 260; + options->layout.float_window.x = 0; + options->layout.float_window.y = 0; + options->layout.main_window.h = 400; + options->layout.main_window.hdivider_pos = -1; + options->layout.main_window.maximized = FALSE; + options->layout.main_window.vdivider_pos = 200; + options->layout.main_window.w = 500; + options->layout.main_window.x = 0; + options->layout.main_window.y = 0; + options->layout.order = NULL; + options->layout.save_window_positions = FALSE; + options->layout.show_marks = FALSE; + options->layout.show_thumbnails = FALSE; + options->layout.style = 0; + options->layout.toolbar_hidden = FALSE; + options->layout.tools_float = FALSE; + options->layout.tools_hidden = FALSE; + options->layout.tools_restore_state = FALSE; + options->layout.view_as_icons = FALSE; + + options->lazy_image_sync = FALSE; + options->mousewheel_scrolls = FALSE; + options->open_recent_list_maxsize = 10; + options->place_dialogs_under_mouse = FALSE; + + options->panels.exif.enabled = FALSE; + options->panels.exif.width = PANEL_DEFAULT_WIDTH; + options->panels.info.enabled = FALSE; + options->panels.info.width = PANEL_DEFAULT_WIDTH; + options->panels.sort.action_state = 0; + options->panels.sort.enabled = FALSE; + options->panels.sort.mode_state = 0; + options->panels.sort.selection_state = 0; + + options->progressive_key_scrolling = FALSE; + options->show_copy_path = FALSE; + options->show_icon_names = TRUE; + + options->slideshow.delay = 150; + options->slideshow.random = FALSE; + options->slideshow.repeat = FALSE; + + options->startup_path_enable = FALSE; + options->startup_path = NULL; + + options->thumbnails.cache_into_dirs = FALSE; + options->thumbnails.enable_caching = TRUE; + options->thumbnails.fast = TRUE; + options->thumbnails.max_height = DEFAULT_THUMB_HEIGHT; + options->thumbnails.max_width = DEFAULT_THUMB_WIDTH; + options->thumbnails.quality = (gint)GDK_INTERP_TILES; + options->thumbnails.spec_standard = TRUE; + options->thumbnails.use_xvpics = TRUE; + + options->tree_descend_subdirs = FALSE; + options->update_on_time_change = TRUE; + + return options; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/options.h Thu Apr 24 09:09:48 2008 +0000 @@ -0,0 +1,217 @@ +/* + * Geeqie + * Copyright (C) 2008 The Geeqie Team + * + * Authors: Vladimir Nadvornik, Laurent Monin + * + * This software is released under the GNU General Public License (GNU GPL). + * Please read the included file COPYING for more information. + * This software comes with no warranty of any kind, use at your own risk! + */ + +#ifndef OPTIONS_H +#define OPTIONS_H + +typedef struct _ConfOptions ConfOptions; + +struct _ConfOptions +{ + + /* ui */ + gint progressive_key_scrolling; + gint place_dialogs_under_mouse; + gint mousewheel_scrolls; + gint show_icon_names; + gint show_copy_path; + + /* various */ + gint startup_path_enable; + gchar *startup_path; + gint enable_metadata_dirs; + + gint tree_descend_subdirs; + + gint lazy_image_sync; + gint update_on_time_change; + + gint duplicates_similarity_threshold; + + gint open_recent_list_maxsize; + gint dnd_icon_size; + + /* file ops */ + struct { + gint enable_in_place_rename; + + gint confirm_delete; + gint enable_delete_key; + gint safe_delete_enable; + gchar *safe_delete_path; + gint safe_delete_folder_maxsize; + } file_ops; + + /* image */ + 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. */ + + gint use_custom_border_color; + GdkColor border_color; + + gint read_buffer_size; /* bytes to read from file per read() */ + gint idle_read_loop_count; /* the number of bytes to read per idle call (define x image.read_buffer_size) */ + } image; + + /* thumbnails */ + struct { + gint max_width; + gint max_height; + gint enable_caching; + gint cache_into_dirs; + gint fast; + gint use_xvpics; + gint spec_standard; + gint quality; + } thumbnails; + + /* file filtering */ + struct { + gint show_hidden_files; + gint show_dot_directory; + gint disable; + } file_filter; + + /* collections */ + struct { + gint rectangular_selection; + } collections; + + /* editors */ + gchar *editor_name[GQ_EDITOR_SLOTS]; + gchar *editor_command[GQ_EDITOR_SLOTS]; + + /* file sorting */ + struct { + SortType method; + gint ascending; + gint case_sensitive; /* file sorting method (case) */ + } file_sort; + + /* slideshow */ + struct { + gint delay; /* in tenths of a second */ + gint random; + gint repeat; + } slideshow; + + /* fullscreen */ + struct { + gint screen; + gint clean_flip; + gint disable_saver; + gint above; + } fullscreen; + + /* image overlay */ + struct { + struct { + gint enabled; + gint show_at_startup; + gchar *template_string; + } common; + } image_overlay; + + /* layout */ + struct { + gchar *order; + gint style; + + gint view_as_icons; + DirViewType dir_view_type; + + gint show_thumbnails; + gint show_marks; + + struct { + gint w; + gint h; + gint x; + gint y; + gint maximized; + gint hdivider_pos; + gint vdivider_pos; + } main_window; + + struct { + gint w; + gint h; + gint x; + gint y; + gint vdivider_pos; + } float_window; + + gint save_window_positions; + + gint tools_float; + gint tools_hidden; + gint tools_restore_state; + + gint toolbar_hidden; + + } layout; + + /* panels */ + struct { + struct { + gint enabled; + gint width; + } info; + + struct { + gint enabled; + gint width; + } exif; + + struct { + gint enabled; + gint mode_state; + gint action_state; + gint selection_state; + } sort; + } panels; + + + /* color profiles */ + struct { + gint enabled; + gint input_type; + gchar *input_file[COLOR_PROFILE_INPUTS]; + gchar *input_name[COLOR_PROFILE_INPUTS]; + gint screen_type; + gchar *screen_file; + gint use_image; + + } color_profile; + +}; + +ConfOptions *options; + +ConfOptions *init_options(ConfOptions *options); + +#endif /* OPTIONS_H */
--- a/src/typedefs.h Thu Apr 24 08:53:39 2008 +0000 +++ b/src/typedefs.h Thu Apr 24 09:09:48 2008 +0000 @@ -156,7 +156,6 @@ typedef struct _SecureSaveInfo SecureSaveInfo; -typedef struct _ConfOptions ConfOptions; struct _ImageLoader { @@ -741,200 +740,5 @@ gint unlink_on_error; /**< whether to remove temporary file on save failure, TRUE by default */ }; -struct _ConfOptions -{ - - /* ui */ - gint progressive_key_scrolling; - gint place_dialogs_under_mouse; - gint mousewheel_scrolls; - gint show_icon_names; - gint show_copy_path; - - /* various */ - gint startup_path_enable; - gchar *startup_path; - gint enable_metadata_dirs; - - gint tree_descend_subdirs; - - gint lazy_image_sync; - gint update_on_time_change; - - gint duplicates_similarity_threshold; - - gint open_recent_list_maxsize; - gint dnd_icon_size; - - /* file ops */ - struct { - gint enable_in_place_rename; - - gint confirm_delete; - gint enable_delete_key; - gint safe_delete_enable; - gchar *safe_delete_path; - gint safe_delete_folder_maxsize; - } file_ops; - - /* image */ - 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. */ - - gint use_custom_border_color; - GdkColor border_color; - - gint read_buffer_size; /* bytes to read from file per read() */ - gint idle_read_loop_count; /* the number of bytes to read per idle call (define x image.read_buffer_size) */ - } image; - - /* thumbnails */ - struct { - gint max_width; - gint max_height; - gint enable_caching; - gint cache_into_dirs; - gint fast; - gint use_xvpics; - gint spec_standard; - gint quality; - } thumbnails; - - /* file filtering */ - struct { - gint show_hidden_files; - gint show_dot_directory; - gint disable; - } file_filter; - - /* collections */ - struct { - gint rectangular_selection; - } collections; - - /* editors */ - gchar *editor_name[GQ_EDITOR_SLOTS]; - gchar *editor_command[GQ_EDITOR_SLOTS]; - - /* file sorting */ - struct { - SortType method; - gint ascending; - gint case_sensitive; /* file sorting method (case) */ - } file_sort; - - /* slideshow */ - struct { - gint delay; /* in tenths of a second */ - gint random; - gint repeat; - } slideshow; - - /* fullscreen */ - struct { - gint screen; - gint clean_flip; - gint disable_saver; - gint above; - } fullscreen; - - /* image overlay */ - struct { - struct { - gint enabled; - gint show_at_startup; - gchar *template_string; - } common; - } image_overlay; - - /* layout */ - struct { - gchar *order; - gint style; - - gint view_as_icons; - DirViewType dir_view_type; - - gint show_thumbnails; - gint show_marks; - - struct { - gint w; - gint h; - gint x; - gint y; - gint maximized; - gint hdivider_pos; - gint vdivider_pos; - } main_window; - - struct { - gint w; - gint h; - gint x; - gint y; - gint vdivider_pos; - } float_window; - - gint save_window_positions; - - gint tools_float; - gint tools_hidden; - gint tools_restore_state; - - gint toolbar_hidden; - - } layout; - - /* panels */ - struct { - struct { - gint enabled; - gint width; - } info; - - struct { - gint enabled; - gint width; - } exif; - - struct { - gint enabled; - gint mode_state; - gint action_state; - gint selection_state; - } sort; - } panels; - - - /* color profiles */ - struct { - gint enabled; - gint input_type; - gchar *input_file[COLOR_PROFILE_INPUTS]; - gchar *input_name[COLOR_PROFILE_INPUTS]; - gint screen_type; - gchar *screen_file; - gint use_image; - - } color_profile; - -}; #endif