changeset 740:9b0ac8d58c89

Move setup_default_options() and sync_options_with_current_state() to options.[ch]. Pass ConfOptions * to these instead of directly using global variable. Cleanup #include in main.c.
author zas_
date Thu, 22 May 2008 23:09:53 +0000
parents 3296f8d3a79b
children 0e8b802e54d5
files src/main.c src/options.c src/options.h
diffstat 3 files changed, 98 insertions(+), 100 deletions(-) [+]
line wrap: on
line diff
--- a/src/main.c	Thu May 22 22:49:07 2008 +0000
+++ b/src/main.c	Thu May 22 23:09:53 2008 +0000
@@ -13,34 +13,20 @@
 
 #include "main.h"
 
-#include "bar_exif.h"
 #include "cache.h"
 #include "collect.h"
 #include "collect-io.h"
-#include "dnd.h"
-#include "editors.h"
 #include "filedata.h"
 #include "filefilter.h"
-#include "fullscreen.h"
 #include "image-overlay.h"
-#include "img-view.h"
-#include "info.h"
 #include "layout.h"
 #include "layout_image.h"
-#include "menu.h"
-#include "pixbuf_util.h"
-#include "preferences.h"
 #include "rcfile.h"
 #include "remote.h"
 #include "similar.h"
-#include "slideshow.h"
-#include "utilops.h"
 #include "ui_bookmark.h"
-#include "ui_help.h"
 #include "ui_fileops.h"
-#include "ui_tabcomp.h"
 #include "ui_utildlg.h"
-#include "window.h"
 
 #include <gdk/gdkkeysyms.h> /* for keyboard values */
 
@@ -547,90 +533,6 @@
 	g_free(buf);
 }
 
-static void setup_default_options(void)
-{
-	gchar *path;
-	gint i;
-
-	for (i = 0; i < GQ_EDITOR_SLOTS; i++)
-		{
-		options->editor[i].name = NULL;
-		options->editor[i].command = NULL;
-		}
-
-	editor_reset_defaults();
-
-	bookmark_add_default(_("Home"), homedir());
-	path = g_build_filename(homedir(), "Desktop", NULL);
-	bookmark_add_default(_("Desktop"), path);
-	g_free(path);
-	path = g_build_filename(homedir(), GQ_RC_DIR_COLLECTIONS, NULL);
-	bookmark_add_default(_("Collections"), path);
-	g_free(path);
-
-	g_free(options->file_ops.safe_delete_path);
-	options->file_ops.safe_delete_path = g_build_filename(homedir(), GQ_RC_DIR_TRASH, NULL);
-
-	for (i = 0; i < COLOR_PROFILE_INPUTS; i++)
-		{
-		options->color_profile.input_file[i] = NULL;
-		options->color_profile.input_name[i] = NULL;
-		}
-
-	set_default_image_overlay_template_string(&options->image_overlay.common.template_string);
-	sidecar_ext_add_defaults();
-	options->layout.order = g_strdup("123");
-	options->properties.tabs_order = g_strdup(info_tab_default_order());
-
-	options->shell.path = g_strdup(GQ_DEFAULT_SHELL_PATH);
-	options->shell.options = g_strdup(GQ_DEFAULT_SHELL_OPTIONS);
-
-	for (i = 0; ExifUIList[i].key; i++)
-		ExifUIList[i].current = ExifUIList[i].default_value;
-}
-
-static void sync_options_with_current_state(void)
-{
-	LayoutWindow *lw = NULL;
-
-	if (layout_valid(&lw))
-		{
-		options->layout.main_window.maximized =  window_maximized(lw->window);
-		if (!options->layout.main_window.maximized)
-			{
-			layout_geometry_get(NULL, &options->layout.main_window.x, &options->layout.main_window.y,
-					    &options->layout.main_window.w, &options->layout.main_window.h);
-			}
-
-		options->image_overlay.common.state = image_osd_get(lw->image);
-		}
-
-	layout_geometry_get_dividers(NULL, &options->layout.main_window.hdivider_pos, &options->layout.main_window.vdivider_pos);
-
-	layout_views_get(NULL, &options->layout.dir_view_type, &options->layout.file_view_type);
-
-	options->layout.show_thumbnails = layout_thumb_get(NULL);
-	options->layout.show_marks = layout_marks_get(NULL);
-
-	layout_sort_get(NULL, &options->file_sort.method, &options->file_sort.ascending);
-
-	layout_geometry_get_tools(NULL, &options->layout.float_window.x, &options->layout.float_window.y,
-				  &options->layout.float_window.w, &options->layout.float_window.h, &options->layout.float_window.vdivider_pos);
-	layout_tools_float_get(NULL, &options->layout.tools_float, &options->layout.tools_hidden);
-	options->layout.toolbar_hidden = layout_toolbar_hidden(NULL);
-
-	options->color_profile.enabled = layout_image_color_profile_get_use(NULL);
-	layout_image_color_profile_get(NULL,
-				       &options->color_profile.input_type,
-				       &options->color_profile.screen_type,
-				       &options->color_profile.use_image);
-
-	if (options->startup.restore_path && options->startup.use_last_path)
-		{
-		g_free(options->startup.path);
-		options->startup.path = g_strdup(layout_get_path(NULL));
-		}
-}
 
 static void exit_program_final(void)
 {
@@ -641,7 +543,7 @@
 
 	collect_manager_flush();
 
-	sync_options_with_current_state();
+	sync_options_with_current_state(options);
 	save_options();
 	keys_save();
 
@@ -750,7 +652,7 @@
 	parse_command_line_for_debug_option(argc, argv);
 
 	options = init_options(NULL);
-	setup_default_options();
+	setup_default_options(options);
 	load_options();
 
 	parse_command_line(argc, argv, &cmd_path, &cmd_file, &cmd_list, &collection_list, &geometry);
--- a/src/options.c	Thu May 22 22:49:07 2008 +0000
+++ b/src/options.c	Thu May 22 23:09:53 2008 +0000
@@ -12,8 +12,17 @@
 #include "main.h"
 #include "options.h"
 
+#include "bar_exif.h"
+#include "editors.h"
+#include "filefilter.h"
 #include "histogram.h" /* HCHAN_RGB */
 #include "image-overlay.h" /* OSD_SHOW_NOTHING */
+#include "info.h"
+#include "layout.h"
+#include "layout_image.h"
+#include "ui_bookmark.h"
+#include "ui_fileops.h"
+#include "window.h"
 
 ConfOptions *init_options(ConfOptions *options)
 {
@@ -145,3 +154,88 @@
 
 	return options;
 }
+
+void setup_default_options(ConfOptions *options)
+{
+	gchar *path;
+	gint i;
+
+	for (i = 0; i < GQ_EDITOR_SLOTS; i++)
+		{
+		options->editor[i].name = NULL;
+		options->editor[i].command = NULL;
+		}
+
+	editor_reset_defaults();
+
+	bookmark_add_default(_("Home"), homedir());
+	path = g_build_filename(homedir(), "Desktop", NULL);
+	bookmark_add_default(_("Desktop"), path);
+	g_free(path);
+	path = g_build_filename(homedir(), GQ_RC_DIR_COLLECTIONS, NULL);
+	bookmark_add_default(_("Collections"), path);
+	g_free(path);
+
+	g_free(options->file_ops.safe_delete_path);
+	options->file_ops.safe_delete_path = g_build_filename(homedir(), GQ_RC_DIR_TRASH, NULL);
+
+	for (i = 0; i < COLOR_PROFILE_INPUTS; i++)
+		{
+		options->color_profile.input_file[i] = NULL;
+		options->color_profile.input_name[i] = NULL;
+		}
+
+	set_default_image_overlay_template_string(&options->image_overlay.common.template_string);
+	sidecar_ext_add_defaults();
+	options->layout.order = g_strdup("123");
+	options->properties.tabs_order = g_strdup(info_tab_default_order());
+
+	options->shell.path = g_strdup(GQ_DEFAULT_SHELL_PATH);
+	options->shell.options = g_strdup(GQ_DEFAULT_SHELL_OPTIONS);
+
+	for (i = 0; ExifUIList[i].key; i++)
+		ExifUIList[i].current = ExifUIList[i].default_value;
+}
+
+void sync_options_with_current_state(ConfOptions *options)
+{
+	LayoutWindow *lw = NULL;
+
+	if (layout_valid(&lw))
+		{
+		options->layout.main_window.maximized =  window_maximized(lw->window);
+		if (!options->layout.main_window.maximized)
+			{
+			layout_geometry_get(NULL, &options->layout.main_window.x, &options->layout.main_window.y,
+					    &options->layout.main_window.w, &options->layout.main_window.h);
+			}
+
+		options->image_overlay.common.state = image_osd_get(lw->image);
+		}
+
+	layout_geometry_get_dividers(NULL, &options->layout.main_window.hdivider_pos, &options->layout.main_window.vdivider_pos);
+
+	layout_views_get(NULL, &options->layout.dir_view_type, &options->layout.file_view_type);
+
+	options->layout.show_thumbnails = layout_thumb_get(NULL);
+	options->layout.show_marks = layout_marks_get(NULL);
+
+	layout_sort_get(NULL, &options->file_sort.method, &options->file_sort.ascending);
+
+	layout_geometry_get_tools(NULL, &options->layout.float_window.x, &options->layout.float_window.y,
+				  &options->layout.float_window.w, &options->layout.float_window.h, &options->layout.float_window.vdivider_pos);
+	layout_tools_float_get(NULL, &options->layout.tools_float, &options->layout.tools_hidden);
+	options->layout.toolbar_hidden = layout_toolbar_hidden(NULL);
+
+	options->color_profile.enabled = layout_image_color_profile_get_use(NULL);
+	layout_image_color_profile_get(NULL,
+				       &options->color_profile.input_type,
+				       &options->color_profile.screen_type,
+				       &options->color_profile.use_image);
+
+	if (options->startup.restore_path && options->startup.use_last_path)
+		{
+		g_free(options->startup.path);
+		options->startup.path = g_strdup(layout_get_path(NULL));
+		}
+}
--- a/src/options.h	Thu May 22 22:49:07 2008 +0000
+++ b/src/options.h	Thu May 22 23:09:53 2008 +0000
@@ -234,5 +234,7 @@
 ConfOptions *options;
 
 ConfOptions *init_options(ConfOptions *options);
+void setup_default_options(ConfOptions *options);
+void sync_options_with_current_state(ConfOptions *options);
 
 #endif /* OPTIONS_H */