Mercurial > pidgin
comparison src/gtkaccount.c @ 10640:43ab987a0222
[gaim-migrate @ 12145]
sf patch #1151314, from Ephraim
Double click to modify account in Accounts window
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sat, 26 Feb 2005 18:59:43 +0000 |
parents | 56d4460bb6bd |
children | 5564a3066387 |
comparison
equal
deleted
inserted
replaced
10639:84fb7beabb5c | 10640:43ab987a0222 |
---|---|
2166 | 2166 |
2167 gtk_widget_set_sensitive(dialog->modify_button, selected); | 2167 gtk_widget_set_sensitive(dialog->modify_button, selected); |
2168 gtk_widget_set_sensitive(dialog->delete_button, selected); | 2168 gtk_widget_set_sensitive(dialog->delete_button, selected); |
2169 } | 2169 } |
2170 | 2170 |
2171 static gboolean | |
2172 account_treeview_double_click_cb(GtkTreeView *treeview, GdkEventButton *event, gpointer user_data) | |
2173 { | |
2174 AccountsWindow *dialog; | |
2175 GtkTreePath *path; | |
2176 GtkTreeIter iter; | |
2177 GaimAccount *account; | |
2178 | |
2179 dialog = (AccountsWindow *)user_data; | |
2180 | |
2181 /* Figure out which node was clicked */ | |
2182 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(dialog->treeview), event->x, event->y, &path, NULL, NULL, NULL)) | |
2183 return FALSE; | |
2184 gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path); | |
2185 gtk_tree_model_get(GTK_TREE_MODEL(dialog->model), &iter, COLUMN_DATA, &account, -1); | |
2186 | |
2187 if ((account != NULL) && (event->button == 1) && | |
2188 (event->type == GDK_2BUTTON_PRESS)) | |
2189 { | |
2190 gaim_gtk_account_dialog_show(GAIM_GTK_MODIFY_ACCOUNT_DIALOG, account); | |
2191 return TRUE; | |
2192 } | |
2193 | |
2194 return FALSE; | |
2195 } | |
2196 | |
2171 static GtkWidget * | 2197 static GtkWidget * |
2172 create_accounts_list(AccountsWindow *dialog) | 2198 create_accounts_list(AccountsWindow *dialog) |
2173 { | 2199 { |
2174 GtkWidget *sw; | 2200 GtkWidget *sw; |
2175 GtkWidget *treeview; | 2201 GtkWidget *treeview; |
2198 | 2224 |
2199 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); | 2225 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); |
2200 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); | 2226 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); |
2201 g_signal_connect(G_OBJECT(sel), "changed", | 2227 g_signal_connect(G_OBJECT(sel), "changed", |
2202 G_CALLBACK(account_selected_cb), dialog); | 2228 G_CALLBACK(account_selected_cb), dialog); |
2229 | |
2230 /* Handle double-clicking */ | |
2231 g_signal_connect(G_OBJECT(treeview), "button_press_event", | |
2232 G_CALLBACK(account_treeview_double_click_cb), dialog); | |
2203 | 2233 |
2204 gtk_container_add(GTK_CONTAINER(sw), treeview); | 2234 gtk_container_add(GTK_CONTAINER(sw), treeview); |
2205 gtk_widget_show(treeview); | 2235 gtk_widget_show(treeview); |
2206 | 2236 |
2207 add_columns(treeview, dialog); | 2237 add_columns(treeview, dialog); |