diff options
author | Guillaume Desmottes <gdesmott@gnome.org> | 2008-02-10 07:48:33 +0800 |
---|---|---|
committer | Guillaume Desmottes <gdesmott@gnome.org> | 2008-02-10 07:48:33 +0800 |
commit | ca19b69f233b20dcb4b25d47250a4ef1e36f4c9c (patch) | |
tree | b79e5cb496256e4fb52b82c1f71ace04eab62edd /libempathy-gtk | |
parent | c2d4445ffb22a34cf7a3f3f6b9cb748f2483d269 (diff) | |
download | gsoc2013-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.c | 27 |
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; } |