2022-10-29 11:01:15 +00:00
|
|
|
import 'package:flutter/material.dart';
|
2023-01-29 16:57:47 +00:00
|
|
|
import 'package:lightmeter/data/models/ev_source_type.dart';
|
2023-09-18 14:59:53 +00:00
|
|
|
import 'package:lightmeter/generated/l10n.dart';
|
2023-08-14 10:25:37 +00:00
|
|
|
import 'package:lightmeter/providers/user_preferences_provider.dart';
|
2023-05-11 13:30:18 +00:00
|
|
|
import 'package:lightmeter/screens/metering/components/bottom_controls/components/measure_button/widget_button_measure.dart';
|
2024-05-03 09:26:00 +00:00
|
|
|
import 'package:lightmeter/screens/shared/bottom_controls_bar/widget_bottom_controls_bar.dart';
|
2022-10-29 11:01:15 +00:00
|
|
|
|
|
|
|
class MeteringBottomControls extends StatelessWidget {
|
2023-02-18 17:17:39 +00:00
|
|
|
final double? ev;
|
2024-01-15 19:47:10 +00:00
|
|
|
final double? ev100;
|
2023-02-19 10:26:14 +00:00
|
|
|
final bool isMetering;
|
2023-01-29 16:57:47 +00:00
|
|
|
final VoidCallback? onSwitchEvSourceType;
|
2022-10-29 11:01:15 +00:00
|
|
|
final VoidCallback onMeasure;
|
|
|
|
final VoidCallback onSettings;
|
|
|
|
|
|
|
|
const MeteringBottomControls({
|
2023-02-18 17:17:39 +00:00
|
|
|
required this.ev,
|
2024-01-15 19:47:10 +00:00
|
|
|
required this.ev100,
|
2023-02-19 10:26:14 +00:00
|
|
|
required this.isMetering,
|
2023-01-29 16:57:47 +00:00
|
|
|
required this.onSwitchEvSourceType,
|
2022-10-29 11:01:15 +00:00
|
|
|
required this.onMeasure,
|
|
|
|
required this.onSettings,
|
|
|
|
super.key,
|
|
|
|
});
|
|
|
|
|
|
|
|
@override
|
|
|
|
Widget build(BuildContext context) {
|
2024-05-03 09:26:00 +00:00
|
|
|
return BottomControlsBar(
|
|
|
|
left: onSwitchEvSourceType != null
|
|
|
|
? IconButton(
|
|
|
|
onPressed: onSwitchEvSourceType,
|
|
|
|
icon: Icon(
|
|
|
|
UserPreferencesProvider.evSourceTypeOf(context) != EvSourceType.camera
|
|
|
|
? Icons.camera_rear
|
|
|
|
: Icons.wb_incandescent,
|
|
|
|
),
|
|
|
|
tooltip: UserPreferencesProvider.evSourceTypeOf(context) != EvSourceType.camera
|
|
|
|
? S.of(context).tooltipUseCamera
|
|
|
|
: S.of(context).tooltipUseLightSensor,
|
|
|
|
)
|
|
|
|
: null,
|
|
|
|
center: MeteringMeasureButton(
|
|
|
|
ev: ev,
|
|
|
|
ev100: ev100,
|
|
|
|
isMetering: isMetering,
|
|
|
|
onTap: onMeasure,
|
2022-10-29 11:06:39 +00:00
|
|
|
),
|
2024-05-03 09:26:00 +00:00
|
|
|
right: IconButton(
|
|
|
|
onPressed: onSettings,
|
|
|
|
icon: const Icon(Icons.settings),
|
|
|
|
tooltip: S.of(context).tooltipOpenSettings,
|
2022-10-29 11:01:15 +00:00
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|