Mercurial > geeqie
comparison src/view_file_list.c @ 800:a25b228978a0
various notification improvements
author | nadvornik |
---|---|
date | Sat, 07 Jun 2008 15:08:33 +0000 |
parents | 99ea3d973ad3 |
children | 9b676bb76a2e |
comparison
equal
deleted
inserted
replaced
799:278962ba162a | 800:a25b228978a0 |
---|---|
724 FILE_COLUMN_SIDECARS, sidecars, | 724 FILE_COLUMN_SIDECARS, sidecars, |
725 FILE_COLUMN_SIZE, size, | 725 FILE_COLUMN_SIZE, size, |
726 FILE_COLUMN_DATE, text_from_time(fd->date), | 726 FILE_COLUMN_DATE, text_from_time(fd->date), |
727 FILE_COLUMN_COLOR, FALSE, -1); | 727 FILE_COLUMN_COLOR, FALSE, -1); |
728 for (i = 0; i < FILEDATA_MARKS_SIZE; i++) | 728 for (i = 0; i < FILEDATA_MARKS_SIZE; i++) |
729 gtk_tree_store_set(store, iter, FILE_COLUMN_MARKS + i, fd->marks[i], -1); | 729 gtk_tree_store_set(store, iter, FILE_COLUMN_MARKS + i, file_data_get_mark(fd, i), -1); |
730 | 730 |
731 g_free(size); | 731 g_free(size); |
732 if (sidecars) | 732 if (sidecars) |
733 g_free(sidecars); | 733 g_free(sidecars); |
734 } | 734 } |
1403 { | 1403 { |
1404 FileData *fd; | 1404 FileData *fd; |
1405 gboolean mark_val, selected; | 1405 gboolean mark_val, selected; |
1406 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &fd, -1); | 1406 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &fd, -1); |
1407 | 1407 |
1408 mark_val = fd->marks[n]; | 1408 mark_val = file_data_get_mark(fd, n); |
1409 selected = gtk_tree_selection_iter_is_selected(selection, &iter); | 1409 selected = gtk_tree_selection_iter_is_selected(selection, &iter); |
1410 | 1410 |
1411 switch (mode) | 1411 switch (mode) |
1412 { | 1412 { |
1413 case MTS_MODE_SET: selected = mark_val; | 1413 case MTS_MODE_SET: selected = mark_val; |
1449 GtkTreeIter iter; | 1449 GtkTreeIter iter; |
1450 | 1450 |
1451 gtk_tree_model_get_iter(store, &iter, tpath); | 1451 gtk_tree_model_get_iter(store, &iter, tpath); |
1452 gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &fd, -1); | 1452 gtk_tree_model_get(store, &iter, FILE_COLUMN_POINTER, &fd, -1); |
1453 | 1453 |
1454 file_data_unregister_notify_func(vflist_notify_cb, vf); /* we don't need the notification */ | |
1455 | |
1454 switch (mode) | 1456 switch (mode) |
1455 { | 1457 { |
1456 case STM_MODE_SET: fd->marks[n] = 1; | 1458 case STM_MODE_SET: file_data_set_mark(fd, n, 1); |
1457 break; | 1459 break; |
1458 case STM_MODE_RESET: fd->marks[n] = 0; | 1460 case STM_MODE_RESET: file_data_set_mark(fd, n, 0); |
1459 break; | 1461 break; |
1460 case STM_MODE_TOGGLE: fd->marks[n] = !fd->marks[n]; | 1462 case STM_MODE_TOGGLE: file_data_set_mark(fd, n, !file_data_get_mark(fd, n)); |
1461 break; | 1463 break; |
1462 } | 1464 } |
1463 | 1465 |
1464 file_data_unregister_notify_func(vflist_notify_cb, vf); /* we don't need the notification */ | |
1465 file_data_increment_version(fd); | |
1466 file_data_register_notify_func(vflist_notify_cb, vf, NOTIFY_PRIORITY_MEDIUM); | 1466 file_data_register_notify_func(vflist_notify_cb, vf, NOTIFY_PRIORITY_MEDIUM); |
1467 | 1467 |
1468 gtk_tree_store_set(GTK_TREE_STORE(store), &iter, FILE_COLUMN_MARKS + n, fd->marks[n], -1); | 1468 gtk_tree_store_set(GTK_TREE_STORE(store), &iter, FILE_COLUMN_MARKS + n, file_data_get_mark(fd, n), -1); |
1469 | 1469 |
1470 work = work->next; | 1470 work = work->next; |
1471 } | 1471 } |
1472 g_list_foreach(slist, (GFunc)gtk_tree_path_free, NULL); | 1472 g_list_foreach(slist, (GFunc)gtk_tree_path_free, NULL); |
1473 g_list_free(slist); | 1473 g_list_free(slist); |
1706 | 1706 |
1707 g_assert(col_idx >= FILE_COLUMN_MARKS && col_idx <= FILE_COLUMN_MARKS_LAST); | 1707 g_assert(col_idx >= FILE_COLUMN_MARKS && col_idx <= FILE_COLUMN_MARKS_LAST); |
1708 | 1708 |
1709 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &fd, col_idx, &mark, -1); | 1709 gtk_tree_model_get(GTK_TREE_MODEL(store), &iter, FILE_COLUMN_POINTER, &fd, col_idx, &mark, -1); |
1710 mark = !mark; | 1710 mark = !mark; |
1711 fd->marks[col_idx - FILE_COLUMN_MARKS] = mark; | |
1712 file_data_unregister_notify_func(vflist_notify_cb, vf); /* we don't need the notification */ | 1711 file_data_unregister_notify_func(vflist_notify_cb, vf); /* we don't need the notification */ |
1713 file_data_increment_version(fd); | 1712 file_data_set_mark(fd, col_idx - FILE_COLUMN_MARKS, mark); |
1714 file_data_register_notify_func(vflist_notify_cb, vf, NOTIFY_PRIORITY_MEDIUM); | 1713 file_data_register_notify_func(vflist_notify_cb, vf, NOTIFY_PRIORITY_MEDIUM); |
1715 | 1714 |
1716 gtk_tree_store_set(store, &iter, col_idx, mark, -1); | 1715 gtk_tree_store_set(store, &iter, col_idx, mark, -1); |
1717 gtk_tree_path_free(path); | 1716 gtk_tree_path_free(path); |
1718 } | 1717 } |