openFile method
Future<void>
openFile(
- WidgetRef widgetRef
)
Implementation
Future<void> openFile(WidgetRef widgetRef) async {
final selectedFile = await fs.openFile(acceptedTypeGroups: [
const fs.XTypeGroup(label: 'SMCAT', extensions: ['smcat'])
]);
if (selectedFile == null) {
log('User cancelled the file open');
return;
}
final pathToSelected = selectedFile.path;
_smcatFolder = SMCatFolder(
folderPath: p.dirname(pathToSelected),
basename: SMCatFolder.getBasename(pathToSelected));
await _smcatFolder.generateAll(force: true);
final smcatFile = SMCatFile(pathToSelected);
widgetRef.read(smcatPageProvider).loadPages(_smcatFolder.list);
widgetRef.read(currentPageProvider).pageNo = max(0, smcatFile.pageNo - 1);
await WatchFolder(
pathTo: _smcatFolder.folderPath,
extension: 'smcat',
onChanged: (file, action) async => reload(widgetRef, file, action))
.watch();
}