From 4cb16fd438e1a8c32820ade0312574065ecf9fa9 Mon Sep 17 00:00:00 2001 From: Yevgen Muntyan <17531749+muntyan@users.noreply.github.com> Date: Sat, 22 Apr 2006 11:32:36 -0500 Subject: [PATCH] Updated to changes in MooConfig --- moo.kdevelop | 27 +- .../plugins/activestrings/as-plugin-prefs.c | 325 +++++------------- moo/mooedit/plugins/activestrings/as-plugin.c | 148 +++++--- moo/mooedit/plugins/activestrings/as-plugin.h | 14 +- moo/mooedit/plugins/completion/completion.c | 11 +- 5 files changed, 213 insertions(+), 312 deletions(-) diff --git a/moo.kdevelop b/moo.kdevelop index c4f53bce..482824a0 100644 --- a/moo.kdevelop +++ b/moo.kdevelop @@ -20,11 +20,14 @@ kdevopenwith kdevregexptest kdevscripting + kdevsecurity + kdevastyle kdevtexttools + kdevtools . false - + C @@ -218,15 +221,15 @@ - + --g-fatal-warnings true false true - - - - + + + + true @@ -288,16 +291,16 @@ - + A new empty GAP source file - + A new empty C++ file. - + A new empty header file for C/C++. - + A new empty C file. @@ -324,7 +327,7 @@ - + set m_,_ theValue @@ -334,7 +337,7 @@ false 3 - + diff --git a/moo/mooedit/plugins/activestrings/as-plugin-prefs.c b/moo/mooedit/plugins/activestrings/as-plugin-prefs.c index a9a5243a..9754c139 100644 --- a/moo/mooedit/plugins/activestrings/as-plugin-prefs.c +++ b/moo/mooedit/plugins/activestrings/as-plugin-prefs.c @@ -21,15 +21,6 @@ #include -enum { - COLUMN_PATTERN, - COLUMN_SCRIPT, - COLUMN_LANG, - COLUMN_ENABLED, - N_COLUMNS -}; - - static void prefs_page_apply (MooGladeXML *xml); static void prefs_page_init (MooGladeXML *xml); static void prefs_page_destroy (MooGladeXML *xml); @@ -93,7 +84,6 @@ _as_plugin_prefs_page (MooPlugin *plugin) GtkTreeSelection *selection; GtkTreeView *treeview; GtkTreeViewColumn *column; - GtkListStore *store; GtkCellRenderer *cell; xml = moo_glade_xml_new_empty (); @@ -111,17 +101,11 @@ _as_plugin_prefs_page (MooPlugin *plugin) setup_script_view (moo_glade_xml_get_widget (xml, "script")); - store = gtk_list_store_new (N_COLUMNS, - G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_BOOLEAN); treeview = moo_glade_xml_get_widget (xml, "treeview"); selection = gtk_tree_view_get_selection (treeview); g_signal_connect (selection, "changed", G_CALLBACK (selection_changed), xml); - gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (store)); - g_object_unref (store); - column = gtk_tree_view_column_new (); gtk_tree_view_append_column (treeview, column); @@ -156,18 +140,19 @@ pattern_data_func (G_GNUC_UNUSED GtkTreeViewColumn *column, GtkTreeIter *iter) { gboolean enabled; - char *pattern; + const char *pattern; + MooConfigItem *item = NULL; - gtk_tree_model_get (model, iter, - COLUMN_ENABLED, &enabled, - COLUMN_PATTERN, &pattern, -1); + gtk_tree_model_get (model, iter, 0, &item, -1); + g_return_if_fail (item != NULL); + + pattern = moo_config_item_get_value (item, AS_KEY_PATTERN); + enabled = moo_config_item_get_bool (item, AS_KEY_ENABLED, TRUE); g_object_set (cell, "text", pattern, "foreground", enabled ? NULL : "grey", "style", enabled ? PANGO_STYLE_NORMAL : PANGO_STYLE_ITALIC, NULL); - - g_free (pattern); } @@ -190,87 +175,6 @@ is_empty_string (const char *string) } -static void -set_changed (GtkTreeModel *model, - gboolean changed) -{ - g_object_set_data (G_OBJECT (model), "as-plugin-model-changed", - GINT_TO_POINTER (changed)); -} - -static gboolean -get_changed (GtkTreeModel *model) -{ - return g_object_get_data (G_OBJECT (model), "as-plugin-model-changed") ? - TRUE : FALSE; -} - - -static MooConfig * -make_config (GtkTreeModel *model) -{ - GtkTreeIter iter; - MooConfig *config = NULL; - - if (!gtk_tree_model_get_iter_first (model, &iter)) - return NULL; - - config = moo_config_new (AS_KEY_PATTERN); - - do - { - MooConfigItem *item; - char *pattern, *lang, *script; - gboolean enabled; - - gtk_tree_model_get (model, &iter, - COLUMN_PATTERN, &pattern, - COLUMN_LANG, &lang, - COLUMN_SCRIPT, &script, - COLUMN_ENABLED, &enabled, - -1); - - if (is_empty_string (script)) - { - g_free (script); - script = NULL; - } - - if (is_empty_string (lang)) - { - g_free (lang); - lang = NULL; - } - - if (is_empty_string (pattern)) - { - g_free (pattern); - pattern = NULL; - } - - if (pattern) - { - item = moo_config_new_item (config, pattern, FALSE); - - if (script) - moo_config_set_item_content (config, item, script, FALSE); - - if (lang) - moo_config_set_value (config, item, AS_KEY_LANG, lang, FALSE); - if (!enabled) - moo_config_set_value (config, item, AS_KEY_ENABLED, "no", FALSE); - } - - g_free (pattern); - g_free (lang); - g_free (script); - } - while (gtk_tree_model_iter_next (model, &iter)); - - return config; -} - - static void prefs_page_apply (MooGladeXML *xml) { @@ -278,9 +182,7 @@ prefs_page_apply (MooGladeXML *xml) GtkTreeModel *model; GtkTreeSelection *selection; MooConfig *config; - char *cfg_string = NULL; GError *error = NULL; - const char *file; selection = gtk_tree_view_get_selection (moo_glade_xml_get_widget (xml, "treeview")); @@ -291,22 +193,12 @@ prefs_page_apply (MooGladeXML *xml) gtk_tree_path_free (path); } - if (!get_changed (model)) + config = MOO_CONFIG (model); + + if (!moo_config_get_modified (config)) return; - config = make_config (model); - - if (config) - cfg_string = moo_config_format (config); - else - cfg_string = g_strdup (""); - - file = moo_prefs_get_filename (AS_FILE_PREFS_KEY); - - if (file) - moo_save_file_utf8 (file, cfg_string, -1, &error); - else - moo_save_user_data_file (AS_FILE, cfg_string, -1, &error); + _as_plugin_save_config (config, &error); if (error) { @@ -315,49 +207,25 @@ prefs_page_apply (MooGladeXML *xml) g_error_free (error); } - set_changed (model, FALSE); _as_plugin_reload (get_plugin (xml)); - - if (config) - g_object_unref (config); -} - - -static void -insert_item (const char *pattern, - const char *script, - const char *lang, - gboolean enabled, - GtkListStore *store) -{ - GtkTreeIter iter; - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, - COLUMN_PATTERN, pattern, - COLUMN_LANG, lang, - COLUMN_SCRIPT, script, - COLUMN_ENABLED, enabled, - -1); } static void prefs_page_init (MooGladeXML *xml) { - GtkTreeIter iter; - GtkListStore *store; - GtkTreeModel *model; + MooConfig *config; - model = gtk_tree_view_get_model (moo_glade_xml_get_widget (xml, "treeview")); - store = GTK_LIST_STORE (model); + config = _as_plugin_load_config (); - if (gtk_tree_model_get_iter_first (model, &iter)) - while (gtk_list_store_remove (store, &iter)) - ; + if (!config) + config = moo_config_new (); - _as_plugin_load (get_plugin (xml), (ASLoadFunc) insert_item, model); + gtk_tree_view_set_model (moo_glade_xml_get_widget (xml, "treeview"), + GTK_TREE_MODEL (config)); - set_from_model (xml, model, NULL); + set_from_model (xml, GTK_TREE_MODEL (config), NULL); + g_object_unref (config); } @@ -394,6 +262,7 @@ set_from_widgets (MooGladeXML *xml, const char *pattern, *lang; char *script; gboolean enabled; + MooConfigItem *item = NULL; gtk_tree_model_get_iter (model, &iter, path); @@ -406,44 +275,24 @@ set_from_widgets (MooGladeXML *xml, gtk_text_buffer_get_bounds (buffer, &start, &end); script = gtk_text_buffer_get_text (buffer, &start, &end, FALSE); - if (!get_changed (model)) - { - char *old_pattern, *old_script, *old_lang; - gboolean old_enabled; + gtk_tree_model_get (model, &iter, 0, &item, -1); + g_return_if_fail (item != NULL); - gtk_tree_model_get (model, &iter, - COLUMN_PATTERN, &old_pattern, - COLUMN_SCRIPT, &old_script, - COLUMN_LANG, &old_lang, - COLUMN_ENABLED, &old_enabled, - -1); + moo_config_set_value (MOO_CONFIG (model), item, + AS_KEY_PATTERN, pattern, TRUE); + moo_config_set_value (MOO_CONFIG (model), item, + AS_KEY_LANG, lang, TRUE); - if (strings_equal (old_pattern, pattern) && - strings_equal (old_script, script) && - strings_equal (old_lang, lang) && - enabled == old_enabled) - { - g_free (old_pattern); - g_free (old_script); - g_free (old_lang); - goto out; - } + if (!enabled) + moo_config_set_bool (MOO_CONFIG (model), item, + AS_KEY_ENABLED, enabled, TRUE); + else + moo_config_set_value (MOO_CONFIG (model), item, + AS_KEY_ENABLED, NULL, TRUE); - set_changed (model, TRUE); + moo_config_set_item_content (MOO_CONFIG (model), item, + script, TRUE); - g_free (old_pattern); - g_free (old_script); - g_free (old_lang); - } - - gtk_list_store_set (GTK_LIST_STORE (model), &iter, - COLUMN_PATTERN, pattern, - COLUMN_SCRIPT, script, - COLUMN_LANG, lang, - COLUMN_ENABLED, enabled, - -1); - -out: g_free (script); } @@ -471,6 +320,14 @@ set_from_model (MooGladeXML *xml, GtkEntry *entry_pattern, *entry_lang; GtkTextView *script_view; GtkTextBuffer *buffer; + MooConfigItem *item = NULL; + + if (path) + { + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, 0, &item, -1); + g_return_if_fail (item != NULL); + } g_signal_handlers_block_by_func (moo_glade_xml_get_widget (xml, "pattern"), (gpointer) pattern_changed, xml); @@ -488,10 +345,7 @@ set_from_model (MooGladeXML *xml, script_view = moo_glade_xml_get_widget (xml, "script"); buffer = gtk_text_view_get_buffer (script_view); - if (path) - gtk_tree_model_get_iter (model, &iter, path); - - if (!path) + if (!item) { gtk_widget_set_sensitive (button_delete, FALSE); gtk_widget_set_sensitive (button_up, FALSE); @@ -505,16 +359,14 @@ set_from_model (MooGladeXML *xml, } else { - char *pattern, *lang, *script; + const char *pattern, *lang, *script; gboolean enabled; int *indices; - gtk_tree_model_get (model, &iter, - COLUMN_PATTERN, &pattern, - COLUMN_LANG, &lang, - COLUMN_SCRIPT, &script, - COLUMN_ENABLED, &enabled, - -1); + pattern = moo_config_item_get_value (item, AS_KEY_PATTERN); + lang = moo_config_item_get_value (item, AS_KEY_LANG); + script = moo_config_item_get_content (item); + enabled = moo_config_item_get_bool (item, AS_KEY_ENABLED, TRUE); gtk_widget_set_sensitive (button_delete, TRUE); gtk_widget_set_sensitive (GTK_WIDGET (button_enabled), TRUE); @@ -597,27 +449,47 @@ selection_changed (GtkTreeSelection *selection, } +static int +iter_get_index (GtkTreeModel *model, + GtkTreeIter *iter) +{ + int index; + GtkTreePath *path; + + path = gtk_tree_model_get_path (model, iter); + + if (!path) + return -1; + + index = gtk_tree_path_get_indices(path)[0] + 1; + + gtk_tree_path_free (path); + return index; +} + + static void button_new (MooGladeXML *xml) { GtkTreeModel *model; - GtkTreeIter iter, after; + GtkTreeIter iter; GtkTreeSelection *selection; GtkTreeView *treeview; + MooConfigItem *item; + int index; treeview = moo_glade_xml_get_widget (xml, "treeview"); - if (!get_selected (xml, &model, &after)) - gtk_list_store_append (GTK_LIST_STORE (model), &iter); + if (!get_selected (xml, &model, &iter)) + index = -1; else - gtk_list_store_insert_after (GTK_LIST_STORE (model), &iter, &after); + index = iter_get_index (model, &iter); - gtk_list_store_set (GTK_LIST_STORE (model), &iter, - COLUMN_PATTERN, "?", - COLUMN_ENABLED, TRUE, -1); + item = moo_config_new_item (MOO_CONFIG (model), index, TRUE); + moo_config_set_value (MOO_CONFIG (model), item, AS_KEY_PATTERN, "?", TRUE); - set_changed (model, TRUE); selection = gtk_tree_view_get_selection (treeview); + moo_config_get_item_iter (MOO_CONFIG (model), item, &iter); gtk_tree_selection_select_iter (selection, &iter); } @@ -629,29 +501,20 @@ button_delete (MooGladeXML *xml) GtkTreeIter iter; GtkTreeSelection *selection; GtkTreeView *treeview; + int index; if (!get_selected (xml, &model, &iter)) g_return_if_reached (); - if (!gtk_list_store_remove (GTK_LIST_STORE (model), &iter)) - { - int n_children; + index = iter_get_index (model, &iter); + moo_config_delete_item (MOO_CONFIG (model), index, TRUE); - n_children = gtk_tree_model_iter_n_children (model, NULL); - - if (n_children) - gtk_tree_model_iter_nth_child (model, &iter, NULL, - n_children - 1); - } - - if (gtk_tree_model_iter_n_children (model, NULL)) + if (gtk_tree_model_iter_nth_child (model, &iter, NULL, index)) { treeview = moo_glade_xml_get_widget (xml, "treeview"); selection = gtk_tree_view_get_selection (treeview); gtk_tree_selection_select_iter (selection, &iter); } - - set_changed (model, TRUE); } @@ -660,7 +523,6 @@ button_up (MooGladeXML *xml) { GtkTreeModel *model; GtkTreeIter iter; - GtkTreeIter swap_with; GtkTreePath *path, *new_path; int *indices; @@ -673,13 +535,10 @@ button_up (MooGladeXML *xml) if (!indices[0]) g_return_if_reached (); + moo_config_move_item (MOO_CONFIG (model), indices[0], indices[0] - 1, TRUE); new_path = gtk_tree_path_new_from_indices (indices[0] - 1, -1); - gtk_tree_model_get_iter (model, &swap_with, new_path); - gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &swap_with); set_from_model (xml, model, new_path); - set_changed (model, TRUE); - gtk_tree_path_free (new_path); gtk_tree_path_free (path); } @@ -690,7 +549,6 @@ button_down (MooGladeXML *xml) { GtkTreeModel *model; GtkTreeIter iter; - GtkTreeIter swap_with; GtkTreePath *path, *new_path; int *indices; int n_children; @@ -705,13 +563,10 @@ button_down (MooGladeXML *xml) if (indices[0] == n_children - 1) g_return_if_reached (); + moo_config_move_item (MOO_CONFIG (model), indices[0], indices[0] + 1, TRUE); new_path = gtk_tree_path_new_from_indices (indices[0] + 1, -1); - gtk_tree_model_get_iter (model, &swap_with, new_path); - gtk_list_store_swap (GTK_LIST_STORE (model), &iter, &swap_with); set_from_model (xml, model, new_path); - set_changed (model, TRUE); - gtk_tree_path_free (new_path); gtk_tree_path_free (path); } @@ -724,15 +579,18 @@ pattern_changed (MooGladeXML *xml) GtkTreeModel *model; GtkTreeIter iter; const char *pattern; + MooConfigItem *item = NULL; if (!get_selected (xml, &model, &iter)) return; entry = moo_glade_xml_get_widget (xml, "pattern"); pattern = gtk_entry_get_text (entry); + gtk_tree_model_get (model, &iter, 0, &item, -1); + g_return_if_fail (item != NULL); - set_changed (model, TRUE); - gtk_list_store_set (GTK_LIST_STORE (model), &iter, COLUMN_PATTERN, pattern, -1); + moo_config_set_value (MOO_CONFIG (model), item, + AS_KEY_PATTERN, pattern, TRUE); } @@ -742,14 +600,17 @@ enabled_changed (MooGladeXML *xml) GtkToggleButton *button; GtkTreeModel *model; GtkTreeIter iter; + MooConfigItem *item = NULL; if (!get_selected (xml, &model, &iter)) return; button = moo_glade_xml_get_widget (xml, "enabled"); - set_changed (model, TRUE); - gtk_list_store_set (GTK_LIST_STORE (model), &iter, - COLUMN_ENABLED, gtk_toggle_button_get_active (button), -1); + gtk_tree_model_get (model, &iter, 0, &item, -1); + g_return_if_fail (item != NULL); + + moo_config_set_bool (MOO_CONFIG (model), item, AS_KEY_ENABLED, + gtk_toggle_button_get_active (button), TRUE); } diff --git a/moo/mooedit/plugins/activestrings/as-plugin.c b/moo/mooedit/plugins/activestrings/as-plugin.c index 0db3d05c..e54cb581 100644 --- a/moo/mooedit/plugins/activestrings/as-plugin.c +++ b/moo/mooedit/plugins/activestrings/as-plugin.c @@ -25,6 +25,7 @@ #include "mooutils/eggregex.h" #include "mooutils/mooconfig.h" #include "mooutils/mooutils-misc.h" +#include "mooutils/mooutils-fs.h" #include "as-plugin-script.h" #include "as-plugin.h" #include "mooscript/mooscript-parser.h" @@ -709,36 +710,66 @@ as_plugin_load_info (ASPlugin *plugin, } -static void -append_item (const char *pattern, - const char *script, - const char *lang, - gboolean enabled, - GSList **list) +static GSList * +as_plugin_parse_config (MooConfig *config) { - ASInfo *info; + guint n_items, i; + GSList *list = NULL; - info = as_info_new (pattern, script, lang, enabled); + g_return_val_if_fail (config != NULL, NULL); - if (info) - *list = g_slist_prepend (*list, info); + n_items = moo_config_n_items (config); + + for (i = 0; i < n_items; ++i) + { + const char *pattern, *lang, *script; + gboolean enabled; + ASInfo *info; + MooConfigItem *item = moo_config_nth_item (config, i); + + pattern = moo_config_item_get_value (item, AS_KEY_PATTERN); + lang = moo_config_item_get_value (item, AS_KEY_LANG); + enabled = moo_config_item_get_bool (item, AS_KEY_ENABLED, TRUE); + script = moo_config_item_get_content (item); + + if (!pattern) + { + g_warning ("%s: patern missing", G_STRLOC); + continue; + } + + if (!script || !script[0]) + script = NULL; + + info = as_info_new (pattern, script, lang, enabled); + + if (info) + list = g_slist_prepend (list, info); + } + + return g_slist_reverse (list); } + static void as_plugin_load (ASPlugin *plugin) { GSList *info = NULL; + MooConfig *config; - _as_plugin_load (MOO_PLUGIN (plugin), - (ASLoadFunc) append_item, - &info); - info = g_slist_reverse (info); + config = _as_plugin_load_config (); + + if (!config) + return; + + info = as_plugin_parse_config (config); if (info) as_plugin_load_info (plugin, info); g_slist_foreach (info, (GFunc) as_info_free, NULL); g_slist_free (info); + g_object_unref (config); } @@ -1007,24 +1038,46 @@ as_plugin_do_action (ASPlugin *plugin, } -void -_as_plugin_load (G_GNUC_UNUSED MooPlugin *plugin, - ASLoadFunc func, - gpointer data) +static char * +as_plugin_get_user_file (gboolean *is_default) { - MooConfig *config; char *file; - guint n_items, i; moo_prefs_new_key_string (AS_FILE_PREFS_KEY, NULL); file = g_strdup (moo_prefs_get_filename (AS_FILE_PREFS_KEY)); if (!file) + { + if (is_default) + *is_default = TRUE; + file = moo_get_user_data_file (AS_FILE); + } + else if (is_default) + { + *is_default = FALSE; + } + + return file; +} + + +MooConfig * +_as_plugin_load_config (void) +{ + MooConfig *config; + char *file; + GError *error = NULL; + + file = as_plugin_get_user_file (NULL); + + if (!file || !g_file_test (file, G_FILE_TEST_EXISTS)) { char **files; guint n_files; int i; + g_free (file); + file = NULL; files = moo_get_data_files (AS_FILE, MOO_DATA_SHARE, &n_files); for (i = n_files - 1; !file && i >= 0; --i) @@ -1033,49 +1086,44 @@ _as_plugin_load (G_GNUC_UNUSED MooPlugin *plugin, g_strfreev (files); } - else if (!g_file_test (file, G_FILE_TEST_EXISTS)) - { - g_free (file); - file = NULL; - } if (!file) - return; + return NULL; - config = moo_config_new (AS_KEY_PATTERN); + config = moo_config_new_from_file (file, FALSE, &error); - if (!moo_config_parse_file (config, file, FALSE)) + if (!config) { - g_object_unref (config); - return; + g_critical ("%s: %s", G_STRLOC, error->message); + g_error_free (error); } - n_items = moo_config_n_items (config); + g_free (file); + return config; +} - for (i = 0; i < n_items; ++i) - { - const char *pattern, *lang, *script; - gboolean enabled; - MooConfigItem *item = moo_config_nth_item (config, i); - pattern = moo_config_item_get_id (item); - lang = moo_config_item_get_value (item, AS_KEY_LANG); - enabled = moo_config_item_get_bool (item, AS_KEY_ENABLED, TRUE); - script = moo_config_item_get_content (item); +gboolean +_as_plugin_save_config (MooConfig *config, + GError **error) +{ + char *file, *string; + gboolean is_default, result; - if (!pattern) - { - g_warning ("%s: patern missing", G_STRLOC); - continue; - } + g_return_val_if_fail (MOO_IS_CONFIG (config), FALSE); - if (!script || !script[0]) - script = NULL; + file = as_plugin_get_user_file (&is_default); + g_return_val_if_fail (file != NULL, FALSE); - func (pattern, script, lang, enabled, data); - } + string = moo_config_format (config); - g_object_unref (config); + if (is_default) + result = moo_save_user_data_file (AS_FILE, string, -1, error); + else + result = moo_save_file_utf8 (file, string, -1, error); + + g_free (string); + return result; } diff --git a/moo/mooedit/plugins/activestrings/as-plugin.h b/moo/mooedit/plugins/activestrings/as-plugin.h index 94a6a403..eb6c582e 100644 --- a/moo/mooedit/plugins/activestrings/as-plugin.h +++ b/moo/mooedit/plugins/activestrings/as-plugin.h @@ -13,6 +13,7 @@ */ #include "mooedit/mooplugin.h" +#include "mooutils/mooconfig.h" #ifndef __AS_PLUGIN_H__ #define __AS_PLUGIN_H__ @@ -31,18 +32,11 @@ G_BEGIN_DECLS #define AS_FILE_PREFS_KEY AS_PREFS_ROOT "/file" -typedef void (*ASLoadFunc) (const char *pattern, - const char *script, - const char *lang, - gboolean enabled, - gpointer data); - - GtkWidget *_as_plugin_prefs_page (MooPlugin *plugin); void _as_plugin_reload (MooPlugin *plugin); -void _as_plugin_load (MooPlugin *plugin, - ASLoadFunc func, - gpointer data); +MooConfig *_as_plugin_load_config (void); +gboolean _as_plugin_save_config (MooConfig *config, + GError **error); G_END_DECLS diff --git a/moo/mooedit/plugins/completion/completion.c b/moo/mooedit/plugins/completion/completion.c index 3126c2ee..dba76439 100644 --- a/moo/mooedit/plugins/completion/completion.c +++ b/moo/mooedit/plugins/completion/completion.c @@ -191,13 +191,8 @@ cmpl_data_read_config_file (CmplData *data) g_return_if_fail (data->cmpl == NULL); g_return_if_fail (data->path != NULL); - config = moo_config_new ("pattern"); - - if (!moo_config_parse_file (config, data->path, FALSE)) - { - g_object_unref (config); - return; - } + config = moo_config_new_from_file (data->path, FALSE, NULL); + g_return_if_fail (config != NULL); n_items = moo_config_n_items (config); g_return_if_fail (n_items != 0); @@ -215,7 +210,7 @@ cmpl_data_read_config_file (CmplData *data) item = moo_config_nth_item (config, i); - pattern = moo_config_item_get_id (item); + pattern = moo_config_item_get_value (item, "pattern"); prefix = moo_config_item_get_value (item, "prefix"); suffix = moo_config_item_get_value (item, "insert-suffix"); script = moo_config_item_get_value (item, "insert-script");