From 20acac10eda3e1f896c21683e3f2a3db1baf5392 Mon Sep 17 00:00:00 2001 From: Thibault Deckers Date: Mon, 11 May 2020 10:53:48 +0900 Subject: [PATCH] gathered more icons --- lib/main.dart | 4 +-- lib/model/filters/mime.dart | 3 +- lib/model/filters/query.dart | 4 +-- lib/widgets/album/app_bar.dart | 8 ++--- lib/widgets/album/collection_drawer.dart | 3 +- lib/widgets/album/empty.dart | 4 +-- .../album/search/expandable_filter_row.dart | 4 +-- lib/widgets/common/aves_filter_chip.dart | 4 +-- lib/widgets/common/entry_actions.dart | 7 ++--- lib/widgets/common/icons.dart | 29 ++++++++++++++++--- lib/widgets/common/menu_row.dart | 4 +-- lib/widgets/fullscreen/image_view.dart | 4 +-- lib/widgets/fullscreen/info/info_page.dart | 4 +-- .../fullscreen/info/metadata_section.dart | 4 +-- lib/widgets/stats/stats.dart | 2 +- 15 files changed, 53 insertions(+), 35 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index acf7b52af..2c0b2ea48 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -5,10 +5,10 @@ import 'package:aves/services/viewer_service.dart'; import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/widgets/album/collection_page.dart'; import 'package:aves/widgets/common/data_providers/media_store_collection_provider.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/fullscreen/fullscreen_page.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; import 'package:pedantic/pedantic.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:screen/screen.dart'; @@ -100,7 +100,7 @@ class _HomePageState extends State { return FutureBuilder( future: _appSetup, builder: (context, AsyncSnapshot snapshot) { - if (snapshot.hasError) return const Icon(OMIcons.error); + if (snapshot.hasError) return const Icon(AIcons.error); if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink(); debugPrint('$runtimeType app setup future complete'); if (_sharedEntry != null) { diff --git a/lib/model/filters/mime.dart b/lib/model/filters/mime.dart index a113c0986..234e34282 100644 --- a/lib/model/filters/mime.dart +++ b/lib/model/filters/mime.dart @@ -3,7 +3,6 @@ import 'package:aves/model/image_entry.dart'; import 'package:aves/model/mime_types.dart'; import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/widgets.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class MimeFilter extends CollectionFilter { static const type = 'mime'; @@ -40,7 +39,7 @@ class MimeFilter extends CollectionFilter { } _label ??= lowMime.split('/')[1].toUpperCase(); } - _icon ??= OMIcons.code; + _icon ??= AIcons.vector; } @override diff --git a/lib/model/filters/query.dart b/lib/model/filters/query.dart index 11a1ab9e4..04bb864ee 100644 --- a/lib/model/filters/query.dart +++ b/lib/model/filters/query.dart @@ -1,7 +1,7 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/image_entry.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/widgets.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class QueryFilter extends CollectionFilter { static const type = 'query'; @@ -39,7 +39,7 @@ class QueryFilter extends CollectionFilter { String get label => '${query}'; @override - Widget iconBuilder(context, size) => Icon(OMIcons.formatQuote, size: size); + Widget iconBuilder(context, size) => Icon(AIcons.text, size: size); @override String get typeKey => type; diff --git a/lib/widgets/album/app_bar.dart b/lib/widgets/album/app_bar.dart index 1640f6855..bc17598cc 100644 --- a/lib/widgets/album/app_bar.dart +++ b/lib/widgets/album/app_bar.dart @@ -7,12 +7,12 @@ import 'package:aves/widgets/album/filter_bar.dart'; import 'package:aves/widgets/album/search/search_delegate.dart'; import 'package:aves/widgets/common/action_delegates/selection_action_delegate.dart'; import 'package:aves/widgets/common/entry_actions.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/common/menu_row.dart'; import 'package:aves/widgets/stats/stats.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:intl/intl.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; import 'package:pedantic/pedantic.dart'; class CollectionAppBar extends StatefulWidget { @@ -149,7 +149,7 @@ class _CollectionAppBarState extends State with SingleTickerPr return [ if (collection.isBrowsing) IconButton( - icon: const Icon(OMIcons.search), + icon: const Icon(AIcons.search), onPressed: _goToSearch, ), if (collection.isSelecting) @@ -171,11 +171,11 @@ class _CollectionAppBarState extends State with SingleTickerPr if (collection.isBrowsing) ...[ const PopupMenuItem( value: CollectionAction.select, - child: MenuRow(text: 'Select', icon: OMIcons.selectAll), + child: MenuRow(text: 'Select', icon: AIcons.select), ), const PopupMenuItem( value: CollectionAction.stats, - child: MenuRow(text: 'Stats', icon: OMIcons.pieChart), + child: MenuRow(text: 'Stats', icon: AIcons.stats), ), ], if (collection.isSelecting) ...[ diff --git a/lib/widgets/album/collection_drawer.dart b/lib/widgets/album/collection_drawer.dart index 70a9ba839..654ee80cf 100644 --- a/lib/widgets/album/collection_drawer.dart +++ b/lib/widgets/album/collection_drawer.dart @@ -18,7 +18,6 @@ import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/debug_page.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; import 'package:provider/provider.dart'; class CollectionDrawer extends StatefulWidget { @@ -275,7 +274,7 @@ class _CollectionDrawerState extends State { top: false, bottom: false, child: ListTile( - leading: const Icon(OMIcons.whatshot), + leading: const Icon(AIcons.debug), title: const Text('Debug'), onTap: () => _goToDebug(context), ), diff --git a/lib/widgets/album/empty.dart b/lib/widgets/album/empty.dart index 58568a2b2..dfc3ad805 100644 --- a/lib/widgets/album/empty.dart +++ b/lib/widgets/album/empty.dart @@ -1,5 +1,5 @@ +import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class EmptyContent extends StatelessWidget { final IconData icon; @@ -7,7 +7,7 @@ class EmptyContent extends StatelessWidget { final AlignmentGeometry alignment; const EmptyContent({ - this.icon = OMIcons.photo, + this.icon = AIcons.image, this.text = 'Nothing!', this.alignment = const FractionalOffset(.5, .35), }); diff --git a/lib/widgets/album/search/expandable_filter_row.dart b/lib/widgets/album/search/expandable_filter_row.dart index 1dfbb7758..68f5d004f 100644 --- a/lib/widgets/album/search/expandable_filter_row.dart +++ b/lib/widgets/album/search/expandable_filter_row.dart @@ -1,8 +1,8 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/utils/constants.dart'; import 'package:aves/widgets/common/aves_filter_chip.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class ExpandableFilterRow extends StatelessWidget { final String title; @@ -37,7 +37,7 @@ class ExpandableFilterRow extends StatelessWidget { ), const Spacer(), IconButton( - icon: Icon(isExpanded ? OMIcons.expandLess : OMIcons.expandMore), + icon: Icon(isExpanded ? AIcons.collapse : AIcons.expand), onPressed: () => expandedNotifier.value = isExpanded ? null : title, ), ], diff --git a/lib/widgets/common/aves_filter_chip.dart b/lib/widgets/common/aves_filter_chip.dart index e6ab0cd29..2d8712bdd 100644 --- a/lib/widgets/common/aves_filter_chip.dart +++ b/lib/widgets/common/aves_filter_chip.dart @@ -1,6 +1,6 @@ import 'package:aves/model/filters/filters.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; typedef FilterCallback = void Function(CollectionFilter filter); @@ -49,7 +49,7 @@ class _AvesFilterChipState extends State { @override Widget build(BuildContext context) { final leading = filter.iconBuilder(context, AvesFilterChip.iconSize); - final trailing = widget.removable ? const Icon(OMIcons.clear, size: AvesFilterChip.iconSize) : null; + final trailing = widget.removable ? const Icon(AIcons.clear, size: AvesFilterChip.iconSize) : null; final child = Row( mainAxisSize: MainAxisSize.min, diff --git a/lib/widgets/common/entry_actions.dart b/lib/widgets/common/entry_actions.dart index 28b0409c1..2e9e93a67 100644 --- a/lib/widgets/common/entry_actions.dart +++ b/lib/widgets/common/entry_actions.dart @@ -1,6 +1,5 @@ import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; enum EntryAction { delete, edit, info, open, openMap, print, rename, rotateCCW, rotateCW, setAs, share, toggleFavourite, debug } @@ -74,9 +73,9 @@ extension ExtraEntryAction on EntryAction { case EntryAction.delete: return AIcons.delete; case EntryAction.info: - return OMIcons.info; + return AIcons.info; case EntryAction.rename: - return OMIcons.title; + return AIcons.rename; case EntryAction.rotateCCW: return AIcons.rotateLeft; case EntryAction.rotateCW: @@ -92,7 +91,7 @@ extension ExtraEntryAction on EntryAction { case EntryAction.openMap: return null; case EntryAction.debug: - return OMIcons.whatshot; + return AIcons.debug; } return null; } diff --git a/lib/widgets/common/icons.dart b/lib/widgets/common/icons.dart index d9fad7bfa..333911568 100644 --- a/lib/widgets/common/icons.dart +++ b/lib/widgets/common/icons.dart @@ -10,26 +10,47 @@ class AIcons { static const IconData allMedia = OMIcons.collections; static const IconData image = OMIcons.photo; static const IconData video = OMIcons.movie; - static const IconData album = OMIcons.photoAlbum; + static const IconData vector = OMIcons.code; + static const IconData checked = OMIcons.done; static const IconData date = OMIcons.calendarToday; + static const IconData disc = Icons.fiber_manual_record; + static const IconData error = OMIcons.error; static const IconData location = OMIcons.place; static const IconData shooting = OMIcons.camera; static const IconData removableStorage = OMIcons.sdStorage; + static const IconData text = OMIcons.formatQuote; static const IconData tag = OMIcons.localOffer; + // actions static const IconData clear = OMIcons.clear; + static const IconData collapse = OMIcons.expandLess; + static const IconData debug = OMIcons.whatshot; static const IconData delete = OMIcons.delete; + static const IconData expand = OMIcons.expandMore; static const IconData favourite = OMIcons.favoriteBorder; static const IconData favouriteActive = OMIcons.favorite; + static const IconData goUp = OMIcons.arrowUpward; + static const IconData info = OMIcons.info; static const IconData openInNew = OMIcons.openInNew; static const IconData print = OMIcons.print; + static const IconData rename = OMIcons.title; static const IconData rotateLeft = OMIcons.rotateLeft; static const IconData rotateRight = OMIcons.rotateRight; + static const IconData search = OMIcons.search; + static const IconData select = OMIcons.selectAll; static const IconData share = OMIcons.share; + static const IconData stats = OMIcons.pieChart; static const IconData zoomIn = OMIcons.add; static const IconData zoomOut = OMIcons.remove; + // albums + static const IconData album = OMIcons.photoAlbum; + static const IconData cameraAlbum = OMIcons.photoCamera; + static const IconData downloadAlbum = Icons.file_download; + static const IconData screenshotAlbum = OMIcons.smartphone; + + // thumbnail overlay static const IconData animated = Icons.slideshow; static const IconData play = Icons.play_circle_outline; static const IconData selected = Icons.check_circle_outline; @@ -138,12 +159,12 @@ class IconUtils { }) { switch (androidFileUtils.getAlbumType(album)) { case AlbumType.Camera: - return Icon(OMIcons.photoCamera, size: size); + return Icon(AIcons.cameraAlbum, size: size); case AlbumType.Screenshots: case AlbumType.ScreenRecordings: - return Icon(OMIcons.smartphone, size: size); + return Icon(AIcons.screenshotAlbum, size: size); case AlbumType.Download: - return Icon(Icons.file_download, size: size); + return Icon(AIcons.downloadAlbum, size: size); case AlbumType.App: return Image( image: AppIconImage( diff --git a/lib/widgets/common/menu_row.dart b/lib/widgets/common/menu_row.dart index 4ca157173..dbb03d78a 100644 --- a/lib/widgets/common/menu_row.dart +++ b/lib/widgets/common/menu_row.dart @@ -1,5 +1,5 @@ +import 'package:aves/widgets/common/icons.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class MenuRow extends StatelessWidget { final String text; @@ -20,7 +20,7 @@ class MenuRow extends StatelessWidget { if (checked != null) ...[ Opacity( opacity: checked ? 1 : 0, - child: const Icon(OMIcons.done), + child: const Icon(AIcons.checked), ), const SizedBox(width: 8), ], diff --git a/lib/widgets/fullscreen/image_view.dart b/lib/widgets/fullscreen/image_view.dart index 5187d2232..353784dd1 100644 --- a/lib/widgets/fullscreen/image_view.dart +++ b/lib/widgets/fullscreen/image_view.dart @@ -1,6 +1,7 @@ import 'package:aves/model/image_entry.dart'; import 'package:aves/utils/constants.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'; import 'package:aves/widgets/common/image_providers/uri_image_provider.dart'; import 'package:aves/widgets/common/image_providers/uri_picture_provider.dart'; @@ -8,7 +9,6 @@ import 'package:aves/widgets/fullscreen/video_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter_ijkplayer/flutter_ijkplayer.dart'; import 'package:flutter_svg/flutter_svg.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; import 'package:photo_view/photo_view.dart'; import 'package:tuple/tuple.dart'; @@ -110,7 +110,7 @@ class ImageView extends StatelessWidget { imageCache.statusForKey(uriImage).keepAlive ? uriImage : thumbnailProvider, ), loadFailedChild: EmptyContent( - icon: OMIcons.errorOutline, + icon: AIcons.error, text: 'Oops!', alignment: Alignment.center, ), diff --git a/lib/widgets/fullscreen/info/info_page.dart b/lib/widgets/fullscreen/info/info_page.dart index 189fefa2b..fa148f3d0 100644 --- a/lib/widgets/fullscreen/info/info_page.dart +++ b/lib/widgets/fullscreen/info/info_page.dart @@ -3,12 +3,12 @@ import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/image_entry.dart'; import 'package:aves/widgets/common/aves_filter_chip.dart'; import 'package:aves/widgets/common/data_providers/media_query_data_provider.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/fullscreen/info/basic_section.dart'; import 'package:aves/widgets/fullscreen/info/location_section.dart'; import 'package:aves/widgets/fullscreen/info/metadata_section.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; import 'package:provider/provider.dart'; import 'package:tuple/tuple.dart'; @@ -48,7 +48,7 @@ class InfoPageState extends State { final appBar = SliverAppBar( leading: IconButton( - icon: const Icon(OMIcons.arrowUpward), + icon: const Icon(AIcons.goUp), onPressed: _goToImage, tooltip: 'Back to image', ), diff --git a/lib/widgets/fullscreen/info/metadata_section.dart b/lib/widgets/fullscreen/info/metadata_section.dart index 0279a98ea..bb8ecefc8 100644 --- a/lib/widgets/fullscreen/info/metadata_section.dart +++ b/lib/widgets/fullscreen/info/metadata_section.dart @@ -5,10 +5,10 @@ import 'package:aves/model/image_entry.dart'; import 'package:aves/services/metadata_service.dart'; import 'package:aves/utils/color_utils.dart'; import 'package:aves/widgets/common/fx/highlight_decoration.dart'; +import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/fullscreen/info/info_page.dart'; import 'package:expansion_tile_card/expansion_tile_card.dart'; import 'package:flutter/material.dart'; -import 'package:outline_material_icons/outline_material_icons.dart'; class MetadataSectionSliver extends StatefulWidget { final ImageEntry entry; @@ -74,7 +74,7 @@ class _MetadataSectionSliverState extends State with Auto delegate: SliverChildBuilderDelegate( (context, index) { if (index == 0) { - return const SectionRow(OMIcons.info); + return const SectionRow(AIcons.info); } if (index < untitledDirectoryCount + 1) { final dir = directoriesWithoutTitle[index - 1]; diff --git a/lib/widgets/stats/stats.dart b/lib/widgets/stats/stats.dart index 1aca8809c..e2098d08d 100644 --- a/lib/widgets/stats/stats.dart +++ b/lib/widgets/stats/stats.dart @@ -171,7 +171,7 @@ class StatsPage extends StatelessWidget { alignment: PlaceholderAlignment.middle, child: Padding( padding: const EdgeInsetsDirectional.only(end: 8), - child: Icon(Icons.fiber_manual_record, color: stringToColor(kv.key)), + child: Icon(AIcons.disc, color: stringToColor(kv.key)), ), ), TextSpan(text: '${kv.key} '),