aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk
diff options
context:
space:
mode:
authorGuillaume Desmottes <gdesmott@gnome.org>2008-02-10 07:48:33 +0800
committerGuillaume Desmottes <gdesmott@gnome.org>2008-02-10 07:48:33 +0800
commitca19b69f233b20dcb4b25d47250a4ef1e36f4c9c (patch)
treeb79e5cb496256e4fb52b82c1f71ace04eab62edd /libempathy-gtk
parentc2d4445ffb22a34cf7a3f3f6b9cb748f2483d269 (diff)
downloadgsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar.gz
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar.bz2
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar.lz
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar.xz
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.tar.zst
gsoc2013-empathy-ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c.zip
change the network when irc_network_dialog_show is called on an existing dialog
Diffstat (limited to 'libempathy-gtk')
-rw-r--r--libempathy-gtk/empathy-irc-network-dialog.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/libempathy-gtk/empathy-irc-network-dialog.c b/libempathy-gtk/empathy-irc-network-dialog.c
index a909210b7..3d3276fc9 100644
--- a/libempathy-gtk/empathy-irc-network-dialog.c
+++ b/libempathy-gtk/empathy-irc-network-dialog.c
@@ -400,6 +400,31 @@ irc_network_dialog_selection_changed_cb (GtkTreeSelection *treeselection,
irc_network_dialog_network_update_buttons (dialog);
}
+static void
+change_network (EmpathyIrcNetworkDialog *dialog,
+ EmpathyIrcNetwork *network)
+{
+ GtkListStore *store;
+
+ if (dialog->network == network)
+ /* No need to change */
+ return;
+
+ if (dialog->network != NULL)
+ {
+ g_object_unref (dialog->network);
+ }
+
+ dialog->network = network;
+ g_object_ref (network);
+
+ store = GTK_LIST_STORE (gtk_tree_view_get_model (
+ GTK_TREE_VIEW (dialog->treeview_servers)));
+ gtk_list_store_clear (store);
+
+ irc_network_dialog_setup (dialog);
+}
+
GtkWidget *
irc_network_dialog_show (EmpathyIrcNetwork *network,
GtkWidget *parent)
@@ -416,8 +441,8 @@ irc_network_dialog_show (EmpathyIrcNetwork *network,
if (dialog != NULL)
{
+ change_network (dialog, network);
gtk_window_present (GTK_WINDOW (dialog->dialog));
- /* TODO: set the right network */
return dialog->dialog;
}