comparison src/dupe.c @ 448:a73cc0fa14d0

Use explicit names for mouse buttons instead of numbers. MOUSE_BUTTON_LEFT = 1 MOUSE_BUTTON_MIDDLE = 2 MOUSE_BUTTON_RIGHT = 3 It makes the code easier to read.
author zas_
date Sun, 20 Apr 2008 21:30:36 +0000
parents ddabc4873a3f
children 48c8e49b571c
comparison
equal deleted inserted replaced
447:d87de3a3eb3b 448:a73cc0fa14d0
2287 gtk_tree_path_free(tpath); 2287 gtk_tree_path_free(tpath);
2288 } 2288 }
2289 2289
2290 dw->click_item = di; 2290 dw->click_item = di;
2291 2291
2292 if (bevent->button == 3) 2292 if (bevent->button == MOUSE_BUTTON_RIGHT)
2293 { 2293 {
2294 /* right click menu */ 2294 /* right click menu */
2295 GtkWidget *menu; 2295 GtkWidget *menu;
2296 2296
2297 if (bevent->state & GDK_CONTROL_MASK && bevent->state & GDK_SHIFT_MASK) 2297 if (bevent->state & GDK_CONTROL_MASK && bevent->state & GDK_SHIFT_MASK)
2310 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, bevent->button, bevent->time); 2310 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, bevent->button, bevent->time);
2311 } 2311 }
2312 2312
2313 if (!di) return FALSE; 2313 if (!di) return FALSE;
2314 2314
2315 if (bevent->button == 1 && bevent->type == GDK_2BUTTON_PRESS) 2315 if (bevent->button == MOUSE_BUTTON_LEFT &&
2316 bevent->type == GDK_2BUTTON_PRESS)
2316 { 2317 {
2317 dupe_menu_view(dw, di, widget, FALSE); 2318 dupe_menu_view(dw, di, widget, FALSE);
2318 } 2319 }
2319 2320
2320 if (bevent->button == 2) return TRUE; 2321 if (bevent->button == MOUSE_BUTTON_MIDDLE) return TRUE;
2321 2322
2322 if (bevent->button == 3) 2323 if (bevent->button == MOUSE_BUTTON_RIGHT)
2323 { 2324 {
2324 if (!dupe_listview_item_is_selected(dw, di, widget)) 2325 if (!dupe_listview_item_is_selected(dw, di, widget))
2325 { 2326 {
2326 GtkTreeSelection *selection; 2327 GtkTreeSelection *selection;
2327 2328
2335 } 2336 }
2336 2337
2337 return TRUE; 2338 return TRUE;
2338 } 2339 }
2339 2340
2340 if (bevent->button == 1 && bevent->type == GDK_BUTTON_PRESS && 2341 if (bevent->button == MOUSE_BUTTON_LEFT &&
2342 bevent->type == GDK_BUTTON_PRESS &&
2341 !(bevent->state & GDK_SHIFT_MASK ) && 2343 !(bevent->state & GDK_SHIFT_MASK ) &&
2342 !(bevent->state & GDK_CONTROL_MASK ) && 2344 !(bevent->state & GDK_CONTROL_MASK ) &&
2343 dupe_listview_item_is_selected(dw, di, widget)) 2345 dupe_listview_item_is_selected(dw, di, widget))
2344 { 2346 {
2345 /* this selection handled on release_cb */ 2347 /* this selection handled on release_cb */
2356 GtkTreeModel *store; 2358 GtkTreeModel *store;
2357 GtkTreePath *tpath; 2359 GtkTreePath *tpath;
2358 GtkTreeIter iter; 2360 GtkTreeIter iter;
2359 DupeItem *di = NULL; 2361 DupeItem *di = NULL;
2360 2362
2361 if (bevent->button != 1 && bevent->button != 2) return TRUE; 2363 if (bevent->button != MOUSE_BUTTON_LEFT && bevent->button != MOUSE_BUTTON_MIDDLE) return TRUE;
2362 2364
2363 store = gtk_tree_view_get_model(GTK_TREE_VIEW(widget)); 2365 store = gtk_tree_view_get_model(GTK_TREE_VIEW(widget));
2364 2366
2365 if ((bevent->x != 0 || bevent->y != 0) && 2367 if ((bevent->x != 0 || bevent->y != 0) &&
2366 gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget), bevent->x, bevent->y, 2368 gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(widget), bevent->x, bevent->y,
2369 gtk_tree_model_get_iter(store, &iter, tpath); 2371 gtk_tree_model_get_iter(store, &iter, tpath);
2370 gtk_tree_model_get(store, &iter, DUPE_COLUMN_POINTER, &di, -1); 2372 gtk_tree_model_get(store, &iter, DUPE_COLUMN_POINTER, &di, -1);
2371 gtk_tree_path_free(tpath); 2373 gtk_tree_path_free(tpath);
2372 } 2374 }
2373 2375
2374 if (bevent->button == 2) 2376 if (bevent->button == MOUSE_BUTTON_MIDDLE)
2375 { 2377 {
2376 if (di && dw->click_item == di) 2378 if (di && dw->click_item == di)
2377 { 2379 {
2378 GtkTreeSelection *selection; 2380 GtkTreeSelection *selection;
2379 2381