src/gtkpounce.c

changeset 12137
6a9dafcaaed1
parent 12136
027b7ebee256
child 12141
9cd436b9b7f6
equal deleted inserted replaced
12136:027b7ebee256 12137:6a9dafcaaed1
1032 1032
1033 gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0)); 1033 gtk_widget_set_sensitive(dialog->modify_button, (num_selected > 0));
1034 gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0)); 1034 gtk_widget_set_sensitive(dialog->delete_button, (num_selected > 0));
1035 } 1035 }
1036 1036
1037 static gboolean
1038 pounce_double_click_cb(GtkTreeView *treeview, GdkEventButton *event, gpointer user_data)
1039 {
1040 PouncesManager *dialog = user_data;
1041 GtkTreePath *path;
1042 GtkTreeIter iter;
1043 GaimPounce *pounce;
1044
1045 /* Figure out which node was clicked */
1046 if (!gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(dialog->treeview), event->x, event->y, &path, NULL, NULL, NULL))
1047 return FALSE;
1048 gtk_tree_model_get_iter(GTK_TREE_MODEL(dialog->model), &iter, path);
1049 gtk_tree_path_free(path);
1050 gtk_tree_model_get(GTK_TREE_MODEL(dialog->model), &iter, POUNCES_MANAGER_COLUMN_POUNCE, &pounce, -1);
1051
1052 if ((pounce != NULL) && (event->button == 1) &&
1053 (event->type == GDK_2BUTTON_PRESS))
1054 {
1055 gaim_gtk_pounce_editor_show(NULL, NULL, pounce);
1056 return TRUE;
1057 }
1058
1059 return FALSE;
1060 }
1061
1037 static void 1062 static void
1038 pounces_manager_persists_cb(GtkCellRendererToggle *renderer, gchar *path_str, 1063 pounces_manager_persists_cb(GtkCellRendererToggle *renderer, gchar *path_str,
1039 gpointer user_data) 1064 gpointer user_data)
1040 { 1065 {
1041 PouncesManager *dialog = user_data; 1066 PouncesManager *dialog = user_data;
1104 1129
1105 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview)); 1130 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
1106 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE); 1131 gtk_tree_selection_set_mode(sel, GTK_SELECTION_MULTIPLE);
1107 g_signal_connect(G_OBJECT(sel), "changed", 1132 g_signal_connect(G_OBJECT(sel), "changed",
1108 G_CALLBACK(pounce_selected_cb), dialog); 1133 G_CALLBACK(pounce_selected_cb), dialog);
1134
1135 /* Handle double-clicking */
1136 g_signal_connect(G_OBJECT(treeview), "button_press_event",
1137 G_CALLBACK(pounce_double_click_cb), dialog);
1138
1109 1139
1110 gtk_container_add(GTK_CONTAINER(sw), treeview); 1140 gtk_container_add(GTK_CONTAINER(sw), treeview);
1111 gtk_widget_show(treeview); 1141 gtk_widget_show(treeview);
1112 1142
1113 /* Pouncee Column */ 1143 /* Pouncee Column */

mercurial