format
This commit is contained in:
parent
2e775b3906
commit
ca2d2c2026
15 changed files with 48 additions and 50 deletions
|
@ -9,6 +9,11 @@ analyzer:
|
||||||
# implicit-casts: false
|
# implicit-casts: false
|
||||||
# implicit-dynamic: false
|
# implicit-dynamic: false
|
||||||
|
|
||||||
|
# cf https://github.com/dart-lang/dart_style/wiki/Configuration
|
||||||
|
formatter:
|
||||||
|
page_width: 240
|
||||||
|
trailing_commas: preserve
|
||||||
|
|
||||||
linter:
|
linter:
|
||||||
rules:
|
rules:
|
||||||
# from 'flutter_lints', excluded
|
# from 'flutter_lints', excluded
|
||||||
|
|
|
@ -4,8 +4,8 @@ import 'package:aves/model/entry/entry.dart';
|
||||||
import 'package:aves/model/entry/extensions/keys.dart';
|
import 'package:aves/model/entry/extensions/keys.dart';
|
||||||
import 'package:aves/model/entry/extensions/props.dart';
|
import 'package:aves/model/entry/extensions/props.dart';
|
||||||
import 'package:aves/model/media/geotiff.dart';
|
import 'package:aves/model/media/geotiff.dart';
|
||||||
import 'package:aves/model/metadata/catalog.dart';
|
|
||||||
import 'package:aves/model/media/video/metadata.dart';
|
import 'package:aves/model/media/video/metadata.dart';
|
||||||
|
import 'package:aves/model/metadata/catalog.dart';
|
||||||
import 'package:aves/ref/mime_types.dart';
|
import 'package:aves/ref/mime_types.dart';
|
||||||
import 'package:aves/services/common/services.dart';
|
import 'package:aves/services/common/services.dart';
|
||||||
import 'package:aves/services/metadata/svg_metadata_service.dart';
|
import 'package:aves/services/metadata/svg_metadata_service.dart';
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import 'package:aves/model/filters/container/container.dart';
|
import 'package:aves/model/filters/container/container.dart';
|
||||||
|
import 'package:aves/model/filters/covered/location.dart';
|
||||||
import 'package:aves/model/filters/covered/stored_album.dart';
|
import 'package:aves/model/filters/covered/stored_album.dart';
|
||||||
import 'package:aves/model/filters/filters.dart';
|
import 'package:aves/model/filters/filters.dart';
|
||||||
import 'package:aves/model/filters/covered/location.dart';
|
|
||||||
import 'package:aves/theme/icons.dart';
|
import 'package:aves/theme/icons.dart';
|
||||||
import 'package:collection/collection.dart';
|
import 'package:collection/collection.dart';
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
|
@ -14,4 +14,3 @@ mixin CoveredFilter on CollectionFilter {
|
||||||
return super.color(context);
|
return super.color(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,11 @@ import 'dart:convert';
|
||||||
|
|
||||||
import 'package:aves/model/entry/entry.dart';
|
import 'package:aves/model/entry/entry.dart';
|
||||||
import 'package:aves/model/filters/aspect_ratio.dart';
|
import 'package:aves/model/filters/aspect_ratio.dart';
|
||||||
import 'package:aves/model/filters/coordinate.dart';
|
|
||||||
import 'package:aves/model/filters/container/album_group.dart';
|
import 'package:aves/model/filters/container/album_group.dart';
|
||||||
import 'package:aves/model/filters/container/dynamic_album.dart';
|
import 'package:aves/model/filters/container/dynamic_album.dart';
|
||||||
|
import 'package:aves/model/filters/container/set_and.dart';
|
||||||
|
import 'package:aves/model/filters/container/set_or.dart';
|
||||||
|
import 'package:aves/model/filters/coordinate.dart';
|
||||||
import 'package:aves/model/filters/covered/location.dart';
|
import 'package:aves/model/filters/covered/location.dart';
|
||||||
import 'package:aves/model/filters/covered/stored_album.dart';
|
import 'package:aves/model/filters/covered/stored_album.dart';
|
||||||
import 'package:aves/model/filters/covered/tag.dart';
|
import 'package:aves/model/filters/covered/tag.dart';
|
||||||
|
@ -17,8 +19,6 @@ import 'package:aves/model/filters/placeholder.dart';
|
||||||
import 'package:aves/model/filters/query.dart';
|
import 'package:aves/model/filters/query.dart';
|
||||||
import 'package:aves/model/filters/rating.dart';
|
import 'package:aves/model/filters/rating.dart';
|
||||||
import 'package:aves/model/filters/recent.dart';
|
import 'package:aves/model/filters/recent.dart';
|
||||||
import 'package:aves/model/filters/container/set_and.dart';
|
|
||||||
import 'package:aves/model/filters/container/set_or.dart';
|
|
||||||
import 'package:aves/model/filters/trash.dart';
|
import 'package:aves/model/filters/trash.dart';
|
||||||
import 'package:aves/model/filters/type.dart';
|
import 'package:aves/model/filters/type.dart';
|
||||||
import 'package:aves/model/filters/weekday.dart';
|
import 'package:aves/model/filters/weekday.dart';
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
import 'dart:ui' as ui;
|
||||||
|
|
||||||
import 'package:aves/model/app/support.dart';
|
import 'package:aves/model/app/support.dart';
|
||||||
import 'package:aves/model/entry/entry.dart';
|
import 'package:aves/model/entry/entry.dart';
|
||||||
|
@ -13,7 +14,6 @@ import 'package:equatable/equatable.dart';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:streams_channel/streams_channel.dart';
|
import 'package:streams_channel/streams_channel.dart';
|
||||||
import 'dart:ui' as ui;
|
|
||||||
|
|
||||||
abstract class MediaFetchService {
|
abstract class MediaFetchService {
|
||||||
Future<AvesEntry?> getEntry(String uri, String? mimeType, {bool allowUnsized = false});
|
Future<AvesEntry?> getEntry(String uri, String? mimeType, {bool allowUnsized = false});
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
import 'package:flutter/painting.dart';
|
import 'package:flutter/painting.dart';
|
||||||
|
|
||||||
class AStyles {
|
class AStyles {
|
||||||
|
|
|
@ -4,9 +4,9 @@ import 'dart:math';
|
||||||
import 'package:aves/app_mode.dart';
|
import 'package:aves/app_mode.dart';
|
||||||
import 'package:aves/model/entry/entry.dart';
|
import 'package:aves/model/entry/entry.dart';
|
||||||
import 'package:aves/model/filters/container/dynamic_album.dart';
|
import 'package:aves/model/filters/container/dynamic_album.dart';
|
||||||
|
import 'package:aves/model/filters/container/set_and.dart';
|
||||||
import 'package:aves/model/filters/filters.dart';
|
import 'package:aves/model/filters/filters.dart';
|
||||||
import 'package:aves/model/filters/query.dart';
|
import 'package:aves/model/filters/query.dart';
|
||||||
import 'package:aves/model/filters/container/set_and.dart';
|
|
||||||
import 'package:aves/model/filters/trash.dart';
|
import 'package:aves/model/filters/trash.dart';
|
||||||
import 'package:aves/model/query.dart';
|
import 'package:aves/model/query.dart';
|
||||||
import 'package:aves/model/selection.dart';
|
import 'package:aves/model/selection.dart';
|
||||||
|
|
|
@ -10,8 +10,8 @@ import 'package:aves/model/entry/extensions/multipage.dart';
|
||||||
import 'package:aves/model/entry/extensions/props.dart';
|
import 'package:aves/model/entry/extensions/props.dart';
|
||||||
import 'package:aves/model/favourites.dart';
|
import 'package:aves/model/favourites.dart';
|
||||||
import 'package:aves/model/filters/container/dynamic_album.dart';
|
import 'package:aves/model/filters/container/dynamic_album.dart';
|
||||||
import 'package:aves/model/filters/filters.dart';
|
|
||||||
import 'package:aves/model/filters/container/set_and.dart';
|
import 'package:aves/model/filters/container/set_and.dart';
|
||||||
|
import 'package:aves/model/filters/filters.dart';
|
||||||
import 'package:aves/model/grouping/common.dart';
|
import 'package:aves/model/grouping/common.dart';
|
||||||
import 'package:aves/model/highlight.dart';
|
import 'package:aves/model/highlight.dart';
|
||||||
import 'package:aves/model/metadata/date_modifier.dart';
|
import 'package:aves/model/metadata/date_modifier.dart';
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
import 'package:aves/model/source/collection_source.dart';
|
import 'package:aves/model/source/collection_source.dart';
|
||||||
import 'package:aves/model/source/events.dart';
|
import 'package:aves/model/source/events.dart';
|
||||||
import 'package:aves/theme/durations.dart';
|
import 'package:aves/theme/durations.dart';
|
||||||
|
|
|
@ -522,7 +522,7 @@ class _InkResponseStateWidget extends StatefulWidget {
|
||||||
if (onSecondaryTap != null) 'secondary tap',
|
if (onSecondaryTap != null) 'secondary tap',
|
||||||
if (onSecondaryTapUp != null) 'secondary tap up',
|
if (onSecondaryTapUp != null) 'secondary tap up',
|
||||||
if (onSecondaryTapDown != null) 'secondary tap down',
|
if (onSecondaryTapDown != null) 'secondary tap down',
|
||||||
if (onSecondaryTapCancel != null) 'secondary tap cancel'
|
if (onSecondaryTapCancel != null) 'secondary tap cancel',
|
||||||
];
|
];
|
||||||
properties.add(IterableProperty<String>('gestures', gestures, ifEmpty: '<none>'));
|
properties.add(IterableProperty<String>('gestures', gestures, ifEmpty: '<none>'));
|
||||||
properties.add(DiagnosticsProperty<MouseCursor>('mouseCursor', mouseCursor));
|
properties.add(DiagnosticsProperty<MouseCursor>('mouseCursor', mouseCursor));
|
||||||
|
@ -544,10 +544,7 @@ enum _HighlightType {
|
||||||
focus,
|
focus,
|
||||||
}
|
}
|
||||||
|
|
||||||
class _InkResponseState extends State<_InkResponseStateWidget>
|
class _InkResponseState extends State<_InkResponseStateWidget> with AutomaticKeepAliveClientMixin<_InkResponseStateWidget> implements _ParentInkResponseState {
|
||||||
with AutomaticKeepAliveClientMixin<_InkResponseStateWidget>
|
|
||||||
implements _ParentInkResponseState
|
|
||||||
{
|
|
||||||
Set<InteractiveInkFeature>? _splashes;
|
Set<InteractiveInkFeature>? _splashes;
|
||||||
InteractiveInkFeature? _currentSplash;
|
InteractiveInkFeature? _currentSplash;
|
||||||
bool _hovering = false;
|
bool _hovering = false;
|
||||||
|
@ -578,6 +575,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
widget.parentState?.markChildInkResponsePressed(this, nowAnyPressed);
|
widget.parentState?.markChildInkResponsePressed(this, nowAnyPressed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get _anyChildInkResponsePressed => _activeChildren.isNotEmpty;
|
bool get _anyChildInkResponsePressed => _activeChildren.isNotEmpty;
|
||||||
|
|
||||||
void activateOnIntent(Intent? intent) {
|
void activateOnIntent(Intent? intent) {
|
||||||
|
@ -611,7 +609,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
|
|
||||||
void handleStatesControllerChange() {
|
void handleStatesControllerChange() {
|
||||||
// Force a rebuild to resolve widget.overlayColor, widget.mouseCursor
|
// Force a rebuild to resolve widget.overlayColor, widget.mouseCursor
|
||||||
setState(() { });
|
setState(() {});
|
||||||
}
|
}
|
||||||
|
|
||||||
WidgetStatesController get statesController => widget.statesController ?? internalStatesController!;
|
WidgetStatesController get statesController => widget.statesController ?? internalStatesController!;
|
||||||
|
@ -642,9 +640,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
}
|
}
|
||||||
initStatesController();
|
initStatesController();
|
||||||
}
|
}
|
||||||
if (widget.radius != oldWidget.radius ||
|
if (widget.radius != oldWidget.radius || widget.highlightShape != oldWidget.highlightShape || widget.borderRadius != oldWidget.borderRadius) {
|
||||||
widget.highlightShape != oldWidget.highlightShape ||
|
|
||||||
widget.borderRadius != oldWidget.borderRadius) {
|
|
||||||
final InkHighlight? hoverHighlight = _highlights[_HighlightType.hover];
|
final InkHighlight? hoverHighlight = _highlights[_HighlightType.hover];
|
||||||
if (hoverHighlight != null) {
|
if (hoverHighlight != null) {
|
||||||
hoverHighlight.dispose();
|
hoverHighlight.dispose();
|
||||||
|
@ -701,7 +697,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateHighlight(_HighlightType type, { required bool value, bool callOnHover = true }) {
|
void updateHighlight(_HighlightType type, {required bool value, bool callOnHover = true}) {
|
||||||
final InkHighlight? highlight = _highlights[type];
|
final InkHighlight? highlight = _highlights[type];
|
||||||
void handleInkRemoval() {
|
void handleInkRemoval() {
|
||||||
assert(_highlights[type] != null);
|
assert(_highlights[type] != null);
|
||||||
|
@ -717,7 +713,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
statesController.update(WidgetState.hovered, value);
|
statesController.update(WidgetState.hovered, value);
|
||||||
}
|
}
|
||||||
case _HighlightType.focus:
|
case _HighlightType.focus:
|
||||||
// see handleFocusUpdate()
|
// see handleFocusUpdate()
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -730,9 +726,9 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
|
|
||||||
if (value) {
|
if (value) {
|
||||||
if (highlight == null) {
|
if (highlight == null) {
|
||||||
final Color resolvedOverlayColor = widget.overlayColor?.resolve(statesController.value)
|
final Color resolvedOverlayColor = widget.overlayColor?.resolve(statesController.value) ??
|
||||||
?? switch (type) {
|
switch (type) {
|
||||||
// Use the backwards compatible defaults
|
// Use the backwards compatible defaults
|
||||||
_HighlightType.pressed => widget.highlightColor ?? Theme.of(context).highlightColor,
|
_HighlightType.pressed => widget.highlightColor ?? Theme.of(context).highlightColor,
|
||||||
_HighlightType.focus => widget.focusColor ?? Theme.of(context).focusColor,
|
_HighlightType.focus => widget.focusColor ?? Theme.of(context).focusColor,
|
||||||
_HighlightType.hover => widget.hoverColor ?? Theme.of(context).hoverColor,
|
_HighlightType.hover => widget.hoverColor ?? Theme.of(context).hoverColor,
|
||||||
|
@ -789,7 +785,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
final MaterialInkController inkController = Material.of(context);
|
final MaterialInkController inkController = Material.of(context);
|
||||||
final RenderBox referenceBox = context.findRenderObject()! as RenderBox;
|
final RenderBox referenceBox = context.findRenderObject()! as RenderBox;
|
||||||
final Offset position = referenceBox.globalToLocal(globalPosition);
|
final Offset position = referenceBox.globalToLocal(globalPosition);
|
||||||
final Color color = widget.overlayColor?.resolve(statesController.value) ?? widget.splashColor ?? Theme.of(context).splashColor;
|
final Color color = widget.overlayColor?.resolve(statesController.value) ?? widget.splashColor ?? Theme.of(context).splashColor;
|
||||||
final RectCallback? rectCallback = widget.containedInkWell ? widget.getRectCallback!(referenceBox) : null;
|
final RectCallback? rectCallback = widget.containedInkWell ? widget.getRectCallback!(referenceBox) : null;
|
||||||
final BorderRadius? borderRadius = widget.borderRadius;
|
final BorderRadius? borderRadius = widget.borderRadius;
|
||||||
final ShapeBorder? customBorder = widget.customBorder;
|
final ShapeBorder? customBorder = widget.customBorder;
|
||||||
|
@ -846,6 +842,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _hasFocus = false;
|
bool _hasFocus = false;
|
||||||
|
|
||||||
void handleFocusUpdate(bool hasFocus) {
|
void handleFocusUpdate(bool hasFocus) {
|
||||||
_hasFocus = hasFocus;
|
_hasFocus = hasFocus;
|
||||||
// Set here rather than updateHighlight because this widget's
|
// Set here rather than updateHighlight because this widget's
|
||||||
|
@ -978,21 +975,17 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _primaryButtonEnabled(_InkResponseStateWidget widget) {
|
bool _primaryButtonEnabled(_InkResponseStateWidget widget) {
|
||||||
return widget.onTap != null
|
return widget.onTap != null || widget.onDoubleTap != null || widget.onLongPress != null || widget.onTapUp != null || widget.onTapDown != null;
|
||||||
|| widget.onDoubleTap != null
|
|
||||||
|| widget.onLongPress != null
|
|
||||||
|| widget.onTapUp != null
|
|
||||||
|| widget.onTapDown != null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _secondaryButtonEnabled(_InkResponseStateWidget widget) {
|
bool _secondaryButtonEnabled(_InkResponseStateWidget widget) {
|
||||||
return widget.onSecondaryTap != null
|
return widget.onSecondaryTap != null || widget.onSecondaryTapUp != null || widget.onSecondaryTapDown != null;
|
||||||
|| widget.onSecondaryTapUp != null
|
|
||||||
|| widget.onSecondaryTapDown != null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get enabled => isWidgetEnabled(widget);
|
bool get enabled => isWidgetEnabled(widget);
|
||||||
|
|
||||||
bool get _primaryEnabled => _primaryButtonEnabled(widget);
|
bool get _primaryEnabled => _primaryButtonEnabled(widget);
|
||||||
|
|
||||||
bool get _secondaryEnabled => _secondaryButtonEnabled(widget);
|
bool get _secondaryEnabled => _secondaryButtonEnabled(widget);
|
||||||
|
|
||||||
void handleMouseEnter(PointerEnterEvent event) {
|
void handleMouseEnter(PointerEnterEvent event) {
|
||||||
|
@ -1032,14 +1025,15 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
|
|
||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
return switch (type) {
|
return switch (type) {
|
||||||
// The pressed state triggers a ripple (ink splash), per the current
|
// The pressed state triggers a ripple (ink splash), per the current
|
||||||
// Material Design spec. A separate highlight is no longer used.
|
// Material Design spec. A separate highlight is no longer used.
|
||||||
// See https://material.io/design/interaction/states.html#pressed
|
// See https://material.io/design/interaction/states.html#pressed
|
||||||
_HighlightType.pressed => widget.overlayColor?.resolve(pressed) ?? widget.highlightColor ?? theme.highlightColor,
|
_HighlightType.pressed => widget.overlayColor?.resolve(pressed) ?? widget.highlightColor ?? theme.highlightColor,
|
||||||
_HighlightType.focus => widget.overlayColor?.resolve(focused) ?? widget.focusColor ?? theme.focusColor,
|
_HighlightType.focus => widget.overlayColor?.resolve(focused) ?? widget.focusColor ?? theme.focusColor,
|
||||||
_HighlightType.hover => widget.overlayColor?.resolve(hovered) ?? widget.hoverColor ?? theme.hoverColor,
|
_HighlightType.hover => widget.overlayColor?.resolve(hovered) ?? widget.hoverColor ?? theme.hoverColor,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
for (final _HighlightType type in _highlights.keys) {
|
for (final _HighlightType type in _highlights.keys) {
|
||||||
_highlights[type]?.color = getHighlightColorForType(type);
|
_highlights[type]?.color = getHighlightColorForType(type);
|
||||||
}
|
}
|
||||||
|
@ -1077,7 +1071,7 @@ class _InkResponseState extends State<_InkResponseStateWidget>
|
||||||
onDoubleTap: widget.onDoubleTap != null ? handleDoubleTap : null,
|
onDoubleTap: widget.onDoubleTap != null ? handleDoubleTap : null,
|
||||||
onLongPress: widget.onLongPress != null ? handleLongPress : null,
|
onLongPress: widget.onLongPress != null ? handleLongPress : null,
|
||||||
onSecondaryTapDown: _secondaryEnabled ? handleSecondaryTapDown : null,
|
onSecondaryTapDown: _secondaryEnabled ? handleSecondaryTapDown : null,
|
||||||
onSecondaryTapUp: _secondaryEnabled ? handleSecondaryTapUp: null,
|
onSecondaryTapUp: _secondaryEnabled ? handleSecondaryTapUp : null,
|
||||||
onSecondaryTap: _secondaryEnabled ? handleSecondaryTap : null,
|
onSecondaryTap: _secondaryEnabled ? handleSecondaryTap : null,
|
||||||
onSecondaryTapCancel: _secondaryEnabled ? handleSecondaryTapCancel : null,
|
onSecondaryTapCancel: _secondaryEnabled ? handleSecondaryTapCancel : null,
|
||||||
behavior: HitTestBehavior.opaque,
|
behavior: HitTestBehavior.opaque,
|
||||||
|
|
|
@ -71,7 +71,7 @@ class _RenderSliverKnownExtentBoxAdaptor extends RenderSliverMultiBoxAdaptor {
|
||||||
_RenderSliverKnownExtentBoxAdaptor({
|
_RenderSliverKnownExtentBoxAdaptor({
|
||||||
required super.childManager,
|
required super.childManager,
|
||||||
required List<SectionLayout> sectionLayouts,
|
required List<SectionLayout> sectionLayouts,
|
||||||
}) : _sectionLayouts = sectionLayouts;
|
}) : _sectionLayouts = sectionLayouts;
|
||||||
|
|
||||||
SectionLayout? sectionAtIndex(int index) => sectionLayouts.firstWhereOrNull((section) => section.hasChild(index));
|
SectionLayout? sectionAtIndex(int index) => sectionLayouts.firstWhereOrNull((section) => section.hasChild(index));
|
||||||
|
|
||||||
|
|
|
@ -43,10 +43,12 @@ abstract class AvesSearchDelegate extends SearchDelegate {
|
||||||
final animate = context.read<Settings>().animate;
|
final animate = context.read<Settings>().animate;
|
||||||
return canPop
|
return canPop
|
||||||
? IconButton(
|
? IconButton(
|
||||||
icon: animate ? AnimatedIcon(
|
icon: animate
|
||||||
icon: AnimatedIcons.menu_arrow,
|
? AnimatedIcon(
|
||||||
progress: transitionAnimation,
|
icon: AnimatedIcons.menu_arrow,
|
||||||
): const Icon(Icons.arrow_back),
|
progress: transitionAnimation,
|
||||||
|
)
|
||||||
|
: const Icon(Icons.arrow_back),
|
||||||
onPressed: () => goBack(context),
|
onPressed: () => goBack(context),
|
||||||
tooltip: MaterialLocalizations.of(context).backButtonTooltip,
|
tooltip: MaterialLocalizations.of(context).backButtonTooltip,
|
||||||
)
|
)
|
||||||
|
|
|
@ -118,7 +118,7 @@ class _ImageEditorPageState extends State<ImageEditorPage> {
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onActionChanged() {
|
void _onActionChanged() {
|
||||||
switch(_actionNotifier.value) {
|
switch (_actionNotifier.value) {
|
||||||
case EditorAction.transform:
|
case EditorAction.transform:
|
||||||
_transformController.reset();
|
_transformController.reset();
|
||||||
_marginNotifier.value = Cropper.imageMargin;
|
_marginNotifier.value = Cropper.imageMargin;
|
||||||
|
|
|
@ -82,8 +82,8 @@ class SettingsTileLanguageNumerals extends SettingsTile {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) => SettingsSwitchListTile(
|
Widget build(BuildContext context) => SettingsSwitchListTile(
|
||||||
selector: (context, s) => s.forceWesternArabicNumerals,
|
selector: (context, s) => s.forceWesternArabicNumerals,
|
||||||
onChanged: (v) => settings.forceWesternArabicNumerals = v,
|
onChanged: (v) => settings.forceWesternArabicNumerals = v,
|
||||||
title: title(context),
|
title: title(context),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue