2 * MStarDict - International dictionary for Maemo.
3 * Copyright (C) 2010 Roman Moravcik
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #include <gconf/gconf.h>
28 #include <gconf/gconf-client.h>
34 /* get the default client */
35 gconf_client = gconf_client_get_default();
42 bool Conf::GetBool(const gchar *key,
45 GConfValue *value = NULL;
50 value = gconf_client_get(gconf_client, key, NULL);
52 *val = gconf_value_get_bool(value);
53 gconf_value_free(value);
60 bool Conf::SetBool(const gchar *key,
68 ret = gconf_client_set_bool(gconf_client, key, val, NULL);
72 bool Conf::GetInt(const gchar *key,
75 GConfValue *value = NULL;
80 value = gconf_client_get(gconf_client, key, NULL);
82 *val = gconf_value_get_int(value);
83 gconf_value_free(value);
90 bool Conf::SetInt(const gchar *key,
98 ret = gconf_client_set_int(gconf_client, key, val, NULL);
102 bool Conf::GetString(const gchar *key,
105 GConfValue *value = NULL;
106 const gchar *sValue = NULL;
111 value = gconf_client_get(gconf_client, key, NULL);
113 sValue = gconf_value_get_string(value);
117 *val = g_strdup(sValue);
119 gconf_value_free(value);
126 bool Conf::SetString(const gchar *key,
129 gboolean ret = false;
137 ret = gconf_client_set_string(gconf_client, key, val, NULL);
141 bool Conf::GetStringList(const gchar *key,
142 std::list < std::string > &list)
144 GConfValue *value = NULL;
145 GSList *slist = NULL;
150 value = gconf_client_get(gconf_client, key, NULL);
152 slist = gconf_value_get_list(value);
155 GSList *entry = slist;
159 list.push_back(std::string(gconf_value_get_string((GConfValue *)entry->data)));
163 gconf_value_free(value);
170 bool Conf::SetStringList(const gchar *key,
171 std::list < std::string > &list)
173 GSList *slist = NULL;
174 gboolean ret = false;
179 for (std::list < std::string >::iterator i = list.begin(); i != list.end(); ++i) {
180 slist = g_slist_append(slist, (gpointer) i->c_str());
184 ret = gconf_client_set_list(gconf_client, key, GCONF_VALUE_STRING, slist, NULL);