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);