diff options
Diffstat (limited to 'libempathy-gtk/empathy-account-widget-irc.c')
-rw-r--r-- | libempathy-gtk/empathy-account-widget-irc.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-account-widget-irc.c b/libempathy-gtk/empathy-account-widget-irc.c index d07faeb5b..7294a43ce 100644 --- a/libempathy-gtk/empathy-account-widget-irc.c +++ b/libempathy-gtk/empathy-account-widget-irc.c @@ -140,6 +140,7 @@ update_server_params (EmpathyAccountWidgetIrc *settings) GtkTreeModel *model; EmpathyIrcNetwork *network; GSList *servers; + gchar *charset; if (!gtk_combo_box_get_active_iter ( GTK_COMBO_BOX (settings->combobox_network), &iter)) @@ -153,6 +154,11 @@ update_server_params (EmpathyAccountWidgetIrc *settings) g_assert (network != NULL); + g_object_get (network, "charset", &charset, NULL); + empathy_debug (DEBUG_DOMAIN, "Setting charset to %s", charset); + mc_account_set_param_string (settings->account, "charset", charset); + g_free (charset); + servers = empathy_irc_network_get_servers (network); if (g_slist_length (servers) > 0) { @@ -175,7 +181,6 @@ update_server_params (EmpathyAccountWidgetIrc *settings) empathy_debug (DEBUG_DOMAIN, "Setting use-ssl to %s", ssl ? "TRUE": "FALSE" ); mc_account_set_param_boolean (settings->account, "use-ssl", ssl); - /* TODO: charset */ g_free (address); } @@ -361,6 +366,8 @@ fill_networks_model (EmpathyAccountWidgetIrc *settings, { gtk_combo_box_set_active_iter ( GTK_COMBO_BOX (settings->combobox_network), &iter); + + update_server_params (settings); } } @@ -422,6 +429,8 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings) network = empathy_irc_network_manager_find_network_by_address ( settings->network_manager, server); + g_object_set (network, "charset", charset, NULL); + store = GTK_LIST_STORE (gtk_combo_box_get_model ( GTK_COMBO_BOX (settings->combobox_network))); @@ -458,6 +467,7 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings) } } + fill_networks_model (settings, network); g_free (nick); |