Ejemplo n.º 1
0
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;

}
Ejemplo n.º 2
0
/**
 * 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;
}
Ejemplo n.º 3
0
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;
	*/
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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;
      }
  }
}
Ejemplo n.º 6
0
/* 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");

}