aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <gdesmott@gnome.org>2008-02-08 10:03:52 +0800
committerGuillaume Desmottes <gdesmott@gnome.org>2008-02-08 10:03:52 +0800
commit9c6242485f86e5c31b7b088e1ea2544924b9d859 (patch)
treea80d65da5b6ca62c8c626c09387f131c50e9930a /libempathy-gtk
parent5e820310713ed82fc4ab5a282aa072e686379fce (diff)
downloadgsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar.gz
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar.bz2
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar.lz
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar.xz
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.tar.zst
gsoc2013-empathy-9c6242485f86e5c31b7b088e1ea2544924b9d859.zip
update server, port and ssl settings
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-account-widget-irc.c41
1 files changed, 40 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-account-widget-irc.c b/libempathy-gtk/empathy-account-widget-irc.c
index afb235d67..89fc9fead 100644
--- a/libempathy-gtk/empathy-account-widget-irc.c
+++ b/libempathy-gtk/empathy-account-widget-irc.c
@@ -131,6 +131,7 @@ irc_network_dialog_destroy_cb (GtkWidget *widget,
GtkTreeModel *model;
EmpathyIrcNetwork *network;
gchar *name;
+ GSList *servers;
/* name could be changed */
gtk_combo_box_get_active_iter (GTK_COMBO_BOX (settings->combobox_network),
@@ -142,7 +143,45 @@ irc_network_dialog_destroy_cb (GtkWidget *widget,
gtk_list_store_set (GTK_LIST_STORE (model), &iter,
COL_NETWORK_NAME, name, -1);
- /* TODO: update server, port, ssl etc */
+ /* TODO: update charset */
+ servers = empathy_irc_network_get_servers (network);
+ if (servers == NULL)
+ {
+ /* Unset all values */
+ empathy_debug (DEBUG_DOMAIN, "Unset server, port and ssl");
+ mc_account_unset_param (settings->account, "server");
+ mc_account_unset_param (settings->account, "port");
+ mc_account_unset_param (settings->account, "ssl");
+ }
+ else
+ {
+ EmpathyIrcServer *server;
+ gchar *address;
+ guint port;
+ gboolean ssl;
+
+ /* Take the first server on the list */
+ server = servers->data;
+
+ g_object_get (server,
+ "address", &address,
+ "port", &port,
+ "ssl", &ssl,
+ NULL);
+
+ empathy_debug (DEBUG_DOMAIN, "Setting server to %s", address);
+ mc_account_set_param_string (settings->account, "server", address);
+ empathy_debug (DEBUG_DOMAIN, "Setting port to %u", port);
+ mc_account_set_param_int (settings->account, "port", port);
+ empathy_debug (DEBUG_DOMAIN, "Setting ssl to %s", ssl ? "TRUE": "FALSE" );
+ mc_account_set_param_boolean (settings->account, "use-ssl", ssl);
+
+ g_free (address);
+ }
+
+
+ g_slist_foreach (servers, (GFunc) g_object_unref, NULL);
+ g_slist_free (servers);
g_object_unref (network);
g_free (name);
}