void save_settings() { GConfClient* gcClient = NULL; gcClient = gconf_client_get_default(); g_assert(GCONF_IS_CLIENT(gcClient)); gchar *port_path = g_strconcat(config->GC_ROOT, "port", NULL); const gchar *save_server_port = gtk_entry_get_text(GTK_ENTRY(txtServerPort)); if (! gconf_client_set_string(gcClient, port_path, save_server_port, NULL) ) { GtkWidget *failDialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Failed to update server port setting\n"); gtk_dialog_run (GTK_DIALOG (failDialog)); gtk_widget_destroy (failDialog); } gchar *update_path = g_strconcat(config->GC_ROOT, "update", NULL); const gchar *save_update_interval = gtk_entry_get_text(GTK_ENTRY(txtUpdateInterval)); if (! gconf_client_set_int(gcClient, update_path, g_ascii_strtod(save_update_interval, NULL), NULL) ) { GtkWidget *failDialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Failed to update update interval setting\n"); gtk_dialog_run (GTK_DIALOG (failDialog)); gtk_widget_destroy (failDialog); } g_object_unref(gcClient); gcClient = NULL; }
/** * e_account_list_new: * @gconf: a #GConfClient * * Reads the list of accounts from @gconf and listens for changes. * Will emit %account_added, %account_changed, and %account_removed * signals according to notifications from GConf. * * You can modify the list using e_list_append(), e_list_remove(), and * e_iterator_delete(). After adding, removing, or changing accounts, * you must call e_account_list_save() to push the changes back to * GConf. * * Return value: the list of accounts **/ EAccountList * e_account_list_new (GConfClient *gconf) { EAccountList *account_list; g_return_val_if_fail (GCONF_IS_CLIENT (gconf), NULL); account_list = g_object_new (E_TYPE_ACCOUNT_LIST, NULL); e_account_list_construct (account_list, gconf); return account_list; }
void load_settings() { GConfClient* gcClient = NULL; GConfValue* val = NULL; gdouble sport; gcClient = gconf_client_get_default(); g_assert(GCONF_IS_CLIENT(gcClient)); gchar *port_path = g_strconcat(config->GC_ROOT, "port", NULL); val = gconf_client_get_without_default(gcClient, port_path, NULL); if (val == NULL) { g_warning("Unable to read server port value\n"); } else { if (val->type == GCONF_VALUE_STRING) { settings->server_port = g_strndup(gconf_value_get_string(val),STRING_MAX_SIZE - 1); sport = g_ascii_strtod(settings->server_port, NULL); if( (sport < 1024) || (sport > 32766) ) { GtkWidget *failDialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Bad server port value.\nServer port must be between 1024 and 32766.\nDefaulting to 8080."); gtk_dialog_run (GTK_DIALOG (failDialog)); gtk_widget_destroy (failDialog); settings->server_port = "8080"; } } else { g_warning("Bad server port value set\n"); } } gchar *update_path = g_strconcat(config->GC_ROOT, "update", NULL); val = gconf_client_get_without_default(gcClient, update_path, NULL); if (val == NULL) { g_warning("Unable to read update interval value\n"); } else { if (val->type == GCONF_VALUE_INT) { settings->update_interval = gconf_value_get_int(val); } else { g_warning("Bad update interval set\n"); } } /* gconf_value_free(val); val = NULL; */ }
void e_account_list_construct (EAccountList *account_list, GConfClient *gconf) { g_return_if_fail (GCONF_IS_CLIENT (gconf)); e_list_construct (E_LIST (account_list), copy_func, free_func, NULL); account_list->priv->gconf = gconf; g_object_ref (gconf); gconf_client_add_dir (account_list->priv->gconf, "/apps/evolution/mail/accounts", GCONF_CLIENT_PRELOAD_ONELEVEL, NULL); account_list->priv->notify_id = gconf_client_notify_add (account_list->priv->gconf, "/apps/evolution/mail/accounts", gconf_accounts_changed, account_list, NULL, NULL); gconf_accounts_changed (account_list->priv->gconf, account_list->priv->notify_id, NULL, account_list); }
static void electron_manager_on_value_changed (GConfClient *client, const gchar *key, GConfValue *value, ElectronManager *eman) { ElectronManagerPrivate *priv; g_return_if_fail (IS_ELECTRON_MANAGER (eman)); priv = eman->priv; g_return_if_fail (GCONF_IS_CLIENT (client)); g_return_if_fail (priv->gconf == client); if (g_str_has_prefix (key, ELECTRON_MANAGER_ROMS_CONF_DIR) && key[sizeof (ELECTRON_MANAGER_ROMS_CONF_DIR) - 1] == '/') { int rom_num; for (rom_num = 0; rom_num < ELECTRON_MANAGER_ROM_COUNT; rom_num++) if (!strcmp (key + sizeof (ELECTRON_MANAGER_ROMS_CONF_DIR), electron_manager_rom_table[rom_num].key)) { GError *error = NULL; if (electron_manager_update_rom (eman, rom_num, &error) == -1) { GList *list = g_list_prepend (NULL, error); g_signal_emit (G_OBJECT (eman), electron_manager_signals[ELECTRON_MANAGER_ROM_ERROR_SIGNAL], 0, list); g_error_free (error); g_list_free (list); } break; } } }
/* Ensures that the configuration values have been read */ static void ensure_inited (void) { if (inited) return; inited = TRUE; conf_client = gconf_client_get_default (); if (!GCONF_IS_CLIENT (conf_client)) { inited = FALSE; return; } g_atexit ((GVoidFunc) do_cleanup); /* load the sources for calendars and tasks */ calendar_source_list = e_source_list_new_for_gconf (conf_client, "/apps/evolution/calendar/sources"); tasks_source_list = e_source_list_new_for_gconf (conf_client, "/apps/evolution/tasks/sources"); }