mirror of
https://github.com/Myzel394/quid_faciam_hodie.git
synced 2025-06-19 23:55:26 +02:00
fixed zoom level button
This commit is contained in:
parent
e0afe288b3
commit
391be909a7
@ -30,7 +30,6 @@ class MainScreen extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
||||||
final List<double> zoomLevels = [1.0];
|
|
||||||
int currentZoomLevelIndex = 0;
|
int currentZoomLevelIndex = 0;
|
||||||
|
|
||||||
bool isRecording = false;
|
bool isRecording = false;
|
||||||
@ -38,6 +37,7 @@ class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
|||||||
bool isTorchEnabled = false;
|
bool isTorchEnabled = false;
|
||||||
List? lastPhoto;
|
List? lastPhoto;
|
||||||
Uint8List? uploadingPhotoAnimation;
|
Uint8List? uploadingPhotoAnimation;
|
||||||
|
List<double>? zoomLevels;
|
||||||
|
|
||||||
late User _user;
|
late User _user;
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
double get currentZoomLevel => zoomLevels[currentZoomLevelIndex];
|
double get currentZoomLevel => zoomLevels![currentZoomLevelIndex];
|
||||||
|
|
||||||
@override
|
@override
|
||||||
bool get isLoading =>
|
bool get isLoading =>
|
||||||
@ -143,19 +143,17 @@ class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
|||||||
final minZoomLevel = await controller!.getMinZoomLevel();
|
final minZoomLevel = await controller!.getMinZoomLevel();
|
||||||
final maxZoomLevel = await controller!.getMaxZoomLevel();
|
final maxZoomLevel = await controller!.getMaxZoomLevel();
|
||||||
|
|
||||||
final availableZoomLevels = List<double>.from(
|
final availableZoomLevels = ([...DEFAULT_ZOOM_LEVELS]
|
||||||
DEFAULT_ZOOM_LEVELS
|
.where((zoomLevel) =>
|
||||||
.where((zoomLevel) =>
|
zoomLevel >= minZoomLevel && zoomLevel <= maxZoomLevel)
|
||||||
zoomLevel >= minZoomLevel && zoomLevel <= maxZoomLevel)
|
.toSet()
|
||||||
.toSet(),
|
..add(minZoomLevel)
|
||||||
)
|
..add(maxZoomLevel))
|
||||||
..add(minZoomLevel)
|
.toList()
|
||||||
..add(maxZoomLevel)
|
|
||||||
..toList()
|
|
||||||
..sort();
|
..sort();
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
zoomLevels.addAll(availableZoomLevels);
|
zoomLevels = availableZoomLevels;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -400,19 +398,26 @@ class _MainScreenState extends AuthRequiredState<MainScreen> with Loadable {
|
|||||||
(_) => Colors.white,
|
(_) => Colors.white,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: zoomLevels == null
|
||||||
final newZoomLevelIndex =
|
? null
|
||||||
((currentZoomLevel + 1) % zoomLevels.length).toInt();
|
: () {
|
||||||
|
final newZoomLevelIndex =
|
||||||
|
((currentZoomLevelIndex + 1) %
|
||||||
|
zoomLevels!.length)
|
||||||
|
.toInt();
|
||||||
|
|
||||||
controller!.setZoomLevel(zoomLevels[newZoomLevelIndex]);
|
controller!
|
||||||
|
.setZoomLevel(zoomLevels![newZoomLevelIndex]);
|
||||||
|
|
||||||
setState(() {
|
setState(() {
|
||||||
currentZoomLevelIndex = newZoomLevelIndex;
|
currentZoomLevelIndex = newZoomLevelIndex;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
child: Text(
|
child: zoomLevels == null
|
||||||
formatZoomLevel(currentZoomLevel),
|
? Text('1x')
|
||||||
),
|
: Text(
|
||||||
|
formatZoomLevel(currentZoomLevel),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user