aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <gdesmott@gnome.org>2008-02-02 01:42:14 +0800
committerGuillaume Desmottes <gdesmott@gnome.org>2008-02-02 01:42:14 +0800
commitf2f38af103021672a85de1dfe825e15be1dbba74 (patch)
tree5181059ba409e63c6a5e37d33c9ab5c07f72961e /libempathy-gtk
parent577a13c2a4b723a6e90cb20785bfecfa456edf35 (diff)
downloadgsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar.gz
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar.bz2
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar.lz
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar.xz
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.tar.zst
gsoc2013-empathy-f2f38af103021672a85de1dfe825e15be1dbba74.zip
IRC widget: select the network
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-account-widget-irc.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-account-widget-irc.c b/libempathy-gtk/empathy-account-widget-irc.c
index 3bd0da257..fb7fff04a 100644
--- a/libempathy-gtk/empathy-account-widget-irc.c
+++ b/libempathy-gtk/empathy-account-widget-irc.c
@@ -259,10 +259,38 @@ account_widget_irc_setup (EmpathyAccountWidgetIrc *settings)
{
/* TODO select network */
gchar *name;
+ GtkTreeIter iter;
+ gboolean valid;
+ GtkTreeModel *model;
+ gboolean found = FALSE;
g_object_get (network, "name", &name, NULL);
empathy_debug (DEBUG_DOMAIN, "Account use network %s", name);
+ /* FIXME: is it the right way to do that ? */
+ model = gtk_combo_box_get_model (
+ GTK_COMBO_BOX (settings->combobox_network));
+
+ valid = gtk_tree_model_get_iter_first (model, &iter);
+ while (valid && !found)
+ {
+ EmpathyIrcNetwork *_network;
+ gtk_tree_model_get (model, &iter, COL_NETWORK_OBJ, &_network, NULL);
+
+ if (network == _network)
+ {
+ gtk_combo_box_set_active_iter (
+ GTK_COMBO_BOX (settings->combobox_network), &iter);
+ found = TRUE;
+ }
+
+ valid = gtk_tree_model_iter_next (model, &iter);
+
+ if (_network != NULL)
+ g_object_unref (_network);
+ }
+ g_assert (found);
+
g_free (name);
}
else