mirror of
https://github.com/vodemn/m3_lightmeter.git
synced 2024-11-23 07:50:42 +00:00
migrated to outlined icons
This commit is contained in:
parent
2ba0a8f5bd
commit
8b9cd0dd19
38 changed files with 70 additions and 88 deletions
|
@ -32,8 +32,8 @@ class MeteringBottomControls extends StatelessWidget {
|
|||
onPressed: onSwitchEvSourceType,
|
||||
icon: Icon(
|
||||
UserPreferencesProvider.evSourceTypeOf(context) != EvSourceType.camera
|
||||
? Icons.camera_rear
|
||||
: Icons.wb_incandescent,
|
||||
? Icons.camera_rear_outlined
|
||||
: Icons.wb_incandescent_outlined,
|
||||
),
|
||||
tooltip: UserPreferencesProvider.evSourceTypeOf(context) != EvSourceType.camera
|
||||
? S.of(context).tooltipUseCamera
|
||||
|
@ -48,7 +48,7 @@ class MeteringBottomControls extends StatelessWidget {
|
|||
),
|
||||
right: IconButton.filledTonal(
|
||||
onPressed: onSettings,
|
||||
icon: const Icon(Icons.settings),
|
||||
icon: const Icon(Icons.settings_outlined),
|
||||
tooltip: S.of(context).tooltipOpenSettings,
|
||||
),
|
||||
);
|
||||
|
|
|
@ -21,7 +21,7 @@ class ExposureOffsetSlider extends StatelessWidget {
|
|||
range: range,
|
||||
value: value,
|
||||
onChanged: onChanged,
|
||||
icon: Icons.light_mode,
|
||||
icon: Icons.light_mode_outlined,
|
||||
defaultValue: 0,
|
||||
rulerValueAdapter: (value) => value.toStringSignedAsFixed(0),
|
||||
valueAdapter: (value) => S.of(context).evValue(value.toStringSignedAsFixed(1)),
|
||||
|
|
|
@ -32,7 +32,7 @@ class _ZoomSliderState extends State<ZoomSlider> {
|
|||
range: widget.range,
|
||||
value: widget.value,
|
||||
onChanged: widget.onChanged,
|
||||
icon: Icons.search,
|
||||
icon: Icons.search_outlined,
|
||||
defaultValue: EquipmentProfiles.selectedOf(context).lensZoom,
|
||||
rulerValueAdapter: (value) => value.toStringAsFixed(0),
|
||||
valueAdapter: (value) => value.toZoom(),
|
||||
|
|
|
@ -20,15 +20,12 @@ class CameraControlsPlaceholder extends StatelessWidget {
|
|||
children: [
|
||||
IconButton(
|
||||
onPressed: onReset,
|
||||
icon: Icon(error == CameraErrorType.permissionNotGranted ? Icons.settings : Icons.sync),
|
||||
icon: Icon(error == CameraErrorType.permissionNotGranted ? Icons.settings_outlined : Icons.sync_outlined),
|
||||
),
|
||||
const SizedBox(height: Dimens.grid8),
|
||||
Text(
|
||||
error.toStringLocalized(context),
|
||||
style: Theme.of(context)
|
||||
.textTheme
|
||||
.bodyMedium
|
||||
?.copyWith(color: Theme.of(context).colorScheme.onBackground),
|
||||
style: Theme.of(context).textTheme.bodyMedium?.copyWith(color: Theme.of(context).colorScheme.onBackground),
|
||||
textAlign: TextAlign.center,
|
||||
),
|
||||
],
|
||||
|
|
|
@ -12,7 +12,7 @@ class CameraViewPlaceholder extends StatelessWidget {
|
|||
return Card(
|
||||
color: error != null ? null : Colors.black,
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(Dimens.borderRadiusM)),
|
||||
child: Center(child: error != null ? const Icon(Icons.no_photography) : null),
|
||||
child: Center(child: error != null ? const Icon(Icons.no_photography_outlined) : null),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,7 @@ class ExposurePairsList extends StatelessWidget {
|
|||
duration: Dimens.switchDuration,
|
||||
child: exposurePairs.isEmpty
|
||||
? IconPlaceholder(
|
||||
icon: Icons.not_interested,
|
||||
icon: Icons.not_interested_outlined,
|
||||
text: S.of(context).noExposurePairs,
|
||||
)
|
||||
: Stack(
|
||||
|
|
|
@ -11,7 +11,7 @@ class EquipmentProfilePicker extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AnimatedDialogPicker<EquipmentProfile>(
|
||||
icon: Icons.camera,
|
||||
icon: Icons.camera_outlined,
|
||||
title: S.of(context).equipmentProfile,
|
||||
selectedValue: EquipmentProfiles.selectedOf(context),
|
||||
values: EquipmentProfiles.of(context),
|
||||
|
|
|
@ -13,7 +13,7 @@ class FilmPicker extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AnimatedDialogPicker<Film>(
|
||||
icon: Icons.camera_roll,
|
||||
icon: Icons.camera_roll_outlined,
|
||||
title: S.of(context).film,
|
||||
subtitle: S.of(context).filmReciprocityHint,
|
||||
selectedValue: Films.selectedOf(context),
|
||||
|
@ -23,17 +23,14 @@ class FilmPicker extends StatelessWidget {
|
|||
closedChild: ReadingValueContainer.singleValue(
|
||||
value: ReadingValue(
|
||||
label: _label(context),
|
||||
value: Films.selectedOf(context).name.isEmpty
|
||||
? S.of(context).none
|
||||
: Films.selectedOf(context).name,
|
||||
value: Films.selectedOf(context).name.isEmpty ? S.of(context).none : Films.selectedOf(context).name,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
String _label(BuildContext context) {
|
||||
if (Films.selectedOf(context) == const Film.other() ||
|
||||
Films.selectedOf(context).iso == selectedIso.value) {
|
||||
if (Films.selectedOf(context) == const Film.other() || Films.selectedOf(context).iso == selectedIso.value) {
|
||||
return S.of(context).film;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,16 +18,15 @@ class IsoValuePicker extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AnimatedDialogPicker<IsoValue>(
|
||||
icon: Icons.iso,
|
||||
icon: Icons.iso_outlined,
|
||||
title: S.of(context).iso,
|
||||
subtitle: S.of(context).filmSpeed,
|
||||
selectedValue: selectedValue,
|
||||
values: values,
|
||||
itemTitleBuilder: (_, value) => Text(value.value.toString()),
|
||||
// using ascending order, because increase in film speed rises EV
|
||||
itemTrailingBuilder: (selected, value) => value.value != selected.value
|
||||
? Text(S.of(context).evValue(selected.toStringDifference(value)))
|
||||
: null,
|
||||
itemTrailingBuilder: (selected, value) =>
|
||||
value.value != selected.value ? Text(S.of(context).evValue(selected.toStringDifference(value))) : null,
|
||||
onChanged: onChanged,
|
||||
closedChild: ReadingValueContainer.singleValue(
|
||||
value: ReadingValue(
|
||||
|
|
|
@ -18,7 +18,7 @@ class NdValuePicker extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AnimatedDialogPicker<NdValue>(
|
||||
icon: Icons.filter_b_and_w,
|
||||
icon: Icons.filter_b_and_w_outlined,
|
||||
title: S.of(context).nd,
|
||||
subtitle: S.of(context).ndFilterFactor,
|
||||
selectedValue: selectedValue,
|
||||
|
|
|
@ -60,7 +60,7 @@ class ReadingValueContainer extends StatelessWidget implements AnimatedDialogClo
|
|||
top: 0,
|
||||
right: 0,
|
||||
child: Icon(
|
||||
Icons.lock,
|
||||
Icons.lock_outlined,
|
||||
size: Theme.of(context).textTheme.labelMedium!.fontSize,
|
||||
color: Theme.of(context).colorScheme.onPrimaryContainer,
|
||||
),
|
||||
|
|
|
@ -9,7 +9,7 @@ class ReportIssueListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.bug_report),
|
||||
leading: const Icon(Icons.bug_report_outlined),
|
||||
title: Text(S.of(context).reportIssue),
|
||||
onTap: () {
|
||||
launchUrl(
|
||||
|
|
|
@ -8,7 +8,7 @@ class RestorePurchasesListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.restore),
|
||||
leading: const Icon(Icons.restore_outlined),
|
||||
title: Text(S.of(context).restorePurchases),
|
||||
onTap: IAPProductsProvider.of(context).restorePurchases,
|
||||
);
|
||||
|
|
|
@ -9,7 +9,7 @@ class SourceCodeListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.code),
|
||||
leading: const Icon(Icons.code_outlined),
|
||||
title: Text(S.of(context).sourceCode),
|
||||
onTap: () {
|
||||
launchUrl(
|
||||
|
|
|
@ -10,7 +10,7 @@ class WriteEmailListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.email),
|
||||
leading: const Icon(Icons.email_outlined),
|
||||
title: Text(S.of(context).writeEmail),
|
||||
onTap: () {
|
||||
final mailToUrl = Uri.parse('mailto:$contactEmail?subject=M3 Lightmeter');
|
||||
|
|
|
@ -12,7 +12,7 @@ class CaffeineListTile extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<CaffeineListTileBloc, bool>(
|
||||
builder: (context, state) => SwitchListTile(
|
||||
secondary: const Icon(Icons.screen_lock_portrait),
|
||||
secondary: const Icon(Icons.screen_lock_portrait_outlined),
|
||||
title: Text(S.of(context).keepScreenOn),
|
||||
value: state,
|
||||
onChanged: context.read<CaffeineListTileBloc>().onCaffeineChanged,
|
||||
|
|
|
@ -12,7 +12,7 @@ class HapticsListTile extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<HapticsListTileBloc, bool>(
|
||||
builder: (context, state) => SwitchListTile(
|
||||
secondary: const Icon(Icons.vibration),
|
||||
secondary: const Icon(Icons.vibration_outlined),
|
||||
title: Text(S.of(context).haptics),
|
||||
value: state,
|
||||
onChanged: context.read<HapticsListTileBloc>().onHapticsChanged,
|
||||
|
|
|
@ -10,14 +10,14 @@ class LanguageListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.language),
|
||||
leading: const Icon(Icons.language_outlined),
|
||||
title: Text(S.of(context).language),
|
||||
trailing: Text(UserPreferencesProvider.localeOf(context).localizedName),
|
||||
onTap: () {
|
||||
showDialog<SupportedLocale>(
|
||||
context: context,
|
||||
builder: (_) => DialogPicker<SupportedLocale>(
|
||||
icon: Icons.language,
|
||||
icon: Icons.language_outlined,
|
||||
title: S.of(context).chooseLanguage,
|
||||
selectedValue: UserPreferencesProvider.localeOf(context),
|
||||
values: SupportedLocale.values,
|
||||
|
|
|
@ -11,7 +11,7 @@ class VolumeActionsListTile extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
return BlocBuilder<VolumeActionsListTileBloc, bool>(
|
||||
builder: (context, state) => SwitchListTile(
|
||||
secondary: const Icon(Icons.volume_up),
|
||||
secondary: const Icon(Icons.volume_up_outlined),
|
||||
title: Text(S.of(context).volumeKeysAction),
|
||||
value: state,
|
||||
onChanged: context.read<VolumeActionsListTileBloc>().onVolumeActionChanged,
|
||||
|
|
|
@ -12,7 +12,7 @@ class BuyProListTile extends StatelessWidget {
|
|||
final status = IAPProducts.productOf(context, IAPProductType.paidFeatures)?.status;
|
||||
final isPending = status == IAPProductStatus.purchased || status == null;
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.star),
|
||||
leading: const Icon(Icons.star_outlined),
|
||||
title: Text(S.of(context).unlockProFeatures),
|
||||
onTap: !isPending
|
||||
? () {
|
||||
|
|
|
@ -16,7 +16,7 @@ class CalibrationDialog extends StatelessWidget {
|
|||
Widget build(BuildContext context) {
|
||||
final bool hasLightSensor = ServicesProvider.of(context).environment.hasLightSensor;
|
||||
return AlertDialog(
|
||||
icon: const Icon(Icons.settings_brightness),
|
||||
icon: const Icon(Icons.settings_brightness_outlined),
|
||||
titlePadding: Dimens.dialogIconTitlePadding,
|
||||
title: Text(S.of(context).calibration),
|
||||
contentPadding: const EdgeInsets.symmetric(horizontal: Dimens.paddingL),
|
||||
|
@ -25,38 +25,27 @@ class CalibrationDialog extends StatelessWidget {
|
|||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Text(
|
||||
hasLightSensor
|
||||
? S.of(context).calibrationMessage
|
||||
: S.of(context).calibrationMessageCameraOnly,
|
||||
hasLightSensor ? S.of(context).calibrationMessage : S.of(context).calibrationMessageCameraOnly,
|
||||
),
|
||||
const SizedBox(height: Dimens.grid16),
|
||||
BlocBuilder<CalibrationDialogBloc, CalibrationDialogState>(
|
||||
buildWhen: (previous, current) =>
|
||||
previous.cameraEvCalibration != current.cameraEvCalibration,
|
||||
buildWhen: (previous, current) => previous.cameraEvCalibration != current.cameraEvCalibration,
|
||||
builder: (context, state) => _CalibrationUnit(
|
||||
title: S.of(context).camera,
|
||||
value: state.cameraEvCalibration,
|
||||
onChanged: (value) => context
|
||||
.read<CalibrationDialogBloc>()
|
||||
.add(CameraEvCalibrationChangedEvent(value)),
|
||||
onReset: () => context
|
||||
.read<CalibrationDialogBloc>()
|
||||
.add(const CameraEvCalibrationResetEvent()),
|
||||
onChanged: (value) => context.read<CalibrationDialogBloc>().add(CameraEvCalibrationChangedEvent(value)),
|
||||
onReset: () => context.read<CalibrationDialogBloc>().add(const CameraEvCalibrationResetEvent()),
|
||||
),
|
||||
),
|
||||
if (hasLightSensor)
|
||||
BlocBuilder<CalibrationDialogBloc, CalibrationDialogState>(
|
||||
buildWhen: (previous, current) =>
|
||||
previous.lightSensorEvCalibration != current.lightSensorEvCalibration,
|
||||
buildWhen: (previous, current) => previous.lightSensorEvCalibration != current.lightSensorEvCalibration,
|
||||
builder: (context, state) => _CalibrationUnit(
|
||||
title: S.of(context).lightSensor,
|
||||
value: state.lightSensorEvCalibration,
|
||||
onChanged: (value) => context
|
||||
.read<CalibrationDialogBloc>()
|
||||
.add(LightSensorEvCalibrationChangedEvent(value)),
|
||||
onReset: () => context
|
||||
.read<CalibrationDialogBloc>()
|
||||
.add(const LightSensorEvCalibrationResetEvent()),
|
||||
onChanged: (value) =>
|
||||
context.read<CalibrationDialogBloc>().add(LightSensorEvCalibrationChangedEvent(value)),
|
||||
onReset: () => context.read<CalibrationDialogBloc>().add(const LightSensorEvCalibrationResetEvent()),
|
||||
),
|
||||
),
|
||||
],
|
||||
|
@ -116,7 +105,7 @@ class _CalibrationUnit extends StatelessWidget {
|
|||
),
|
||||
IconButton(
|
||||
onPressed: onReset,
|
||||
icon: const Icon(Icons.sync),
|
||||
icon: const Icon(Icons.sync_outlined),
|
||||
tooltip: S.of(context).tooltipResetToZero,
|
||||
),
|
||||
],
|
||||
|
|
|
@ -9,7 +9,7 @@ class CalibrationListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.settings_brightness),
|
||||
leading: const Icon(Icons.settings_brightness_outlined),
|
||||
title: Text(S.of(context).calibration),
|
||||
onTap: () {
|
||||
showDialog<double>(
|
||||
|
|
|
@ -11,13 +11,13 @@ class CameraFeaturesListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IAPListTile(
|
||||
leading: const Icon(Icons.camera_alt),
|
||||
leading: const Icon(Icons.camera_alt_outlined),
|
||||
title: Text(S.of(context).cameraFeatures),
|
||||
onTap: () {
|
||||
showDialog(
|
||||
context: context,
|
||||
builder: (_) => DialogSwitch<CameraFeature>(
|
||||
icon: Icons.layers_outlined,
|
||||
icon: Icons.camera_alt_outlined,
|
||||
title: S.of(context).cameraFeatures,
|
||||
values: UserPreferencesProvider.cameraConfigOf(context),
|
||||
titleAdapter: (context, feature) {
|
||||
|
|
|
@ -171,7 +171,7 @@ class _AnimatedNameLeading extends AnimatedWidget {
|
|||
return Padding(
|
||||
padding: EdgeInsets.only(right: _progress.value * Dimens.grid8),
|
||||
child: Icon(
|
||||
Icons.edit,
|
||||
Icons.edit_outlined,
|
||||
size: _progress.value * Dimens.grid24,
|
||||
),
|
||||
);
|
||||
|
@ -194,7 +194,7 @@ class _AnimatedArrowButton extends AnimatedWidget {
|
|||
onPressed: onPressed,
|
||||
icon: Transform.rotate(
|
||||
angle: _progress.value * pi,
|
||||
child: const Icon(Icons.keyboard_arrow_down),
|
||||
child: const Icon(Icons.keyboard_arrow_down_outlined),
|
||||
),
|
||||
tooltip: _progress.value == 0 ? S.of(context).tooltipExpand : S.of(context).tooltipCollapse,
|
||||
);
|
||||
|
@ -239,7 +239,7 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
child: Column(
|
||||
children: [
|
||||
FilterListTile<IsoValue>(
|
||||
icon: Icons.iso,
|
||||
icon: Icons.iso_outlined,
|
||||
title: S.of(context).isoValues,
|
||||
description: S.of(context).isoValuesFilterDescription,
|
||||
values: IsoValue.values,
|
||||
|
@ -247,7 +247,7 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
onChanged: onIsoValuesSelecred,
|
||||
),
|
||||
FilterListTile<NdValue>(
|
||||
icon: Icons.filter_b_and_w,
|
||||
icon: Icons.filter_b_and_w_outlined,
|
||||
title: S.of(context).ndFilters,
|
||||
description: S.of(context).ndFiltersFilterDescription,
|
||||
values: NdValue.values,
|
||||
|
@ -255,7 +255,7 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
onChanged: onNdValuesSelected,
|
||||
),
|
||||
RangePickerListTile<ApertureValue>(
|
||||
icon: Icons.camera,
|
||||
icon: Icons.camera_outlined,
|
||||
title: S.of(context).apertureValues,
|
||||
description: S.of(context).apertureValuesFilterDescription,
|
||||
values: ApertureValue.values,
|
||||
|
@ -263,7 +263,7 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
onChanged: onApertureValuesSelected,
|
||||
),
|
||||
RangePickerListTile<ShutterSpeedValue>(
|
||||
icon: Icons.shutter_speed,
|
||||
icon: Icons.shutter_speed_outlined,
|
||||
title: S.of(context).shutterSpeedValues,
|
||||
description: S.of(context).shutterSpeedValuesFilterDescription,
|
||||
values: ShutterSpeedValue.values,
|
||||
|
@ -275,7 +275,7 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
value.value == 1 ? S.of(context).shutterSpeedManual : value.toString(),
|
||||
),
|
||||
SliderPickerListTile(
|
||||
icon: Icons.zoom_in,
|
||||
icon: Icons.zoom_in_outlined,
|
||||
title: S.of(context).lensZoom,
|
||||
description: S.of(context).lensZoomDescription,
|
||||
value: equipmentData.lensZoom,
|
||||
|
@ -291,12 +291,12 @@ class _AnimatedEquipmentListTiles extends AnimatedWidget {
|
|||
children: [
|
||||
IconButton(
|
||||
onPressed: onCopy,
|
||||
icon: const Icon(Icons.copy),
|
||||
icon: const Icon(Icons.copy_outlined),
|
||||
tooltip: S.of(context).tooltipCopy,
|
||||
),
|
||||
IconButton(
|
||||
onPressed: onDelete,
|
||||
icon: const Icon(Icons.delete),
|
||||
icon: const Icon(Icons.delete_outlined),
|
||||
tooltip: S.of(context).tooltipDelete,
|
||||
),
|
||||
],
|
||||
|
|
|
@ -23,7 +23,7 @@ class _EquipmentProfileNameDialogState extends State<EquipmentProfileNameDialog>
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
icon: const Icon(Icons.edit),
|
||||
icon: const Icon(Icons.edit_outlined),
|
||||
titlePadding: Dimens.dialogIconTitlePadding,
|
||||
title: Text(S.of(context).equipmentProfileName),
|
||||
content: TextField(
|
||||
|
|
|
@ -32,7 +32,7 @@ class _EquipmentProfilesScreenState extends State<EquipmentProfilesScreen> {
|
|||
appBarActions: [
|
||||
IconButton(
|
||||
onPressed: _addProfile,
|
||||
icon: const Icon(Icons.add),
|
||||
icon: const Icon(Icons.add_outlined),
|
||||
tooltip: S.of(context).tooltipAdd,
|
||||
),
|
||||
],
|
||||
|
@ -150,7 +150,7 @@ class _EquipmentProfilesListPlaceholder extends StatelessWidget {
|
|||
child: Padding(
|
||||
padding: const EdgeInsets.all(Dimens.paddingL),
|
||||
child: IconPlaceholder(
|
||||
icon: Icons.add,
|
||||
icon: Icons.add_outlined,
|
||||
text: S.of(context).tapToAdd,
|
||||
),
|
||||
),
|
||||
|
|
|
@ -10,7 +10,7 @@ class EquipmentProfilesListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IAPListTile(
|
||||
leading: const Icon(Icons.camera),
|
||||
leading: const Icon(Icons.camera_outlined),
|
||||
title: Text(S.of(context).equipmentProfiles),
|
||||
onTap: () {
|
||||
Navigator.of(context).push<EquipmentProfile>(
|
||||
|
|
|
@ -11,13 +11,13 @@ class FilmsListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return IAPListTile(
|
||||
leading: const Icon(Icons.camera_roll),
|
||||
leading: const Icon(Icons.camera_roll_outlined),
|
||||
title: Text(S.of(context).filmsInUse),
|
||||
onTap: () {
|
||||
showDialog<List<Film>>(
|
||||
context: context,
|
||||
builder: (_) => DialogFilter<Film>(
|
||||
icon: const Icon(Icons.camera_roll),
|
||||
icon: const Icon(Icons.camera_roll_outlined),
|
||||
title: S.of(context).filmsInUse,
|
||||
description: S.of(context).filmsInUseDescription,
|
||||
values: Films.of(context).sublist(1),
|
||||
|
|
|
@ -10,14 +10,14 @@ class StopTypeListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.straighten),
|
||||
leading: const Icon(Icons.straighten_outlined),
|
||||
title: Text(S.of(context).fractionalStops),
|
||||
trailing: Text(_typeToString(context, UserPreferencesProvider.stopTypeOf(context))),
|
||||
onTap: () {
|
||||
showDialog<StopType>(
|
||||
context: context,
|
||||
builder: (_) => DialogPicker<StopType>(
|
||||
icon: Icons.straighten,
|
||||
icon: Icons.straighten_outlined,
|
||||
title: S.of(context).showFractionalStops,
|
||||
selectedValue: UserPreferencesProvider.stopTypeOf(context),
|
||||
values: StopType.values,
|
||||
|
|
|
@ -13,7 +13,7 @@ class ShowEv100ListTile extends StatelessWidget {
|
|||
return Disable(
|
||||
disable: !context.isPro,
|
||||
child: SwitchListTile(
|
||||
secondary: const Icon(Icons.adjust),
|
||||
secondary: const Icon(Icons.adjust_outlined),
|
||||
title: Text(S.of(context).showEv100),
|
||||
value: context.isPro && UserPreferencesProvider.showEv100Of(context),
|
||||
onChanged: (_) => UserPreferencesProvider.of(context).toggleShowEv100(),
|
||||
|
|
|
@ -109,7 +109,7 @@ class _DialogFilterState<T> extends State<DialogFilter<T>> {
|
|||
width: 40,
|
||||
child: IconButton(
|
||||
padding: EdgeInsets.zero,
|
||||
icon: Icon(_hasAnyUnselected ? Icons.select_all : Icons.deselect),
|
||||
icon: Icon(_hasAnyUnselected ? Icons.select_all_outlined : Icons.deselect_outlined),
|
||||
onPressed: _toggleAll,
|
||||
tooltip: _hasAnyUnselected ? S.of(context).tooltipSelectAll : S.of(context).tooltipDesecelectAll,
|
||||
),
|
||||
|
|
|
@ -10,7 +10,7 @@ class DynamicColorListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SwitchListTile(
|
||||
secondary: const Icon(Icons.colorize),
|
||||
secondary: const Icon(Icons.colorize_outlined),
|
||||
title: Text(S.of(context).dynamicColor),
|
||||
value: UserPreferencesProvider.dynamicColorStateOf(context) == DynamicColorState.enabled,
|
||||
onChanged: UserPreferencesProvider.of(context).enableDynamicColor,
|
||||
|
|
|
@ -24,7 +24,7 @@ class _PrimaryColorDialogPickerState extends State<PrimaryColorDialogPicker> {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return AlertDialog(
|
||||
icon: const Icon(Icons.palette),
|
||||
icon: const Icon(Icons.palette_outlined),
|
||||
titlePadding: Dimens.dialogIconTitlePadding,
|
||||
title: Text(S.of(context).choosePrimaryColor),
|
||||
content: SizedBox(
|
||||
|
@ -124,7 +124,7 @@ class _SelectableColorItemState extends State<_SelectableColorItem> {
|
|||
duration: Dimens.durationS,
|
||||
child: widget.selected
|
||||
? Icon(
|
||||
Icons.check,
|
||||
Icons.check_outlined,
|
||||
color: ThemeData.estimateBrightnessForColor(widget.color) == Brightness.light
|
||||
? Colors.black
|
||||
: Colors.white,
|
||||
|
|
|
@ -13,13 +13,13 @@ class PrimaryColorListTile extends StatelessWidget {
|
|||
if (UserPreferencesProvider.dynamicColorStateOf(context) == DynamicColorState.enabled) {
|
||||
return Disable(
|
||||
child: ListTile(
|
||||
leading: const Icon(Icons.palette),
|
||||
leading: const Icon(Icons.palette_outlined),
|
||||
title: Text(S.of(context).primaryColor),
|
||||
),
|
||||
);
|
||||
}
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.palette),
|
||||
leading: const Icon(Icons.palette_outlined),
|
||||
title: Text(S.of(context).primaryColor),
|
||||
onTap: () {
|
||||
showDialog<Color>(
|
||||
|
|
|
@ -10,14 +10,14 @@ class ThemeTypeListTile extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListTile(
|
||||
leading: const Icon(Icons.brightness_6),
|
||||
leading: const Icon(Icons.brightness_6_outlined),
|
||||
title: Text(S.of(context).theme),
|
||||
trailing: Text(_typeToString(context, UserPreferencesProvider.themeTypeOf(context))),
|
||||
onTap: () {
|
||||
showDialog<ThemeType>(
|
||||
context: context,
|
||||
builder: (_) => DialogPicker<ThemeType>(
|
||||
icon: Icons.brightness_6,
|
||||
icon: Icons.brightness_6_outlined,
|
||||
title: S.of(context).chooseTheme,
|
||||
selectedValue: UserPreferencesProvider.themeTypeOf(context),
|
||||
values: ThemeType.values,
|
||||
|
|
|
@ -24,7 +24,7 @@ class ProFeaturesDialog extends StatelessWidget {
|
|||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return TransparentDialog(
|
||||
icon: Icons.star,
|
||||
icon: Icons.star_outlined,
|
||||
title: S.of(context).proFeatures,
|
||||
scrollableContent: false,
|
||||
content: Flexible(
|
||||
|
|
|
@ -53,7 +53,7 @@ class RulerSlider extends StatelessWidget {
|
|||
),
|
||||
),
|
||||
IconButton(
|
||||
icon: const Icon(Icons.sync),
|
||||
icon: const Icon(Icons.sync_outlined),
|
||||
onPressed: value != defaultValue ? () => onChanged(defaultValue) : null,
|
||||
tooltip: S.of(context).tooltipResetToZero,
|
||||
),
|
||||
|
|
|
@ -42,7 +42,7 @@ class SliverScreen extends StatelessWidget {
|
|||
if (Navigator.of(context).canPop())
|
||||
IconButton(
|
||||
onPressed: Navigator.of(context).pop,
|
||||
icon: const Icon(Icons.close),
|
||||
icon: const Icon(Icons.close_outlined),
|
||||
tooltip: S.of(context).tooltipClose,
|
||||
),
|
||||
],
|
||||
|
|
Loading…
Reference in a new issue