added setting description
All checks were successful
BlockStorage/repertory/pipeline/head This commit looks good

This commit is contained in:
Scott E. Graves 2025-03-16 06:53:06 -05:00
parent c720181208
commit 1081ff0b19
3 changed files with 93 additions and 15 deletions

View File

@ -3,4 +3,5 @@ cupertino
cupertinoicons cupertinoicons
fromargb fromargb
onetwothree onetwothree
renterd
rocksdb rocksdb

View File

@ -122,6 +122,17 @@ String getBaseUri() {
return Uri.base.origin; return Uri.base.origin;
} }
String? getSettingDescription(String settingPath) {
switch (settingPath) {
case 'ApiPassword':
return "'repertory' REST API password";
case 'HostConfig.ApiPassword':
return "RENTERD_API_PASSWORD";
default:
return null;
}
}
List<Validator> getSettingValidators(String settingPath) { List<Validator> getSettingValidators(String settingPath) {
switch (settingPath) { switch (settingPath) {
case 'ApiPassword': case 'ApiPassword':

View File

@ -4,7 +4,11 @@ import 'package:flutter/services.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:repertory/constants.dart' as constants; import 'package:repertory/constants.dart' as constants;
import 'package:repertory/helpers.dart' import 'package:repertory/helpers.dart'
show Validator, displayErrorMessage, getSettingValidators; show
Validator,
displayErrorMessage,
getSettingDescription,
getSettingValidators;
import 'package:repertory/models/mount.dart'; import 'package:repertory/models/mount.dart';
import 'package:repertory/models/mount_list.dart'; import 'package:repertory/models/mount_list.dart';
import 'package:settings_ui/settings_ui.dart'; import 'package:settings_ui/settings_ui.dart';
@ -29,12 +33,23 @@ class MountSettingsWidget extends StatefulWidget {
} }
class _MountSettingsWidgetState extends State<MountSettingsWidget> { class _MountSettingsWidgetState extends State<MountSettingsWidget> {
void _addBooleanSetting(list, root, key, value, isAdvanced) { Widget _createTitle(String key, String? description) {
return Text(description == null ? key : '$key [$description]');
}
void _addBooleanSetting(
list,
root,
key,
value,
isAdvanced, {
String? description,
}) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.switchTile( SettingsTile.switchTile(
leading: const Icon(Icons.quiz), leading: const Icon(Icons.quiz),
title: Text(key), title: _createTitle(key, description),
initialValue: (value as bool), initialValue: (value as bool),
onPressed: onPressed:
(_) => setState(() { (_) => setState(() {
@ -58,13 +73,14 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
isAdvanced, { isAdvanced, {
String? description,
List<Validator> validators = const [], List<Validator> validators = const [],
}) { }) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.navigation( SettingsTile.navigation(
leading: const Icon(Icons.onetwothree), leading: const Icon(Icons.onetwothree),
title: Text(key), title: _createTitle(key, description),
value: Text(value.toString()), value: Text(value.toString()),
onPressed: (_) { onPressed: (_) {
String updatedValue = value.toString(); String updatedValue = value.toString();
@ -104,7 +120,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
onChanged: (nextValue) => updatedValue = nextValue, onChanged: (nextValue) => updatedValue = nextValue,
), ),
title: Text(key), title: _createTitle(key, description),
); );
}, },
); );
@ -122,12 +138,13 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
List<String> valueList, List<String> valueList,
defaultValue, defaultValue,
icon, icon,
isAdvanced, isAdvanced, {
) { String? description,
}) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.navigation( SettingsTile.navigation(
title: Text(key), title: _createTitle(key, description),
leading: Icon(icon), leading: Icon(icon),
value: DropdownButton<String>( value: DropdownButton<String>(
value: value.toString(), value: value.toString(),
@ -156,13 +173,14 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
isAdvanced, { isAdvanced, {
String? description,
List<Validator> validators = const [], List<Validator> validators = const [],
}) { }) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.navigation( SettingsTile.navigation(
leading: const Icon(Icons.password), leading: const Icon(Icons.password),
title: Text(key), title: _createTitle(key, description),
value: Text('*' * (value as String).length), value: Text('*' * (value as String).length),
onPressed: (_) { onPressed: (_) {
String updatedValue1 = value; String updatedValue1 = value;
@ -226,7 +244,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
), ),
], ],
), ),
title: Text(key), title: _createTitle(key, description),
); );
}, },
); );
@ -243,12 +261,13 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
value, value,
List<String> valueList, List<String> valueList,
icon, icon,
isAdvanced, isAdvanced, {
) { String? description,
}) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.navigation( SettingsTile.navigation(
title: Text(key), title: _createTitle(key, description),
leading: Icon(icon), leading: Icon(icon),
value: DropdownButton<String>( value: DropdownButton<String>(
value: value, value: value,
@ -277,13 +296,14 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
value, value,
icon, icon,
isAdvanced, { isAdvanced, {
String? description,
List<Validator> validators = const [], List<Validator> validators = const [],
}) { }) {
if (!isAdvanced || widget.showAdvanced) { if (!isAdvanced || widget.showAdvanced) {
list.add( list.add(
SettingsTile.navigation( SettingsTile.navigation(
leading: Icon(icon), leading: Icon(icon),
title: Text(key), title: _createTitle(key, description),
value: Text(value), value: Text(value),
onPressed: (_) { onPressed: (_) {
String updatedValue = value; String updatedValue = value;
@ -324,7 +344,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
], ],
onChanged: (value) => updatedValue = value, onChanged: (value) => updatedValue = value,
), ),
title: Text(key), title: _createTitle(key, description),
); );
}, },
); );
@ -354,6 +374,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -366,6 +387,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -379,6 +401,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
value, value,
Icons.person, Icons.person,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -393,6 +416,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
constants.databaseTypeList, constants.databaseTypeList,
Icons.dataset, Icons.dataset,
true, true,
description: getSettingDescription(key),
); );
} }
break; break;
@ -404,6 +428,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -416,6 +441,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
); );
} }
break; break;
@ -427,6 +453,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
); );
} }
break; break;
@ -440,6 +467,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
constants.eventLevelList, constants.eventLevelList,
Icons.event, Icons.event,
false, false,
description: getSettingDescription(key),
); );
} }
break; break;
@ -451,6 +479,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -463,6 +492,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
); );
} }
break; break;
@ -474,6 +504,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
false, false,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -486,6 +517,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -498,6 +530,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -512,6 +545,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
constants.downloadTypeList, constants.downloadTypeList,
Icons.download, Icons.download,
false, false,
description: getSettingDescription(key),
); );
} }
break; break;
@ -523,6 +557,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
key, key,
value, value,
true, true,
description: getSettingDescription(key),
validators: getSettingValidators(key), validators: getSettingValidators(key),
); );
} }
@ -538,6 +573,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
512, 512,
Icons.animation, Icons.animation,
false, false,
description: getSettingDescription(key),
); );
} }
break; break;
@ -577,6 +613,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.folder, Icons.folder,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: [ validators: [
...getSettingValidators('$key.$subKey'), ...getSettingValidators('$key.$subKey'),
(value) => (value) =>
@ -651,6 +688,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.support_agent, Icons.support_agent,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -663,6 +701,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -675,6 +714,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -688,6 +728,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.person, Icons.person,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -701,6 +742,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.computer, Icons.computer,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -714,6 +756,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.route, Icons.route,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -728,6 +771,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
constants.protocolTypeList, constants.protocolTypeList,
Icons.http, Icons.http,
true, true,
description: getSettingDescription(key),
); );
} }
break; break;
@ -739,6 +783,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -762,6 +807,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -775,6 +821,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.folder, Icons.folder,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -822,6 +869,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.key, Icons.key,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -835,6 +883,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.folder, Icons.folder,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: [ validators: [
...getSettingValidators('$key.$subKey'), ...getSettingValidators('$key.$subKey'),
(value) => (value) =>
@ -858,6 +907,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -871,6 +921,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.map, Icons.map,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -883,6 +934,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -895,6 +947,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -908,6 +961,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.http, Icons.http,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -920,6 +974,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
); );
} }
break; break;
@ -931,6 +986,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
); );
} }
break; break;
@ -954,6 +1010,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
); );
remoteMountSettings.insertAll(0, tempSettings); remoteMountSettings.insertAll(0, tempSettings);
} }
@ -966,6 +1023,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -978,6 +1036,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -990,6 +1049,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1013,6 +1073,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1025,6 +1086,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1038,6 +1100,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subValue, subValue,
Icons.computer, Icons.computer,
false, false,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1050,6 +1113,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1062,6 +1126,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }
@ -1074,6 +1139,7 @@ class _MountSettingsWidgetState extends State<MountSettingsWidget> {
subKey, subKey,
subValue, subValue,
true, true,
description: getSettingDescription('$key.$subKey'),
validators: getSettingValidators('$key.$subKey'), validators: getSettingValidators('$key.$subKey'),
); );
} }