static void set_label_from_settings (EmpathyIrcNetworkChooser *self) { EmpathyIrcNetworkChooserPriv *priv = GET_PRIV (self); const gchar *server; tp_clear_object (&priv->network); server = empathy_account_settings_get_string (priv->settings, "server"); if (server != NULL) { EmpathyIrcServer *srv; gint port; gboolean ssl; priv->network = empathy_irc_network_manager_find_network_by_address ( priv->network_manager, server); if (priv->network != NULL) { /* The network is known */ g_object_ref (priv->network); set_label (self); return; } /* We don't have this network. Let's create it */ port = empathy_account_settings_get_uint32 (priv->settings, "port"); ssl = empathy_account_settings_get_boolean (priv->settings, "use-ssl"); DEBUG ("Create a network %s", server); priv->network = empathy_irc_network_new (server); srv = empathy_irc_server_new (server, port, ssl); empathy_irc_network_append_server (priv->network, srv); empathy_irc_network_manager_add (priv->network_manager, priv->network); set_label (self); g_object_unref (srv); return; } /* Set default network */ priv->network = empathy_irc_network_manager_find_network_by_address ( priv->network_manager, DEFAULT_IRC_NETWORK); g_assert (priv->network != NULL); set_label (self); update_server_params (self); g_object_ref (priv->network); }
static void account_widget_jabber_ssl_toggled_cb (GtkWidget *checkbutton_ssl, EmpathyAccountWidget *self) { EmpathyAccountWidgetPriv *priv = GET_PRIV (self); gboolean value; gint32 port = 0; value = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkbutton_ssl)); port = empathy_account_settings_get_uint32 (priv->settings, "port"); if (value) { if (port == 5222 || port == 0) port = 5223; } else { if (port == 5223 || port == 0) port = 5222; } gtk_spin_button_set_value (GTK_SPIN_BUTTON (priv->spinbutton_port), port); }
static void account_widget_irc_setup (EmpathyAccountWidgetIrc *settings) { const gchar *nick = NULL; const gchar *fullname = NULL; const gchar *server = NULL; gint port = 6667; const gchar *charset; gboolean ssl = FALSE; EmpathyIrcNetwork *network = NULL; EmpathyAccountSettings *ac_settings; g_object_get (settings->self, "settings", &ac_settings, NULL); nick = empathy_account_settings_get_string (ac_settings, "account"); fullname = empathy_account_settings_get_string (ac_settings, "fullname"); server = empathy_account_settings_get_string (ac_settings, "server"); charset = empathy_account_settings_get_string (ac_settings, "charset"); port = empathy_account_settings_get_uint32 (ac_settings, "port"); ssl = empathy_account_settings_get_boolean (ac_settings, "use-ssl"); if (!nick) { nick = g_strdup (g_get_user_name ()); empathy_account_settings_set_string (ac_settings, "account", nick); } if (!fullname) { fullname = g_strdup (g_get_real_name ()); if (!fullname) { fullname = g_strdup (nick); } empathy_account_settings_set_string (ac_settings, "fullname", fullname); } if (server != NULL) { GtkListStore *store; network = empathy_irc_network_manager_find_network_by_address ( settings->network_manager, server); store = GTK_LIST_STORE (gtk_combo_box_get_model ( GTK_COMBO_BOX (settings->combobox_network))); if (network != NULL) { gchar *name; g_object_set (network, "charset", charset, NULL); g_object_get (network, "name", &name, NULL); DEBUG ("Account use network %s", name); g_free (name); } else { /* We don't have this network. Let's create it */ EmpathyIrcServer *srv; GtkTreeIter iter; DEBUG ("Create a network %s", server); network = empathy_irc_network_new (server); srv = empathy_irc_server_new (server, port, ssl); empathy_irc_network_append_server (network, srv); empathy_irc_network_manager_add (settings->network_manager, network); gtk_list_store_insert_with_values (store, &iter, -1, COL_NETWORK_OBJ, network, COL_NETWORK_NAME, server, -1); gtk_combo_box_set_active_iter ( GTK_COMBO_BOX (settings->combobox_network), &iter); g_object_unref (srv); g_object_unref (network); } } fill_networks_model (settings, network); }
static void account_widget_setup_widget (EmpathyAccountWidget *self, GtkWidget *widget, const gchar *param_name) { EmpathyAccountWidgetPriv *priv = GET_PRIV (self); g_object_set_data_full (G_OBJECT (widget), "param_name", g_strdup (param_name), g_free); if (GTK_IS_SPIN_BUTTON (widget)) { gint value = 0; const gchar *signature; signature = empathy_account_settings_get_dbus_signature (priv->settings, param_name); g_return_if_fail (signature != NULL); switch ((int)*signature) { case DBUS_TYPE_INT16: case DBUS_TYPE_INT32: value = empathy_account_settings_get_int32 (priv->settings, param_name); break; case DBUS_TYPE_INT64: value = empathy_account_settings_get_int64 (priv->settings, param_name); break; case DBUS_TYPE_UINT16: case DBUS_TYPE_UINT32: value = empathy_account_settings_get_uint32 (priv->settings, param_name); break; case DBUS_TYPE_UINT64: value = empathy_account_settings_get_uint64 (priv->settings, param_name); break; default: g_return_if_reached (); } gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), value); g_signal_connect (widget, "value-changed", G_CALLBACK (account_widget_int_changed_cb), self); } else if (GTK_IS_ENTRY (widget)) { const gchar *str = NULL; str = empathy_account_settings_get_string (priv->settings, param_name); gtk_entry_set_text (GTK_ENTRY (widget), str ? str : ""); if (strstr (param_name, "password")) { gtk_entry_set_visibility (GTK_ENTRY (widget), FALSE); } g_signal_connect (widget, "changed", G_CALLBACK (account_widget_entry_changed_cb), self); } else if (GTK_IS_TOGGLE_BUTTON (widget)) { gboolean value = FALSE; value = empathy_account_settings_get_boolean (priv->settings, param_name); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), value); g_signal_connect (widget, "toggled", G_CALLBACK (account_widget_checkbutton_toggled_cb), self); } else { DEBUG ("Unknown type of widget for param %s", param_name); } }