From da26ccdc873c27be06515516fb4a9fb13f4003df Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Thu, 3 Sep 2020 20:45:17 +0900 Subject: [PATCH] changed settings dir structure --- lib/main.dart | 2 +- lib/model/settings/coordinate_format.dart | 28 +++++++++++ lib/model/settings/home_page.dart | 28 +++++++++++ lib/model/{ => settings}/settings.dart | 47 ++----------------- lib/model/source/collection_lens.dart | 2 +- lib/widgets/album/app_bar.dart | 2 +- .../album/grid/tile_extent_manager.dart | 2 +- lib/widgets/album/thumbnail/vector.dart | 2 +- .../media_store_collection_provider.dart | 2 +- .../data_providers/settings_provider.dart | 2 +- lib/widgets/common/double_back_pop.dart | 2 +- lib/widgets/debug_page.dart | 2 +- lib/widgets/drawer/collection_tile.dart | 2 +- lib/widgets/filter_grids/albums_page.dart | 2 +- .../filter_grids/filter_grid_page.dart | 2 +- lib/widgets/fullscreen/image_view.dart | 2 +- .../fullscreen/info/location_section.dart | 3 +- lib/widgets/fullscreen/info/maps/common.dart | 2 +- .../fullscreen/info/maps/google_map.dart | 2 +- .../fullscreen/info/maps/leaflet_map.dart | 2 +- lib/widgets/fullscreen/overlay/bottom.dart | 3 +- lib/widgets/home_page.dart | 3 +- lib/widgets/settings/settings_page.dart | 4 +- lib/widgets/settings/svg_background.dart | 2 +- lib/widgets/welcome_page.dart | 2 +- 25 files changed, 86 insertions(+), 66 deletions(-) create mode 100644 lib/model/settings/coordinate_format.dart create mode 100644 lib/model/settings/home_page.dart rename lib/model/{ => settings}/settings.dart (83%) diff --git a/lib/main.dart b/lib/main.dart index ed07ea752..ed627f0e8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/data_providers/settings_provider.dart'; import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/home_page.dart'; diff --git a/lib/model/settings/coordinate_format.dart b/lib/model/settings/coordinate_format.dart new file mode 100644 index 000000000..be88e0ca1 --- /dev/null +++ b/lib/model/settings/coordinate_format.dart @@ -0,0 +1,28 @@ +import 'package:aves/utils/geo_utils.dart'; +import 'package:tuple/tuple.dart'; + +enum CoordinateFormat { dms, decimal } + +extension ExtraCoordinateFormat on CoordinateFormat { + String get name { + switch (this) { + case CoordinateFormat.dms: + return 'DMS'; + case CoordinateFormat.decimal: + return 'Decimal degrees'; + default: + return toString(); + } + } + + String format(Tuple2 latLng) { + switch (this) { + case CoordinateFormat.dms: + return toDMS(latLng).join(', '); + case CoordinateFormat.decimal: + return [latLng.item1, latLng.item2].map((n) => n.toStringAsFixed(6)).join(', '); + default: + return toString(); + } + } +} diff --git a/lib/model/settings/home_page.dart b/lib/model/settings/home_page.dart new file mode 100644 index 000000000..9cb131bbf --- /dev/null +++ b/lib/model/settings/home_page.dart @@ -0,0 +1,28 @@ +import 'package:aves/widgets/album/collection_page.dart'; +import 'package:aves/widgets/filter_grids/albums_page.dart'; + +enum HomePageSetting { collection, albums } + +extension ExtraHomePageSetting on HomePageSetting { + String get name { + switch (this) { + case HomePageSetting.collection: + return 'Collection'; + case HomePageSetting.albums: + return 'Albums'; + default: + return toString(); + } + } + + String get routeName { + switch (this) { + case HomePageSetting.collection: + return CollectionPage.routeName; + case HomePageSetting.albums: + return AlbumListPage.routeName; + default: + return toString(); + } + } +} diff --git a/lib/model/settings.dart b/lib/model/settings/settings.dart similarity index 83% rename from lib/model/settings.dart rename to lib/model/settings/settings.dart index d5c644a51..c0eff5b5c 100644 --- a/lib/model/settings.dart +++ b/lib/model/settings/settings.dart @@ -1,11 +1,11 @@ -import 'package:aves/utils/geo_utils.dart'; +import 'package:aves/model/settings/coordinate_format.dart'; +import 'package:aves/model/settings/home_page.dart'; import 'package:aves/widgets/fullscreen/info/location_section.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/widgets.dart'; import 'package:shared_preferences/shared_preferences.dart'; -import 'package:tuple/tuple.dart'; -import 'source/enums.dart'; +import '../source/enums.dart'; final Settings settings = Settings._private(); @@ -148,44 +148,3 @@ class Settings extends ChangeNotifier { } } } - -enum HomePageSetting { collection, albums } - -extension ExtraHomePageSetting on HomePageSetting { - String get name { - switch (this) { - case HomePageSetting.collection: - return 'Collection'; - case HomePageSetting.albums: - return 'Albums'; - default: - return toString(); - } - } -} - -enum CoordinateFormat { dms, decimal } - -extension ExtraCoordinateFormat on CoordinateFormat { - String get name { - switch (this) { - case CoordinateFormat.dms: - return 'DMS'; - case CoordinateFormat.decimal: - return 'Decimal degrees'; - default: - return toString(); - } - } - - String format(Tuple2 latLng) { - switch (this) { - case CoordinateFormat.dms: - return toDMS(latLng).join(', '); - case CoordinateFormat.decimal: - return [latLng.item1, latLng.item2].map((n) => n.toStringAsFixed(6)).join(', '); - default: - return toString(); - } - } -} diff --git a/lib/model/source/collection_lens.dart b/lib/model/source/collection_lens.dart index 0b0849833..85361c504 100644 --- a/lib/model/source/collection_lens.dart +++ b/lib/model/source/collection_lens.dart @@ -4,7 +4,7 @@ import 'dart:collection'; import 'package:aves/model/filters/album.dart'; import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/tag.dart'; import 'package:aves/utils/android_file_utils.dart'; diff --git a/lib/widgets/album/app_bar.dart b/lib/widgets/album/app_bar.dart index f55698bef..9c9aa5d88 100644 --- a/lib/widgets/album/app_bar.dart +++ b/lib/widgets/album/app_bar.dart @@ -1,7 +1,7 @@ import 'dart:async'; import 'package:aves/main.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/enums.dart'; import 'package:aves/utils/durations.dart'; diff --git a/lib/widgets/album/grid/tile_extent_manager.dart b/lib/widgets/album/grid/tile_extent_manager.dart index ff85ac095..5b920bde9 100644 --- a/lib/widgets/album/grid/tile_extent_manager.dart +++ b/lib/widgets/album/grid/tile_extent_manager.dart @@ -1,6 +1,6 @@ import 'dart:math'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:flutter/widgets.dart'; class TileExtentManager { diff --git a/lib/widgets/album/thumbnail/vector.dart b/lib/widgets/album/thumbnail/vector.dart index 47a658fb2..58f71609d 100644 --- a/lib/widgets/album/thumbnail/vector.dart +++ b/lib/widgets/album/thumbnail/vector.dart @@ -1,5 +1,5 @@ import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/image_providers/uri_picture_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; diff --git a/lib/widgets/common/data_providers/media_store_collection_provider.dart b/lib/widgets/common/data_providers/media_store_collection_provider.dart index a2ecb86e1..46188e218 100644 --- a/lib/widgets/common/data_providers/media_store_collection_provider.dart +++ b/lib/widgets/common/data_providers/media_store_collection_provider.dart @@ -3,7 +3,7 @@ import 'dart:math'; import 'package:aves/model/favourite_repo.dart'; import 'package:aves/model/image_entry.dart'; import 'package:aves/model/metadata_db.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/services/image_file_service.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widgets/common/data_providers/settings_provider.dart b/lib/widgets/common/data_providers/settings_provider.dart index f5295c26c..a47b5329b 100644 --- a/lib/widgets/common/data_providers/settings_provider.dart +++ b/lib/widgets/common/data_providers/settings_provider.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:flutter/widgets.dart'; import 'package:provider/provider.dart'; diff --git a/lib/widgets/common/double_back_pop.dart b/lib/widgets/common/double_back_pop.dart index 583a9563f..b24b75834 100644 --- a/lib/widgets/common/double_back_pop.dart +++ b/lib/widgets/common/double_back_pop.dart @@ -1,6 +1,6 @@ import 'dart:async'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/utils/durations.dart'; import 'package:aves/widgets/common/action_delegates/feedback.dart'; import 'package:flutter/foundation.dart'; diff --git a/lib/widgets/debug_page.dart b/lib/widgets/debug_page.dart index e770d2cf8..575fa727a 100644 --- a/lib/widgets/debug_page.dart +++ b/lib/widgets/debug_page.dart @@ -4,7 +4,7 @@ import 'package:aves/model/favourite_repo.dart'; import 'package:aves/model/image_entry.dart'; import 'package:aves/model/image_metadata.dart'; import 'package:aves/model/metadata_db.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/services/android_app_service.dart'; import 'package:aves/services/image_file_service.dart'; diff --git a/lib/widgets/drawer/collection_tile.dart b/lib/widgets/drawer/collection_tile.dart index cd9d739cb..89f7c9429 100644 --- a/lib/widgets/drawer/collection_tile.dart +++ b/lib/widgets/drawer/collection_tile.dart @@ -1,5 +1,5 @@ import 'package:aves/model/filters/filters.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/widgets/album/collection_page.dart'; diff --git a/lib/widgets/filter_grids/albums_page.dart b/lib/widgets/filter_grids/albums_page.dart index 0c6cd486e..c2b3d34b8 100644 --- a/lib/widgets/filter_grids/albums_page.dart +++ b/lib/widgets/filter_grids/albums_page.dart @@ -1,6 +1,6 @@ import 'package:aves/model/filters/album.dart'; import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/album.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/model/source/enums.dart'; diff --git a/lib/widgets/filter_grids/filter_grid_page.dart b/lib/widgets/filter_grids/filter_grid_page.dart index c526562dc..a64e4d7fb 100644 --- a/lib/widgets/filter_grids/filter_grid_page.dart +++ b/lib/widgets/filter_grids/filter_grid_page.dart @@ -2,7 +2,7 @@ import 'dart:ui'; import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/model/source/collection_source.dart'; import 'package:aves/utils/durations.dart'; diff --git a/lib/widgets/fullscreen/image_view.dart b/lib/widgets/fullscreen/image_view.dart index eef223a91..15b94d533 100644 --- a/lib/widgets/fullscreen/image_view.dart +++ b/lib/widgets/fullscreen/image_view.dart @@ -1,5 +1,5 @@ import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/album/empty.dart'; import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/common/image_providers/thumbnail_provider.dart'; diff --git a/lib/widgets/fullscreen/info/location_section.dart b/lib/widgets/fullscreen/info/location_section.dart index d1cc15d2f..70ce9abf6 100644 --- a/lib/widgets/fullscreen/info/location_section.dart +++ b/lib/widgets/fullscreen/info/location_section.dart @@ -1,6 +1,7 @@ import 'package:aves/model/filters/location.dart'; import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/coordinate_format.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/widgets/common/aves_filter_chip.dart'; import 'package:aves/widgets/common/icons.dart'; diff --git a/lib/widgets/fullscreen/info/maps/common.dart b/lib/widgets/fullscreen/info/maps/common.dart index 7cbb51131..a1e24be9e 100644 --- a/lib/widgets/fullscreen/info/maps/common.dart +++ b/lib/widgets/fullscreen/info/maps/common.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/services/android_app_service.dart'; import 'package:aves/widgets/common/aves_selection_dialog.dart'; import 'package:aves/widgets/common/borders.dart'; diff --git a/lib/widgets/fullscreen/info/maps/google_map.dart b/lib/widgets/fullscreen/info/maps/google_map.dart index 6b83f0362..1480e1085 100644 --- a/lib/widgets/fullscreen/info/maps/google_map.dart +++ b/lib/widgets/fullscreen/info/maps/google_map.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/fullscreen/info/location_section.dart'; import 'package:aves/widgets/fullscreen/info/maps/common.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widgets/fullscreen/info/maps/leaflet_map.dart b/lib/widgets/fullscreen/info/maps/leaflet_map.dart index 2a06df8dc..570a71511 100644 --- a/lib/widgets/fullscreen/info/maps/leaflet_map.dart +++ b/lib/widgets/fullscreen/info/maps/leaflet_map.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/fullscreen/info/maps/common.dart'; import 'package:aves/widgets/fullscreen/info/maps/scale_layer.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widgets/fullscreen/overlay/bottom.dart b/lib/widgets/fullscreen/overlay/bottom.dart index 506385831..51933c597 100644 --- a/lib/widgets/fullscreen/overlay/bottom.dart +++ b/lib/widgets/fullscreen/overlay/bottom.dart @@ -3,7 +3,8 @@ import 'dart:ui'; import 'package:aves/model/image_entry.dart'; import 'package:aves/model/image_metadata.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/coordinate_format.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/services/metadata_service.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/common/fx/blurred.dart'; diff --git a/lib/widgets/home_page.dart b/lib/widgets/home_page.dart index f80382a47..a2181ee51 100644 --- a/lib/widgets/home_page.dart +++ b/lib/widgets/home_page.dart @@ -1,6 +1,7 @@ import 'package:aves/main.dart'; import 'package:aves/model/image_entry.dart'; -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/home_page.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/model/source/collection_lens.dart'; import 'package:aves/services/image_file_service.dart'; import 'package:aves/services/viewer_service.dart'; diff --git a/lib/widgets/settings/settings_page.dart b/lib/widgets/settings/settings_page.dart index 4962b7ff0..0bd009cac 100644 --- a/lib/widgets/settings/settings_page.dart +++ b/lib/widgets/settings/settings_page.dart @@ -1,4 +1,6 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/coordinate_format.dart'; +import 'package:aves/model/settings/home_page.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/aves_selection_dialog.dart'; import 'package:aves/widgets/common/data_providers/media_query_data_provider.dart'; import 'package:aves/widgets/common/highlight_title.dart'; diff --git a/lib/widgets/settings/svg_background.dart b/lib/widgets/settings/svg_background.dart index fc2497b3d..b022a2671 100644 --- a/lib/widgets/settings/svg_background.dart +++ b/lib/widgets/settings/svg_background.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/widgets/common/borders.dart'; import 'package:flutter/material.dart'; diff --git a/lib/widgets/welcome_page.dart b/lib/widgets/welcome_page.dart index 4dcdb23f9..e719d7909 100644 --- a/lib/widgets/welcome_page.dart +++ b/lib/widgets/welcome_page.dart @@ -1,4 +1,4 @@ -import 'package:aves/model/settings.dart'; +import 'package:aves/model/settings/settings.dart'; import 'package:aves/utils/durations.dart'; import 'package:aves/widgets/common/aves_logo.dart'; import 'package:aves/widgets/common/labeled_checkbox.dart';