Downloads fix, Spanish translation

This commit is contained in:
exttex 2020-09-22 19:13:54 +02:00
parent 2858859abd
commit 17df300a18
18 changed files with 548 additions and 103 deletions

View file

@ -80,6 +80,16 @@ class AlbumDetails extends StatelessWidget {
color: Theme.of(context).primaryColor
),
),
Container(height: 4.0),
if (album.releaseDate != null && album.releaseDate.length >= 4)
Text(
album.releaseDate,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 12.0,
color: Theme.of(context).disabledColor
),
),
Container(height: 8.0,),
],
),

View file

@ -21,6 +21,10 @@ class DownloadTile extends StatelessWidget {
return 'Post processing...'.i18n;
case DownloadState.DONE:
return 'Done'.i18n; //Shouldn't be visible
case DownloadState.DEEZER_ERROR:
return 'Track is not available on Deezer!'.i18n;
case DownloadState.ERROR:
return 'Failed to download track! Please restart.'.i18n;
}
return '';
}
@ -28,7 +32,6 @@ class DownloadTile extends StatelessWidget {
Widget get progressBar {
switch (download.state) {
case DownloadState.DOWNLOADING:
print(download.track.id);
return LinearProgressIndicator(value: download.received / download.total);
case DownloadState.POST:
return LinearProgressIndicator();

View file

@ -42,7 +42,6 @@ class _PlayerScreenState extends State<PlayerScreen> {
playerHelper.startService();
return Center(child: CircularProgressIndicator(),);
}
return OrientationBuilder(
builder: (context, orientation) {
//Landscape

View file

@ -83,6 +83,10 @@ class _SearchScreenState extends State<SearchScreen> {
IconButton(
icon: Icon(Icons.clear),
onPressed: () {
setState(() {
_suggestions = [];
_query = '';
});
_controller.clear();
},
),

View file

@ -43,6 +43,21 @@ class _SettingsScreenState extends State<SettingsScreen> {
super.initState();
}
List<Map<String, String>> _languages() {
defaultLanguagesList.add({
'name': 'Filipino',
'isoCode': 'fil'
});
List<Map<String, String>> _l = supportedLocales.map<Map<String, String>>((l) {
Map _lang = defaultLanguagesList.firstWhere((lang) => lang['isoCode'] == l.languageCode);
return {
'name': _lang['name'] + ' (${l.toString()})',
'isoCode': _lang['isoCode']
};
}).toList();
return _l;
}
@override
Widget build(BuildContext context) {
return Scaffold(
@ -90,11 +105,7 @@ class _SettingsScreenState extends State<SettingsScreen> {
titlePadding: EdgeInsets.all(8.0),
title: Text('Select language'.i18n),
isSearchable: false,
languagesList: supportedLocales.map<Map<String, String>>((l) {
Map _lang = defaultLanguagesList.firstWhere((lang) => lang['isoCode'] == l.languageCode);
_lang['name'] = _lang['name'] + ' (${l.toString()})';
return _lang;
}).toList(),
languagesList: _languages(),
onValuePicked: (Language l) async {
setState(() {
Locale locale = supportedLocales.firstWhere((_l) => _l.languageCode == l.isoCode);
@ -407,6 +418,9 @@ class _DeezerSettingsState extends State<DeezerSettings> {
titlePadding: EdgeInsets.all(8.0),
isSearchable: true,
title: Text('Select language'.i18n),
languagesList: defaultLanguagesList.map<Map<String, String>>((l) => {
'isoCode': l['isoCode'], 'name': l['name'] + ' (${l["isoCode"]})'
}).toList(),
onValuePicked: (Language language) {
setState(() => settings.deezerLanguage = language.isoCode);
settings.save();