selected_files.dart 523 B

123456789101112131415161718192021222324
  1. import 'package:flutter/foundation.dart';
  2. import 'package:photos/models/file.dart';
  3. class SelectedFiles extends ChangeNotifier {
  4. final files = Set<File>();
  5. final lastSelections = Set<File>();
  6. void toggleSelection(File file) {
  7. if (files.contains(file)) {
  8. files.remove(file);
  9. } else {
  10. files.add(file);
  11. }
  12. lastSelections.clear();
  13. lastSelections.add(file);
  14. notifyListeners();
  15. }
  16. void clearAll() {
  17. lastSelections.addAll(files);
  18. files.clear();
  19. notifyListeners();
  20. }
  21. }