From e578caa4d523b9202cee743500a3b4e2941061c7 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Tue, 13 Oct 2020 23:05:25 +0900 Subject: [PATCH] minor fixes --- lib/model/settings/settings.dart | 8 +++++--- lib/widgets/stats/stats.dart | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/model/settings/settings.dart b/lib/model/settings/settings.dart index b4fd396da..846d3206a 100644 --- a/lib/model/settings/settings.dart +++ b/lib/model/settings/settings.dart @@ -110,7 +110,9 @@ class Settings extends ChangeNotifier { double get collectionTileExtent => _prefs.getDouble(collectionTileExtentKey) ?? 0; - set collectionTileExtent(double newValue) => setAndNotify(collectionTileExtentKey, newValue); + // do not notify, as `collectionTileExtent` is only used internally by `TileExtentManager` + // and should not trigger rebuilding by change notification + set collectionTileExtent(double newValue) => setAndNotify(collectionTileExtentKey, newValue, notify: false); bool get showThumbnailLocation => getBoolOrDefault(showThumbnailLocationKey, true); @@ -189,7 +191,7 @@ class Settings extends ChangeNotifier { return _prefs.getStringList(key)?.map((s) => values.firstWhere((el) => el.toString() == s, orElse: () => null))?.where((el) => el != null)?.toList() ?? defaultValue; } - void setAndNotify(String key, dynamic newValue) { + void setAndNotify(String key, dynamic newValue, {bool notify = true}) { var oldValue = _prefs.get(key); if (newValue == null) { _prefs.remove(key); @@ -209,7 +211,7 @@ class Settings extends ChangeNotifier { oldValue = _prefs.getBool(key); _prefs.setBool(key, newValue); } - if (oldValue != newValue) { + if (oldValue != newValue && notify) { notifyListeners(); } } diff --git a/lib/widgets/stats/stats.dart b/lib/widgets/stats/stats.dart index 3ac7bcf85..f2a7dbaa3 100644 --- a/lib/widgets/stats/stats.dart +++ b/lib/widgets/stats/stats.dart @@ -64,6 +64,7 @@ class StatsPage extends StatelessWidget { final videoByMimeTypes = Map.fromEntries(byMimeTypes.entries.where((kv) => kv.key.startsWith('video/'))); final mimeDonuts = Wrap( alignment: WrapAlignment.center, + crossAxisAlignment: WrapCrossAlignment.center, children: [ _buildMimeDonut(context, (sum) => Intl.plural(sum, one: 'image', other: 'images'), imagesByMimeTypes), _buildMimeDonut(context, (sum) => Intl.plural(sum, one: 'video', other: 'videos'), videoByMimeTypes),