aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <gdesmott@gnome.org>2008-02-02 23:45:34 +0800
committerGuillaume Desmottes <gdesmott@gnome.org>2008-02-02 23:45:34 +0800
commitaa752688f3b72ad12d2701399fbd77ab0643aef0 (patch)
tree4da7e55723727d4ce03d0406ac366eef6115dd5d /libempathy-gtk
parentf2f38af103021672a85de1dfe825e15be1dbba74 (diff)
downloadgsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar.gz
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar.bz2
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar.lz
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar.xz
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.tar.zst
gsoc2013-empathy-aa752688f3b72ad12d2701399fbd77ab0643aef0.zip
set server param
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-account-widget-irc.c33
1 files changed, 28 insertions, 5 deletions
diff --git a/libempathy-gtk/empathy-account-widget-irc.c b/libempathy-gtk/empathy-account-widget-irc.c
index fb7fff04a..226137ab2 100644
--- a/libempathy-gtk/empathy-account-widget-irc.c
+++ b/libempathy-gtk/empathy-account-widget-irc.c
@@ -205,6 +205,24 @@ account_widget_irc_combobox_network_changed_cb (GtkWidget *combobox,
else
{
/* TODO: change account setting */
+ GSList *servers;
+
+ servers = empathy_irc_network_get_servers (network);
+ if (g_slist_length (servers) > 0)
+ {
+ /* set the first server as CM server */
+ EmpathyIrcServer *server = servers->data;
+ gchar *address;
+
+ g_object_get (server, "address", &address, NULL);
+ empathy_debug (DEBUG_DOMAIN, "Setting server to %s", address);
+ mc_account_set_param_string (settings->account, "server", address);
+
+ g_free (address);
+ }
+
+ g_slist_foreach (servers, (GFunc) g_object_unref, NULL);
+ g_slist_free (servers);
g_object_unref (network);
}
}
@@ -220,7 +238,7 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
gint port;
gchar *charset;
gboolean ssl;
- EmpathyIrcNetwork *network;
+ EmpathyIrcNetwork *network = NULL;
mc_account_get_param_string (settings->account, "account", &nick);
mc_account_get_param_string (settings->account, "fullname", &fullname);
@@ -234,7 +252,10 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
mc_account_get_param_boolean (settings->account, "use-ssl", &ssl);
if (!nick)
- nick = g_strdup (g_get_user_name ());
+ {
+ nick = g_strdup (g_get_user_name ());
+ mc_account_set_param_string (settings->account, "account", nick);
+ }
if (!fullname)
{
@@ -243,6 +264,7 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
{
fullname = g_strdup (nick);
}
+ mc_account_set_param_string (settings->account, "fullname", fullname);
}
gtk_entry_set_text (GTK_ENTRY (settings->entry_nick), nick ? nick : "");
@@ -253,11 +275,12 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
gtk_entry_set_text (GTK_ENTRY (settings->entry_quit_message),
quit_message ? quit_message : "");
- network = empathy_irc_network_manager_find_network_by_address (
- settings->network_manager, server);
+ if (server != NULL)
+ network = empathy_irc_network_manager_find_network_by_address (
+ settings->network_manager, server);
+
if (network != NULL)
{
- /* TODO select network */
gchar *name;
GtkTreeIter iter;
gboolean valid;