Skip to content

Commit

Permalink
Last used preset automatically saves & loads now
Browse files Browse the repository at this point in the history
  • Loading branch information
YarosMallorca committed Aug 14, 2024
1 parent d99a3eb commit 9358628
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 1 deletion.
21 changes: 21 additions & 0 deletions lib/layouts/camera.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:dji_mapper/components/text_field.dart';
import 'package:dji_mapper/main.dart';
import 'package:dji_mapper/presets/camera_preset.dart';
import 'package:dji_mapper/presets/preset_manager.dart';
import 'package:dji_mapper/shared/value_listeneables.dart';
Expand All @@ -19,6 +20,16 @@ class _CameraBarState extends State<CameraBar> {
void initState() {
super.initState();
_presets = PresetManager.getPresets();

// Load the latest preset
var latestPresetName = prefs.getString("latestPreset");
if (latestPresetName == null) {
latestPresetName = _presets[0].name;
prefs.setString("latestPreset", latestPresetName);
}
Provider.of<ValueListenables>(context, listen: false).selectedCameraPreset =
_presets.firstWhere((element) => element.name == latestPresetName,
orElse: () => _presets[0]);
}

void _updatePreset(ValueListenables listenables) {
Expand Down Expand Up @@ -50,6 +61,8 @@ class _CameraBarState extends State<CameraBar> {
Provider.of<ValueListenables>(context, listen: false).selectedCameraPreset =
newPreset;
listenables.notify();
// Update latest preset
prefs.setString("latestPreset", listenables.selectedCameraPreset!.name);
Navigator.pop(context);
}

Expand Down Expand Up @@ -87,6 +100,10 @@ class _CameraBarState extends State<CameraBar> {
listenables.selectedCameraPreset!.imageWidth;
listenables.imageHeight =
listenables.selectedCameraPreset!.imageHeight;

// Update latest preset
prefs.setString("latestPreset",
listenables.selectedCameraPreset!.name);
}),
const SizedBox(
width: 6,
Expand Down Expand Up @@ -134,6 +151,10 @@ class _CameraBarState extends State<CameraBar> {
_presets = PresetManager.getPresets();
listenables.selectedCameraPreset =
_presets[previousIndex - 1];
prefs.setString(
"latestPreset",
listenables.selectedCameraPreset!.name,
);
listenables.notify();
},
icon: const Icon(Icons.delete),
Expand Down
1 change: 0 additions & 1 deletion lib/presets/camera_preset.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
class CameraPreset {
String name;
bool defaultPreset;

double sensorWidth;
double sensorHeight;
double focalLength;
Expand Down

0 comments on commit 9358628

Please sign in to comment.