various fixes

This commit is contained in:
Thibault Deckers 2021-12-30 10:35:31 +09:00
parent 713ef3d782
commit 711b6bcbc8
11 changed files with 18 additions and 20 deletions

View file

@ -523,7 +523,7 @@
"settingsSectionThumbnails": "Thumbnails",
"settingsThumbnailShowLocationIcon": "Show location icon",
"settingsThumbnailShowMotionPhotoIcon": "Show motion photo icon",
"settingsThumbnailShowRatingIcon": "Show rating icon",
"settingsThumbnailShowRating": "Show rating",
"settingsThumbnailShowRawIcon": "Show raw icon",
"settingsThumbnailShowVideoDuration": "Show video duration",

View file

@ -375,6 +375,7 @@
"settingsSectionThumbnails": "Vignettes",
"settingsThumbnailShowLocationIcon": "Afficher licône de lieu",
"settingsThumbnailShowMotionPhotoIcon": "Afficher licône de photo animée",
"settingsThumbnailShowRating": "Afficher la notation",
"settingsThumbnailShowRawIcon": "Afficher licône de photo raw",
"settingsThumbnailShowVideoDuration": "Afficher la durée de la vidéo",

View file

@ -72,7 +72,7 @@
"videoActionSetSpeed": "재생 배속",
"videoActionSettings": "설정",
"entryInfoActionEditDate": "날짜 시간 수정",
"entryInfoActionEditDate": "날짜 시간 수정",
"entryInfoActionEditTags": "태그 수정",
"entryInfoActionRemoveMetadata": "메타데이터 삭제",
@ -375,6 +375,7 @@
"settingsSectionThumbnails": "섬네일",
"settingsThumbnailShowLocationIcon": "위치 아이콘 표시",
"settingsThumbnailShowMotionPhotoIcon": "모션 포토 아이콘 표시",
"settingsThumbnailShowRating": "별점 표시",
"settingsThumbnailShowRawIcon": "Raw 아이콘 표시",
"settingsThumbnailShowVideoDuration": "동영상 길이 표시",

View file

@ -22,7 +22,7 @@ import 'package:flutter/foundation.dart';
class VideoMetadataFormatter {
static final _epoch = DateTime.fromMillisecondsSinceEpoch(0, isUtc: true);
static final _anotherDatePattern = RegExp(r'(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})');
static final _anotherDatePattern = RegExp(r'(\d{4})[-/](\d{2})[-/](\d{2}) (\d{2}):(\d{2}):(\d{2})');
static final _durationPattern = RegExp(r'(\d+):(\d+):(\d+)(.\d+)');
static final _locationPattern = RegExp(r'([+-][.0-9]+)');
static final Map<String, String> _codecNames = {
@ -112,9 +112,10 @@ class VideoMetadataFormatter {
return date.millisecondsSinceEpoch;
}
// `DateTime` does not recognize:
// `DateTime` does not recognize these values found in the wild:
// - `UTC 2021-05-30 19:14:21`
// - `2021`
// - `2021/10/31 21:23:17`
// - `2021` (not enough to build a date)
final match = _anotherDatePattern.firstMatch(dateString);
if (match != null) {

View file

@ -22,7 +22,7 @@ class AIcons {
static const IconData locationOff = Icons.location_off_outlined;
static const IconData mainStorage = Icons.smartphone_outlined;
static const IconData privacy = MdiIcons.shieldAccountOutline;
static const IconData ratingRejected = MdiIcons.starRemoveOutline;
static const IconData ratingRejected = MdiIcons.starMinusOutline;
static const IconData ratingUnrated = MdiIcons.starOffOutline;
static const IconData raw = Icons.raw_on_outlined;
static const IconData shooting = Icons.camera_outlined;

View file

@ -34,9 +34,11 @@ class Themes {
fontFeatures: [FontFeature.enable('smcp')],
),
),
colorScheme: const ColorScheme.dark(
colorScheme: ColorScheme.dark(
primary: _accentColor,
secondary: _accentColor,
// surface color is used as background for the date picker header
surface: Colors.grey.shade800,
onPrimary: Colors.white,
onSecondary: Colors.white,
),

View file

@ -183,7 +183,7 @@ class CollectionSearchDelegate {
_buildFilterRow(
context: context,
title: context.l10n.searchSectionRating,
filters: [0, -1, 5, 4, 3, 2, 1].map((rating) => RatingFilter(rating)).toList(),
filters: [0, 5, 4, 3, 2, 1, -1].map((rating) => RatingFilter(rating)).toList(),
),
],
);

View file

@ -83,7 +83,7 @@ class ThumbnailsSection extends StatelessWidget {
onChanged: (v) => settings.showThumbnailRating = v,
title: Row(
children: [
Expanded(child: Text(context.l10n.settingsThumbnailShowRatingIcon)),
Expanded(child: Text(context.l10n.settingsThumbnailShowRating)),
AnimatedOpacity(
opacity: opacityFor(current),
duration: Durations.toggleableTransitionAnimation,

View file

@ -54,7 +54,7 @@ class InfoSearchDelegate extends SearchDelegate {
Widget buildSuggestions(BuildContext context) {
final l10n = context.l10n;
final suggestions = {
l10n.viewerInfoSearchSuggestionDate: 'date or time or when -timer -uptime -exposure -timeline',
l10n.viewerInfoSearchSuggestionDate: 'date or time or when -timer -uptime -exposure -timeline -verbatim',
l10n.viewerInfoSearchSuggestionDescription: 'abstract or description or comment or textual or title',
l10n.viewerInfoSearchSuggestionDimensions: 'width or height or dimension or framesize or imagelength',
l10n.viewerInfoSearchSuggestionResolution: 'resolution',

View file

@ -7,5 +7,6 @@ void main() {
expect(VideoMetadataFormatter.parseVideoDate('2011-05-08T03:46+09:00'), DateTime(2011, 5, 7, 18, 46).add(localOffset).millisecondsSinceEpoch);
expect(VideoMetadataFormatter.parseVideoDate('UTC 2021-05-30 19:14:21'), DateTime(2021, 5, 30, 19, 14, 21).millisecondsSinceEpoch);
expect(VideoMetadataFormatter.parseVideoDate('2021/10/31 21:23:17'), DateTime(2021, 10, 31, 21, 23, 17).millisecondsSinceEpoch);
});
}

View file

@ -9,15 +9,7 @@
"editEntryDateDialogTargetFieldsHeader",
"collectionSortRating",
"searchSectionRating",
"settingsThumbnailShowRatingIcon"
],
"fr": [
"settingsThumbnailShowRatingIcon"
],
"ko": [
"settingsThumbnailShowRatingIcon"
"settingsThumbnailShowRating"
],
"ru": [
@ -30,6 +22,6 @@
"editEntryDateDialogTargetFieldsHeader",
"collectionSortRating",
"searchSectionRating",
"settingsThumbnailShowRatingIcon"
"settingsThumbnailShowRating"
]
}