gathered more icons

This commit is contained in:
Thibault Deckers 2020-05-11 10:53:48 +09:00
parent 667303cb96
commit 20acac10ed
15 changed files with 53 additions and 35 deletions

View file

@ -5,10 +5,10 @@ import 'package:aves/services/viewer_service.dart';
import 'package:aves/utils/android_file_utils.dart'; import 'package:aves/utils/android_file_utils.dart';
import 'package:aves/widgets/album/collection_page.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/data_providers/media_store_collection_provider.dart';
import 'package:aves/widgets/common/icons.dart';
import 'package:aves/widgets/fullscreen/fullscreen_page.dart'; import 'package:aves/widgets/fullscreen/fullscreen_page.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
import 'package:pedantic/pedantic.dart'; import 'package:pedantic/pedantic.dart';
import 'package:permission_handler/permission_handler.dart'; import 'package:permission_handler/permission_handler.dart';
import 'package:screen/screen.dart'; import 'package:screen/screen.dart';
@ -100,7 +100,7 @@ class _HomePageState extends State<HomePage> {
return FutureBuilder( return FutureBuilder(
future: _appSetup, future: _appSetup,
builder: (context, AsyncSnapshot<void> snapshot) { builder: (context, AsyncSnapshot<void> 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(); if (snapshot.connectionState != ConnectionState.done) return const SizedBox.shrink();
debugPrint('$runtimeType app setup future complete'); debugPrint('$runtimeType app setup future complete');
if (_sharedEntry != null) { if (_sharedEntry != null) {

View file

@ -3,7 +3,6 @@ import 'package:aves/model/image_entry.dart';
import 'package:aves/model/mime_types.dart'; import 'package:aves/model/mime_types.dart';
import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class MimeFilter extends CollectionFilter { class MimeFilter extends CollectionFilter {
static const type = 'mime'; static const type = 'mime';
@ -40,7 +39,7 @@ class MimeFilter extends CollectionFilter {
} }
_label ??= lowMime.split('/')[1].toUpperCase(); _label ??= lowMime.split('/')[1].toUpperCase();
} }
_icon ??= OMIcons.code; _icon ??= AIcons.vector;
} }
@override @override

View file

@ -1,7 +1,7 @@
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/image_entry.dart'; import 'package:aves/model/image_entry.dart';
import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/widgets.dart'; import 'package:flutter/widgets.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class QueryFilter extends CollectionFilter { class QueryFilter extends CollectionFilter {
static const type = 'query'; static const type = 'query';
@ -39,7 +39,7 @@ class QueryFilter extends CollectionFilter {
String get label => '${query}'; String get label => '${query}';
@override @override
Widget iconBuilder(context, size) => Icon(OMIcons.formatQuote, size: size); Widget iconBuilder(context, size) => Icon(AIcons.text, size: size);
@override @override
String get typeKey => type; String get typeKey => type;

View file

@ -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/album/search/search_delegate.dart';
import 'package:aves/widgets/common/action_delegates/selection_action_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/entry_actions.dart';
import 'package:aves/widgets/common/icons.dart';
import 'package:aves/widgets/common/menu_row.dart'; import 'package:aves/widgets/common/menu_row.dart';
import 'package:aves/widgets/stats/stats.dart'; import 'package:aves/widgets/stats/stats.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
import 'package:pedantic/pedantic.dart'; import 'package:pedantic/pedantic.dart';
class CollectionAppBar extends StatefulWidget { class CollectionAppBar extends StatefulWidget {
@ -149,7 +149,7 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
return [ return [
if (collection.isBrowsing) if (collection.isBrowsing)
IconButton( IconButton(
icon: const Icon(OMIcons.search), icon: const Icon(AIcons.search),
onPressed: _goToSearch, onPressed: _goToSearch,
), ),
if (collection.isSelecting) if (collection.isSelecting)
@ -171,11 +171,11 @@ class _CollectionAppBarState extends State<CollectionAppBar> with SingleTickerPr
if (collection.isBrowsing) ...[ if (collection.isBrowsing) ...[
const PopupMenuItem( const PopupMenuItem(
value: CollectionAction.select, value: CollectionAction.select,
child: MenuRow(text: 'Select', icon: OMIcons.selectAll), child: MenuRow(text: 'Select', icon: AIcons.select),
), ),
const PopupMenuItem( const PopupMenuItem(
value: CollectionAction.stats, value: CollectionAction.stats,
child: MenuRow(text: 'Stats', icon: OMIcons.pieChart), child: MenuRow(text: 'Stats', icon: AIcons.stats),
), ),
], ],
if (collection.isSelecting) ...[ if (collection.isSelecting) ...[

View file

@ -18,7 +18,6 @@ import 'package:aves/widgets/common/icons.dart';
import 'package:aves/widgets/debug_page.dart'; import 'package:aves/widgets/debug_page.dart';
import 'package:flutter/foundation.dart'; import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
class CollectionDrawer extends StatefulWidget { class CollectionDrawer extends StatefulWidget {
@ -275,7 +274,7 @@ class _CollectionDrawerState extends State<CollectionDrawer> {
top: false, top: false,
bottom: false, bottom: false,
child: ListTile( child: ListTile(
leading: const Icon(OMIcons.whatshot), leading: const Icon(AIcons.debug),
title: const Text('Debug'), title: const Text('Debug'),
onTap: () => _goToDebug(context), onTap: () => _goToDebug(context),
), ),

View file

@ -1,5 +1,5 @@
import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class EmptyContent extends StatelessWidget { class EmptyContent extends StatelessWidget {
final IconData icon; final IconData icon;
@ -7,7 +7,7 @@ class EmptyContent extends StatelessWidget {
final AlignmentGeometry alignment; final AlignmentGeometry alignment;
const EmptyContent({ const EmptyContent({
this.icon = OMIcons.photo, this.icon = AIcons.image,
this.text = 'Nothing!', this.text = 'Nothing!',
this.alignment = const FractionalOffset(.5, .35), this.alignment = const FractionalOffset(.5, .35),
}); });

View file

@ -1,8 +1,8 @@
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/utils/constants.dart'; import 'package:aves/utils/constants.dart';
import 'package:aves/widgets/common/aves_filter_chip.dart'; import 'package:aves/widgets/common/aves_filter_chip.dart';
import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class ExpandableFilterRow extends StatelessWidget { class ExpandableFilterRow extends StatelessWidget {
final String title; final String title;
@ -37,7 +37,7 @@ class ExpandableFilterRow extends StatelessWidget {
), ),
const Spacer(), const Spacer(),
IconButton( IconButton(
icon: Icon(isExpanded ? OMIcons.expandLess : OMIcons.expandMore), icon: Icon(isExpanded ? AIcons.collapse : AIcons.expand),
onPressed: () => expandedNotifier.value = isExpanded ? null : title, onPressed: () => expandedNotifier.value = isExpanded ? null : title,
), ),
], ],

View file

@ -1,6 +1,6 @@
import 'package:aves/model/filters/filters.dart'; import 'package:aves/model/filters/filters.dart';
import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
typedef FilterCallback = void Function(CollectionFilter filter); typedef FilterCallback = void Function(CollectionFilter filter);
@ -49,7 +49,7 @@ class _AvesFilterChipState extends State<AvesFilterChip> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final leading = filter.iconBuilder(context, AvesFilterChip.iconSize); 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( final child = Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,

View file

@ -1,6 +1,5 @@
import 'package:aves/widgets/common/icons.dart'; import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/material.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 } 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: case EntryAction.delete:
return AIcons.delete; return AIcons.delete;
case EntryAction.info: case EntryAction.info:
return OMIcons.info; return AIcons.info;
case EntryAction.rename: case EntryAction.rename:
return OMIcons.title; return AIcons.rename;
case EntryAction.rotateCCW: case EntryAction.rotateCCW:
return AIcons.rotateLeft; return AIcons.rotateLeft;
case EntryAction.rotateCW: case EntryAction.rotateCW:
@ -92,7 +91,7 @@ extension ExtraEntryAction on EntryAction {
case EntryAction.openMap: case EntryAction.openMap:
return null; return null;
case EntryAction.debug: case EntryAction.debug:
return OMIcons.whatshot; return AIcons.debug;
} }
return null; return null;
} }

View file

@ -10,26 +10,47 @@ class AIcons {
static const IconData allMedia = OMIcons.collections; static const IconData allMedia = OMIcons.collections;
static const IconData image = OMIcons.photo; static const IconData image = OMIcons.photo;
static const IconData video = OMIcons.movie; 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 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 location = OMIcons.place;
static const IconData shooting = OMIcons.camera; static const IconData shooting = OMIcons.camera;
static const IconData removableStorage = OMIcons.sdStorage; static const IconData removableStorage = OMIcons.sdStorage;
static const IconData text = OMIcons.formatQuote;
static const IconData tag = OMIcons.localOffer; static const IconData tag = OMIcons.localOffer;
// actions
static const IconData clear = OMIcons.clear; 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 delete = OMIcons.delete;
static const IconData expand = OMIcons.expandMore;
static const IconData favourite = OMIcons.favoriteBorder; static const IconData favourite = OMIcons.favoriteBorder;
static const IconData favouriteActive = OMIcons.favorite; 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 openInNew = OMIcons.openInNew;
static const IconData print = OMIcons.print; static const IconData print = OMIcons.print;
static const IconData rename = OMIcons.title;
static const IconData rotateLeft = OMIcons.rotateLeft; static const IconData rotateLeft = OMIcons.rotateLeft;
static const IconData rotateRight = OMIcons.rotateRight; 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 share = OMIcons.share;
static const IconData stats = OMIcons.pieChart;
static const IconData zoomIn = OMIcons.add; static const IconData zoomIn = OMIcons.add;
static const IconData zoomOut = OMIcons.remove; 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 animated = Icons.slideshow;
static const IconData play = Icons.play_circle_outline; static const IconData play = Icons.play_circle_outline;
static const IconData selected = Icons.check_circle_outline; static const IconData selected = Icons.check_circle_outline;
@ -138,12 +159,12 @@ class IconUtils {
}) { }) {
switch (androidFileUtils.getAlbumType(album)) { switch (androidFileUtils.getAlbumType(album)) {
case AlbumType.Camera: case AlbumType.Camera:
return Icon(OMIcons.photoCamera, size: size); return Icon(AIcons.cameraAlbum, size: size);
case AlbumType.Screenshots: case AlbumType.Screenshots:
case AlbumType.ScreenRecordings: case AlbumType.ScreenRecordings:
return Icon(OMIcons.smartphone, size: size); return Icon(AIcons.screenshotAlbum, size: size);
case AlbumType.Download: case AlbumType.Download:
return Icon(Icons.file_download, size: size); return Icon(AIcons.downloadAlbum, size: size);
case AlbumType.App: case AlbumType.App:
return Image( return Image(
image: AppIconImage( image: AppIconImage(

View file

@ -1,5 +1,5 @@
import 'package:aves/widgets/common/icons.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class MenuRow extends StatelessWidget { class MenuRow extends StatelessWidget {
final String text; final String text;
@ -20,7 +20,7 @@ class MenuRow extends StatelessWidget {
if (checked != null) ...[ if (checked != null) ...[
Opacity( Opacity(
opacity: checked ? 1 : 0, opacity: checked ? 1 : 0,
child: const Icon(OMIcons.done), child: const Icon(AIcons.checked),
), ),
const SizedBox(width: 8), const SizedBox(width: 8),
], ],

View file

@ -1,6 +1,7 @@
import 'package:aves/model/image_entry.dart'; import 'package:aves/model/image_entry.dart';
import 'package:aves/utils/constants.dart'; import 'package:aves/utils/constants.dart';
import 'package:aves/widgets/album/empty.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/thumbnail_provider.dart';
import 'package:aves/widgets/common/image_providers/uri_image_provider.dart'; import 'package:aves/widgets/common/image_providers/uri_image_provider.dart';
import 'package:aves/widgets/common/image_providers/uri_picture_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/material.dart';
import 'package:flutter_ijkplayer/flutter_ijkplayer.dart'; import 'package:flutter_ijkplayer/flutter_ijkplayer.dart';
import 'package:flutter_svg/flutter_svg.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:photo_view/photo_view.dart';
import 'package:tuple/tuple.dart'; import 'package:tuple/tuple.dart';
@ -110,7 +110,7 @@ class ImageView extends StatelessWidget {
imageCache.statusForKey(uriImage).keepAlive ? uriImage : thumbnailProvider, imageCache.statusForKey(uriImage).keepAlive ? uriImage : thumbnailProvider,
), ),
loadFailedChild: EmptyContent( loadFailedChild: EmptyContent(
icon: OMIcons.errorOutline, icon: AIcons.error,
text: 'Oops!', text: 'Oops!',
alignment: Alignment.center, alignment: Alignment.center,
), ),

View file

@ -3,12 +3,12 @@ import 'package:aves/model/filters/filters.dart';
import 'package:aves/model/image_entry.dart'; import 'package:aves/model/image_entry.dart';
import 'package:aves/widgets/common/aves_filter_chip.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/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/basic_section.dart';
import 'package:aves/widgets/fullscreen/info/location_section.dart'; import 'package:aves/widgets/fullscreen/info/location_section.dart';
import 'package:aves/widgets/fullscreen/info/metadata_section.dart'; import 'package:aves/widgets/fullscreen/info/metadata_section.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart'; import 'package:flutter/scheduler.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:tuple/tuple.dart'; import 'package:tuple/tuple.dart';
@ -48,7 +48,7 @@ class InfoPageState extends State<InfoPage> {
final appBar = SliverAppBar( final appBar = SliverAppBar(
leading: IconButton( leading: IconButton(
icon: const Icon(OMIcons.arrowUpward), icon: const Icon(AIcons.goUp),
onPressed: _goToImage, onPressed: _goToImage,
tooltip: 'Back to image', tooltip: 'Back to image',
), ),

View file

@ -5,10 +5,10 @@ import 'package:aves/model/image_entry.dart';
import 'package:aves/services/metadata_service.dart'; import 'package:aves/services/metadata_service.dart';
import 'package:aves/utils/color_utils.dart'; import 'package:aves/utils/color_utils.dart';
import 'package:aves/widgets/common/fx/highlight_decoration.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:aves/widgets/fullscreen/info/info_page.dart';
import 'package:expansion_tile_card/expansion_tile_card.dart'; import 'package:expansion_tile_card/expansion_tile_card.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:outline_material_icons/outline_material_icons.dart';
class MetadataSectionSliver extends StatefulWidget { class MetadataSectionSliver extends StatefulWidget {
final ImageEntry entry; final ImageEntry entry;
@ -74,7 +74,7 @@ class _MetadataSectionSliverState extends State<MetadataSectionSliver> with Auto
delegate: SliverChildBuilderDelegate( delegate: SliverChildBuilderDelegate(
(context, index) { (context, index) {
if (index == 0) { if (index == 0) {
return const SectionRow(OMIcons.info); return const SectionRow(AIcons.info);
} }
if (index < untitledDirectoryCount + 1) { if (index < untitledDirectoryCount + 1) {
final dir = directoriesWithoutTitle[index - 1]; final dir = directoriesWithoutTitle[index - 1];

View file

@ -171,7 +171,7 @@ class StatsPage extends StatelessWidget {
alignment: PlaceholderAlignment.middle, alignment: PlaceholderAlignment.middle,
child: Padding( child: Padding(
padding: const EdgeInsetsDirectional.only(end: 8), 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} '), TextSpan(text: '${kv.key} '),