ente/lib/ui/remote_folder_page.dart

49 lines
1.4 KiB
Dart
Raw Normal View History

2020-05-25 14:54:54 +00:00
import 'package:flutter/material.dart';
import 'package:photos/db/photo_db.dart';
import 'package:photos/folder_service.dart';
2020-05-25 14:54:54 +00:00
import 'package:photos/models/folder.dart';
2020-06-19 23:03:26 +00:00
import 'package:photos/models/file.dart';
2020-05-25 14:54:54 +00:00
import 'package:photos/ui/gallery.dart';
import 'package:photos/ui/gallery_app_bar_widget.dart';
class RemoteFolderPage extends StatefulWidget {
final Folder folder;
const RemoteFolderPage(this.folder, {Key key}) : super(key: key);
@override
_RemoteFolderPageState createState() => _RemoteFolderPageState();
}
class _RemoteFolderPageState extends State<RemoteFolderPage> {
2020-06-19 23:03:26 +00:00
Set<File> _selectedPhotos = Set<File>();
2020-05-25 14:54:54 +00:00
@override
Widget build(Object context) {
return Scaffold(
appBar: GalleryAppBarWidget(
GalleryAppBarType.remote_folder,
2020-05-25 14:54:54 +00:00
widget.folder.name,
widget.folder.deviceFolder,
2020-05-25 14:54:54 +00:00
_selectedPhotos,
onSelectionClear: () {
setState(() {
_selectedPhotos.clear();
});
},
),
2020-06-19 23:03:26 +00:00
body: Gallery(() => FileDB.instance.getAllInFolder(widget.folder.id),
2020-06-16 12:56:23 +00:00
onRefresh: () =>
FolderSharingService.instance.syncDiff(widget.folder),
2020-06-19 23:03:26 +00:00
selectedFiles: _selectedPhotos,
onFileSelectionChange: (Set<File> selectedPhotos) {
setState(
() {
2020-05-25 14:54:54 +00:00
_selectedPhotos = selectedPhotos;
},
);
}),
2020-05-25 14:54:54 +00:00
);
}
}