Improve the way deleting is handled
This commit is contained in:
parent
638c47fd36
commit
e6ffeea929
2 changed files with 24 additions and 13 deletions
|
@ -167,6 +167,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
}
|
||||
|
||||
_deleteSelected(BuildContext context, bool deleteEverywhere) async {
|
||||
Navigator.of(context, rootNavigator: true).pop();
|
||||
final dialog = createProgressDialog(context, "Deleting...");
|
||||
await dialog.show();
|
||||
await PhotoManager.editor.deleteWithIds(
|
||||
|
@ -177,8 +178,7 @@ class _GalleryAppBarWidgetState extends State<GalleryAppBarWidget> {
|
|||
? await FileDB.instance.markForDeletion(file)
|
||||
: await FileDB.instance.delete(file);
|
||||
}
|
||||
Navigator.of(context, rootNavigator: true).pop();
|
||||
FileRepository.instance.reloadFiles();
|
||||
await FileRepository.instance.reloadFiles();
|
||||
_clearSelectedFiles();
|
||||
await dialog.hide();
|
||||
}
|
||||
|
|
|
@ -15,6 +15,7 @@ import 'package:photos/ui/device_folders_gallery_widget.dart';
|
|||
import 'package:photos/ui/gallery.dart';
|
||||
import 'package:photos/ui/gallery_app_bar_widget.dart';
|
||||
import 'package:photos/ui/loading_photos_widget.dart';
|
||||
import 'package:photos/ui/loading_widget.dart';
|
||||
import 'package:photos/ui/remote_folder_gallery_widget.dart';
|
||||
import 'package:photos/ui/search_page.dart';
|
||||
import 'package:photos/utils/logging_util.dart';
|
||||
|
@ -59,7 +60,6 @@ class _HomeWidgetState extends State<HomeWidget> {
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var gallery = _getMainGalleryWidget();
|
||||
return Scaffold(
|
||||
appBar: GalleryAppBarWidget(
|
||||
GalleryAppBarType.homepage,
|
||||
|
@ -71,7 +71,7 @@ class _HomeWidgetState extends State<HomeWidget> {
|
|||
body: IndexedStack(
|
||||
children: <Widget>[
|
||||
PhotoSyncManager.instance.hasScannedDisk()
|
||||
? gallery
|
||||
? _getMainGalleryWidget()
|
||||
: LoadingPhotosWidget(),
|
||||
_deviceFolderGalleryWidget,
|
||||
_remoteFolderGalleryWidget,
|
||||
|
@ -100,16 +100,27 @@ class _HomeWidgetState extends State<HomeWidget> {
|
|||
}
|
||||
|
||||
Widget _getMainGalleryWidget() {
|
||||
return Gallery(
|
||||
asyncLoader: (_, __) {
|
||||
return FileRepository.instance.loadFiles().then((files) {
|
||||
return _getFilteredPhotos(files);
|
||||
});
|
||||
return FutureBuilder(
|
||||
future: FileRepository.instance.loadFiles().then((files) {
|
||||
return _getFilteredPhotos(files);
|
||||
}),
|
||||
builder: (context, snapshot) {
|
||||
if (snapshot.hasData) {
|
||||
return Gallery(
|
||||
syncLoader: () {
|
||||
return _getFilteredPhotos(FileRepository.instance.files);
|
||||
},
|
||||
reloadEvent: Bus.instance.on<LocalPhotosUpdatedEvent>(),
|
||||
onRefresh: PhotoSyncManager.instance.sync,
|
||||
tagPrefix: "home_gallery",
|
||||
selectedFiles: _selectedFiles,
|
||||
);
|
||||
} else if (snapshot.hasError) {
|
||||
return Center(child: Text(snapshot.error.toString()));
|
||||
} else {
|
||||
return loadWidget;
|
||||
}
|
||||
},
|
||||
reloadEvent: Bus.instance.on<LocalPhotosUpdatedEvent>(),
|
||||
onRefresh: PhotoSyncManager.instance.sync,
|
||||
tagPrefix: "home_gallery",
|
||||
selectedFiles: _selectedFiles,
|
||||
);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue