loadPreset method
- @override
- ViewPreset preset
Loads the given preset.
Implementation
@override
Future<void> loadPreset(ViewPreset preset) async {
if (isLoadingPreset) return;
isLoadingPreset = true;
updateSplitMode(preset.splitMode);
views = List.filled(views.length, DashboardView.blank, growable: true);
// Wait for all views to reset so as not to cause overflow issues
await nextFrame();
setNumViews(preset.views.length);
// Wait 3 frames for flutter_resizable container to load
await nextFrame();
await nextFrame();
await nextFrame();
if (preset.horizontal1.isNotEmpty) horizontalController1.setRatios(preset.horizontal1);
if (preset.horizontal2.isNotEmpty) horizontalController2.setRatios(preset.horizontal2);
if (preset.horizontal3.isNotEmpty) horizontalController3.setRatios(preset.horizontal3);
if (preset.horizontal4.isNotEmpty) horizontalController4.setRatios(preset.horizontal4);
if (preset.vertical1.isNotEmpty) verticalController1.setRatios(preset.vertical1);
if (preset.vertical2.isNotEmpty) verticalController2.setRatios(preset.vertical2);
views = preset.views.toList();
notifyListeners();
isLoadingPreset = false;
}