SF.net SVN: geany: [1830] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Mon Aug 27 16:54:15 UTC 2007
Revision: 1830
http://geany.svn.sourceforge.net/geany/?rev=1830&view=rev
Author: ntrel
Date: 2007-08-27 09:54:15 -0700 (Mon, 27 Aug 2007)
Log Message:
-----------
Refactor configuration_load().
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/keyfile.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2007-08-27 16:39:49 UTC (rev 1829)
+++ trunk/ChangeLog 2007-08-27 16:54:15 UTC (rev 1830)
@@ -9,6 +9,8 @@
Clear PluginInfo fields in PLUGIN_INFO macro for future extensions.
* src/keyfile.c:
Group prefs in order for save_dialog_prefs().
+ * src/keyfile.c:
+ Refactor configuration_load().
2007-08-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2007-08-27 16:39:49 UTC (rev 1829)
+++ trunk/src/keyfile.c 2007-08-27 16:54:15 UTC (rev 1830)
@@ -390,24 +390,11 @@
else \
value = default_value;
-gboolean configuration_load()
+static void load_dialog_prefs(GKeyFile *config)
{
- gint *geo;
- gchar *configfile = g_strconcat(app->configdir, G_DIR_SEPARATOR_S, "geany.conf", NULL);
gchar *tmp_string, *tmp_string2;
const gchar *default_charset = NULL;
- GKeyFile *config = g_key_file_new();
- GError *error = NULL;
- if (! g_file_test(configfile, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK))
- { // config file does not (yet) exist, so try to load a global config file which may be
- // created by distributors
- geany_debug("No config file found, try to use global configuration.");
- setptr(configfile, g_strconcat(app->datadir, G_DIR_SEPARATOR_S "geany.conf", NULL));
- }
-
- g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL);
-
prefs.toolbar_visible = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_show", TRUE);
{
GtkIconSize tb_iconsize;
@@ -428,9 +415,7 @@
prefs.tab_pos_sidebar = utils_get_setting_integer(config, PACKAGE, "tab_pos_sidebar", GTK_POS_TOP);
prefs.sidebar_symbol_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_symbol_visible", TRUE);
prefs.sidebar_openfiles_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_openfiles_visible", TRUE);
- ui_prefs.sidebar_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_visible", TRUE);
prefs.statusbar_visible = utils_get_setting_boolean(config, PACKAGE, "statusbar_visible", TRUE);
- ui_prefs.msgwindow_visible = utils_get_setting_boolean(config, PACKAGE, "msgwindow_visible", TRUE);
editor_prefs.line_wrapping = utils_get_setting_boolean(config, PACKAGE, "line_breaking", FALSE); // default is off for better performance
editor_prefs.indent_mode = utils_get_setting_integer(config, PACKAGE, "indent_mode", INDENT_ADVANCED);
editor_prefs.use_tab_to_indent = utils_get_setting_boolean(config, PACKAGE, "use_tab_to_indent", FALSE);
@@ -446,44 +431,18 @@
editor_prefs.show_scrollbars = utils_get_setting_boolean(config, PACKAGE, "show_editor_scrollbars", TRUE);
editor_prefs.show_markers_margin = utils_get_setting_boolean(config, PACKAGE, "show_markers_margin", TRUE);
editor_prefs.show_linenumber_margin = utils_get_setting_boolean(config, PACKAGE, "show_linenumber_margin", TRUE);
- ui_prefs.fullscreen = utils_get_setting_boolean(config, PACKAGE, "fullscreen", FALSE);
prefs.tab_order_ltr = utils_get_setting_boolean(config, PACKAGE, "tab_order_ltr", TRUE);
prefs.show_notebook_tabs = utils_get_setting_boolean(config, PACKAGE, "show_notebook_tabs", TRUE);
prefs.show_tab_cross = utils_get_setting_boolean(config, PACKAGE, "show_tab_cross", TRUE);
editor_prefs.brace_match_ltgt = utils_get_setting_boolean(config, PACKAGE, "brace_match_ltgt", FALSE);
prefs.switch_msgwin_pages = utils_get_setting_boolean(config, PACKAGE, "switch_msgwin_pages", FALSE);
prefs.auto_focus = utils_get_setting_boolean(config, PACKAGE, "auto_focus", FALSE);
- ui_prefs.custom_date_format = utils_get_setting_string(config, PACKAGE, "custom_date_format", "");
prefs.context_action_cmd = utils_get_setting_string(config, PACKAGE, "context_action_cmd", "");
prefs.default_open_path = utils_get_setting_string(config, PACKAGE, "default_open_path", "");
- ui_prefs.custom_commands = g_key_file_get_string_list(config, PACKAGE, "custom_commands", NULL, NULL);
prefs.editor_font = utils_get_setting_string(config, PACKAGE, "editor_font", GEANY_DEFAULT_FONT_EDITOR);
prefs.tagbar_font = utils_get_setting_string(config, PACKAGE, "tagbar_font", GEANY_DEFAULT_FONT_SYMBOL_LIST);
prefs.msgwin_font = utils_get_setting_string(config, PACKAGE, "msgwin_font", GEANY_DEFAULT_FONT_MSG_WINDOW);
- scribble_text = utils_get_setting_string(config, PACKAGE, "scribble_text",
- _("Type here what you want, use it as a notice/scratch board"));
- geo = g_key_file_get_integer_list(config, PACKAGE, "geometry", NULL, &error);
- if (error)
- {
- ui_prefs.geometry[0] = -1;
- g_error_free(error);
- error = NULL;
- }
- else
- {
- ui_prefs.geometry[0] = geo[0];
- ui_prefs.geometry[1] = geo[1];
- ui_prefs.geometry[2] = geo[2];
- ui_prefs.geometry[3] = geo[3];
- ui_prefs.geometry[4] = geo[4];
- }
- hpan_position = utils_get_setting_integer(config, PACKAGE, "treeview_position", 156);
- vpan_position = utils_get_setting_integer(config, PACKAGE, "msgwindow_position", (geo) ?
- (GEANY_MSGWIN_HEIGHT + geo[3] - 440) :
- (GEANY_MSGWIN_HEIGHT + GEANY_WINDOW_DEFAULT_HEIGHT - 440));
-
-
editor_prefs.tab_width = utils_get_setting_integer(config, PACKAGE, "pref_editor_tab_width", 4);
editor_prefs.use_tabs = utils_get_setting_boolean(config, PACKAGE, "pref_editor_use_tabs", TRUE);
// use current locale encoding as default for new files (should be UTF-8 in most cases)
@@ -607,16 +566,71 @@
tmp_string = g_find_program_in_path(GEANY_DEFAULT_TOOLS_GREP);
prefs.tools_grep_cmd = utils_get_setting_string(config, "tools", "grep_cmd", tmp_string);
g_free(tmp_string);
+}
+
+static void load_ui_prefs(GKeyFile *config)
+{
+ gint *geo;
+ GError *error = NULL;
+
+ ui_prefs.sidebar_visible = utils_get_setting_boolean(config, PACKAGE, "sidebar_visible", TRUE);
+ ui_prefs.msgwindow_visible = utils_get_setting_boolean(config, PACKAGE, "msgwindow_visible", TRUE);
+ ui_prefs.fullscreen = utils_get_setting_boolean(config, PACKAGE, "fullscreen", FALSE);
+ ui_prefs.custom_date_format = utils_get_setting_string(config, PACKAGE, "custom_date_format", "");
+ ui_prefs.custom_commands = g_key_file_get_string_list(config, PACKAGE, "custom_commands", NULL, NULL);
+
+ scribble_text = utils_get_setting_string(config, PACKAGE, "scribble_text",
+ _("Type here what you want, use it as a notice/scratch board"));
+
+ geo = g_key_file_get_integer_list(config, PACKAGE, "geometry", NULL, &error);
+ if (error)
+ {
+ ui_prefs.geometry[0] = -1;
+ g_error_free(error);
+ error = NULL;
+ }
+ else
+ {
+ ui_prefs.geometry[0] = geo[0];
+ ui_prefs.geometry[1] = geo[1];
+ ui_prefs.geometry[2] = geo[2];
+ ui_prefs.geometry[3] = geo[3];
+ ui_prefs.geometry[4] = geo[4];
+ }
+ hpan_position = utils_get_setting_integer(config, PACKAGE, "treeview_position", 156);
+ vpan_position = utils_get_setting_integer(config, PACKAGE, "msgwindow_position", (geo) ?
+ (GEANY_MSGWIN_HEIGHT + geo[3] - 440) :
+ (GEANY_MSGWIN_HEIGHT + GEANY_WINDOW_DEFAULT_HEIGHT - 440));
+
+ g_free(geo);
+
// search
search_prefs.fif_extra_options = utils_get_setting_string(config, "search", "fif_extra_options", "");
+}
+
+gboolean configuration_load()
+{
+ gchar *configfile = g_strconcat(app->configdir, G_DIR_SEPARATOR_S, "geany.conf", NULL);
+ GKeyFile *config = g_key_file_new();
+
+ if (! g_file_test(configfile, G_FILE_TEST_IS_REGULAR | G_FILE_TEST_IS_SYMLINK))
+ { // config file does not (yet) exist, so try to load a global config file which may be
+ // created by distributors
+ geany_debug("No config file found, try to use global configuration.");
+ setptr(configfile, g_strconcat(app->datadir, G_DIR_SEPARATOR_S "geany.conf", NULL));
+ }
+
+ g_key_file_load_from_file(config, configfile, G_KEY_FILE_NONE, NULL);
+
+ load_dialog_prefs(config);
+ load_ui_prefs(config);
project_load_prefs(config);
load_file_lists(config);
g_key_file_free(config);
g_free(configfile);
- g_free(geo);
return TRUE;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list