void gnomemeeting_window_hide (GtkWidget *w) { int x = 0; int y = 0; gchar *window_name = NULL; gchar *conf_key_size = NULL; gchar *conf_key_position = NULL; gchar *size = NULL; gchar *position = NULL; g_return_if_fail (w != NULL); window_name = (char *) g_object_get_data (G_OBJECT (w), "window_name"); g_return_if_fail (window_name != NULL); conf_key_position = g_strdup_printf ("%s%s/position", USER_INTERFACE_KEY, window_name); conf_key_size = g_strdup_printf ("%s%s/size", USER_INTERFACE_KEY, window_name); /* If the window is visible, save its position and hide the window */ if (gnomemeeting_window_is_visible (w)) { gtk_window_get_position (GTK_WINDOW (w), &x, &y); position = g_strdup_printf ("%d,%d", x, y); gm_conf_set_string (conf_key_position, position); g_free (position); if (gtk_window_get_resizable (GTK_WINDOW (w))) { gtk_window_get_size (GTK_WINDOW (w), &x, &y); size = g_strdup_printf ("%d,%d", x, y); gm_conf_set_string (conf_key_size, size); g_free (size); } gnomemeeting_threads_dialog_hide (w); } g_free (conf_key_position); g_free (conf_key_size); }
/* DESCRIPTION : This function is called when a string option menu changes. * BEHAVIOR : Updates the key given as parameter to the new value of the * string option menu. * PRE : Non-Null data corresponding to the string config key to * modify. */ void string_option_menu_changed (GtkWidget *option_menu, gpointer data) { GtkTreeModel *model = NULL; GtkTreeIter iter; gchar *text = NULL; gchar *current_value = NULL; gchar *key = NULL; key = (gchar *) data; model = gtk_combo_box_get_model (GTK_COMBO_BOX (option_menu)); if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (option_menu), &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, 0, &text, -1); current_value = gm_conf_get_string (key); if (text && current_value && g_strcmp0 (text, current_value)) gm_conf_set_string (key, text); g_free (text); } }
void LM::Bank::save () const { xmlChar* buffer = NULL; int size = 0; xmlDocDumpMemory (doc, &buffer, &size); gm_conf_set_string (JABBER_KEY, (const char *)buffer); xmlFree (buffer); }
void OPENLDAP::Source::save () { xmlChar *buffer = NULL; int size = 0; xmlDocDumpMemory (doc, &buffer, &size); gm_conf_set_string (KEY, (const char *)buffer); xmlFree (buffer); }
void Local::Heap::save () const { xmlChar *buffer = NULL; int size = 0; xmlDocDumpMemory (doc.get (), &buffer, &size); gm_conf_set_string (KEY, (const char *)buffer); xmlFree (buffer); }
static void gm_window_hide (GtkWidget *w, G_GNUC_UNUSED gpointer data) { GmWindow *self = NULL; gchar *conf_key_size = NULL; gchar *conf_key_position = NULL; gchar *size = NULL; gchar *position = NULL; g_return_if_fail (w != NULL); self = GM_WINDOW (w); g_return_if_fail (strcmp (self->priv->key, "")); conf_key_position = g_strdup_printf ("%s/position", self->priv->key); conf_key_size = g_strdup_printf ("%s/size", self->priv->key); position = g_strdup_printf ("%d,%d", self->priv->x, self->priv->y); gm_conf_set_string (conf_key_position, position); g_free (position); if (gtk_window_get_resizable (GTK_WINDOW (w))) { size = g_strdup_printf ("%d,%d", self->priv->width, self->priv->height); gm_conf_set_string (conf_key_size, size); g_free (size); } g_free (conf_key_position); g_free (conf_key_size); }
static void audioev_filename_browse_cb (GtkWidget *b, gpointer data) { GmPreferencesWindow *pw = NULL; GtkTreeModel *model = NULL; GtkTreeSelection *selection = NULL; GtkTreeIter iter; gchar *filename = NULL; gchar *conf_key = NULL; gchar *sound_event = NULL; g_return_if_fail (data != NULL); pw = gm_pw_get_pw (GTK_WIDGET (data)); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (pw->sound_events_list)); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { gtk_tree_model_get (GTK_TREE_MODEL (model), &iter, 2, &conf_key, -1); if (conf_key) { filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (b)); if (filename) { sound_event = gm_conf_get_string (conf_key); if (!sound_event || g_strcmp0 (filename, sound_event)) gm_conf_set_string (conf_key, (gchar *) filename); g_free (filename); } g_free (conf_key); g_free (sound_event); } } }
/* DESCRIPTION : This function is called when the focus of an entry changes. * BEHAVIOR : Updates the key given as parameter to the new value of the * entry. * PRE : Non-Null data corresponding to the string config key * to modify. */ gboolean entry_focus_changed (GtkWidget *w, G_GNUC_UNUSED GdkEventFocus *ev, gpointer data) { gchar *key = NULL; gchar *current_value = NULL; key = (gchar *) data; current_value = gm_conf_get_string (key); if (!current_value || g_strcmp0 (current_value, gtk_entry_get_text (GTK_ENTRY (w)))) { gm_conf_set_string (key, (gchar *)gtk_entry_get_text (GTK_ENTRY (w))); } g_free (current_value); return FALSE; }
/* The functions */ void gnomemeeting_conf_upgrade () { gchar *conf_url = NULL; int version = 0; version = gm_conf_get_int (GENERAL_KEY "version"); /* Install the sip:, h323: and callto: GNOME URL Handlers */ conf_url = gm_conf_get_string ("/desktop/gnome/url-handlers/callto/command"); if (!conf_url || !strcmp (conf_url, "gnomemeeting -c \"%s\"")) { gm_conf_set_string ("/desktop/gnome/url-handlers/callto/command", "ekiga -c \"%s\""); gm_conf_set_bool ("/desktop/gnome/url-handlers/callto/needs_terminal", false); gm_conf_set_bool ("/desktop/gnome/url-handlers/callto/enabled", true); } g_free (conf_url); conf_url = gm_conf_get_string ("/desktop/gnome/url-handlers/h323/command"); if (!conf_url || !strcmp (conf_url, "gnomemeeting -c \"%s\"")) { gm_conf_set_string ("/desktop/gnome/url-handlers/h323/command", "ekiga -c \"%s\""); gm_conf_set_bool ("/desktop/gnome/url-handlers/h323/needs_terminal", false); gm_conf_set_bool ("/desktop/gnome/url-handlers/h323/enabled", true); } g_free (conf_url); conf_url = gm_conf_get_string ("/desktop/gnome/url-handlers/sip/command"); if (!conf_url || !strcmp (conf_url, "gnomemeeting -c \"%s\"")) { gm_conf_set_string ("/desktop/gnome/url-handlers/sip/command", "ekiga -c \"%s\""); gm_conf_set_bool ("/desktop/gnome/url-handlers/sip/needs_terminal", false); gm_conf_set_bool ("/desktop/gnome/url-handlers/sip/enabled", true); } g_free (conf_url); /* New full name key */ conf_url = gm_conf_get_string (PERSONAL_DATA_KEY "full_name"); if (!conf_url || (conf_url && !strcmp (conf_url, ""))) { gchar *fullname = NULL; gchar *firstname = gm_conf_get_string (PERSONAL_DATA_KEY "firstname"); gchar *lastname = gm_conf_get_string (PERSONAL_DATA_KEY "lastname"); if (firstname && lastname && strcmp (firstname, "") && strcmp (lastname, "")) { fullname = g_strdup_printf ("%s %s", firstname, lastname); gm_conf_set_string (PERSONAL_DATA_KEY "firstname", ""); gm_conf_set_string (PERSONAL_DATA_KEY "lastname", ""); gm_conf_set_string (PERSONAL_DATA_KEY "full_name", fullname); g_free (fullname); } g_free (firstname); g_free (lastname); } g_free (conf_url); /* diamondcard is now set at sip.diamondcard.us */ GSList *accounts = gm_conf_get_string_list ("/apps/" PACKAGE_NAME "/protocols/accounts_list"); GSList *accounts_iter = accounts; while (accounts_iter) { PString acct = (gchar *) accounts_iter->data; acct.Replace ("eugw.ast.diamondcard.us", "sip.diamondcard.us", TRUE); g_free (accounts_iter->data); accounts_iter->data = g_strdup ((const char *) acct); accounts_iter = g_slist_next (accounts_iter); } gm_conf_set_string_list ("/apps/" PACKAGE_NAME "/protocols/accounts_list", accounts); g_slist_foreach (accounts, (GFunc) g_free, NULL); g_slist_free (accounts); /* Audio devices */ gchar *plugin = NULL; gchar *device = NULL; gchar *new_device = NULL; plugin = gm_conf_get_string (AUDIO_DEVICES_KEY "plugin"); if (plugin && strcmp (plugin, "")) { device = gm_conf_get_string (AUDIO_DEVICES_KEY "input_device"); new_device = g_strdup_printf ("%s (PTLIB/%s)", device, plugin); gm_conf_set_string (AUDIO_DEVICES_KEY "plugin", ""); gm_conf_set_string (AUDIO_DEVICES_KEY "input_device", new_device); g_free (device); g_free (new_device); device = gm_conf_get_string (AUDIO_DEVICES_KEY "output_device"); new_device = g_strdup_printf ("%s (PTLIB/%s)", device, plugin); gm_conf_set_string (AUDIO_DEVICES_KEY "plugin", ""); gm_conf_set_string (AUDIO_DEVICES_KEY "output_device", new_device); g_free (device); g_free (new_device); device = gm_conf_get_string (SOUND_EVENTS_KEY "output_device"); new_device = g_strdup_printf ("%s (PTLIB/%s)", device, plugin); gm_conf_set_string (SOUND_EVENTS_KEY "plugin", ""); gm_conf_set_string (SOUND_EVENTS_KEY "output_device", new_device); g_free (device); g_free (new_device); } g_free (plugin); /* Video devices */ plugin = gm_conf_get_string (VIDEO_DEVICES_KEY "plugin"); if (plugin && strcmp (plugin, "")) { device = gm_conf_get_string (VIDEO_DEVICES_KEY "input_device"); new_device = g_strdup_printf ("%s (PTLIB/%s)", device, plugin); gm_conf_set_string (VIDEO_DEVICES_KEY "plugin", ""); gm_conf_set_string (VIDEO_DEVICES_KEY "input_device", new_device); g_free (device); g_free (new_device); } g_free (plugin); }