Esempio n. 1
0
void prefs_account_free(PrefsAccount *ac_prefs)
{
	if (!ac_prefs) return;

	tmp_ac_prefs = *ac_prefs;
	prefs_free(param);

	if (ac_prefs->tmp_pass)
		g_free(ac_prefs->tmp_pass);
	g_free(ac_prefs);
}
static void
prefs_event_cb(
	enum app_event_enum e,
	gpointer p, gint i)
{
	switch(e) {
	case EVENT_MAIN_INIT:
		prefs_init();
		break;

	case EVENT_MAIN_REGISTER_PREFS:
		prefs_register(PREFS_PREFS_AUTO_SAVE, PREFS_TYPE_BOOL,
			_("Save settings on exit"), NULL, NULL);
		break;

	case EVENT_MAIN_PRESET_PREFS:
		prefs_set(PREFS_PREFS_AUTO_SAVE, TRUE);
		break;

	case EVENT_MAIN_LOAD_PREFS:
		prefs_load();
		break;

	case EVENT_MAIN_CLOSE:
		/* save configuration */
		if(prefs_bool(PREFS_PREFS_AUTO_SAVE))
			prefs_store();
		prefs_free();
		break;

	case EVENT_IFACE_RELOAD_CONFIG:
		/* force reload of config */
		prefs_load();
		break;

	case EVENT_IFACE_STORE_CONFIG:
		prefs_store();
		break;
	default:
		break;
	}
}