diff options
author | Guillaume Desmottes <gdesmott@gnome.org> | 2008-02-10 06:57:26 +0800 |
---|---|---|
committer | Guillaume Desmottes <gdesmott@gnome.org> | 2008-02-10 06:57:26 +0800 |
commit | 539ac8e035c8c7254f0d051432a3dc86b583ee62 (patch) | |
tree | 4c137875164ee0afa614e7fa80d07d99e2192f3d | |
parent | 3638553934f4bd3cafe80e67e2ea9a17bdba53c2 (diff) | |
download | gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar.gz gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar.bz2 gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar.lz gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar.xz gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.tar.zst gsoc2013-empathy-539ac8e035c8c7254f0d051432a3dc86b583ee62.zip |
set cursor to the address cell when adding a new server
-rw-r--r-- | libempathy-gtk/empathy-irc-network-dialog.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/libempathy-gtk/empathy-irc-network-dialog.c b/libempathy-gtk/empathy-irc-network-dialog.c index 9dafb6c43..95294d130 100644 --- a/libempathy-gtk/empathy-irc-network-dialog.c +++ b/libempathy-gtk/empathy-irc-network-dialog.c @@ -82,9 +82,9 @@ enum { static void add_server_to_store (GtkListStore *store, - EmpathyIrcServer *server) + EmpathyIrcServer *server, + GtkTreeIter *iter) { - GtkTreeIter iter; gchar *address; guint port; gboolean ssl; @@ -95,8 +95,8 @@ add_server_to_store (GtkListStore *store, "ssl", &ssl, NULL); - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, COL_SRV_OBJ, server, + gtk_list_store_append (store, iter); + gtk_list_store_set (store, iter, COL_SRV_OBJ, server, COL_ADR, address, COL_PORT, port, COL_SSL, ssl, -1); g_free (address); @@ -119,8 +119,9 @@ irc_network_dialog_setup (EmpathyIrcNetworkDialog *dialog) for (l = servers; l != NULL; l = g_slist_next (l)) { EmpathyIrcServer *server = l->data; + GtkTreeIter iter; - add_server_to_store (store, server); + add_server_to_store (store, server, &iter); } /* TODO charset */ @@ -235,16 +236,24 @@ irc_network_dialog_button_add_clicked_cb (GtkWidget *widget, { EmpathyIrcServer *server; GtkListStore *store; + GtkTreeIter iter; + GtkTreePath *path; + GtkTreeViewColumn *column; store = GTK_LIST_STORE (gtk_tree_view_get_model ( GTK_TREE_VIEW (dialog->treeview_servers))); server = empathy_irc_server_new (_("new server"), 6667, FALSE); empathy_irc_network_add_server (dialog->network, server); - add_server_to_store (store, server); + add_server_to_store (store, server, &iter); - /* TODO: Set the focus in the address cell of this new server */ + path = gtk_tree_model_get_path (GTK_TREE_MODEL (store), &iter); + column = gtk_tree_view_get_column (GTK_TREE_VIEW (dialog->treeview_servers), + 0); + gtk_tree_view_set_cursor (GTK_TREE_VIEW (dialog->treeview_servers), path, + column, TRUE); + gtk_tree_path_free (path); g_object_unref (server); } |