hardening setting tooltip
This commit is contained in:
@@ -71,53 +71,61 @@ class WebEngineHardeningGroupScreen extends HookConsumerWidget {
|
|||||||
Expanded(
|
Expanded(
|
||||||
child: ListView(
|
child: ListView(
|
||||||
children: group.settings.entries.map((setting) {
|
children: group.settings.entries.map((setting) {
|
||||||
return Row(
|
var value = setting.value.value.toString();
|
||||||
children: [
|
if (value.length > 160) {
|
||||||
if (!setting.value.shouldBeDefault ||
|
value = '${value.substring(0, 160)}…';
|
||||||
!setting.value.isActive)
|
}
|
||||||
Expanded(
|
|
||||||
child: SwitchListTile(
|
|
||||||
value: setting.value.isActive,
|
|
||||||
title: Text(setting.value.title ?? setting.key),
|
|
||||||
subtitle: setting.value.description.mapNotNull(
|
|
||||||
(description) => Text(description),
|
|
||||||
),
|
|
||||||
secondary: HardeningGroupIcon(
|
|
||||||
isActive: setting.value.isActive,
|
|
||||||
),
|
|
||||||
onChanged: (value) async {
|
|
||||||
final notifier = ref.read(
|
|
||||||
preferenceSettingsGroupRepositoryProvider(
|
|
||||||
PreferencePartition.user,
|
|
||||||
groupName,
|
|
||||||
).notifier,
|
|
||||||
);
|
|
||||||
|
|
||||||
if (value) {
|
return Tooltip(
|
||||||
await notifier.apply(filter: [setting.key]);
|
message: '${setting.key}: $value',
|
||||||
} else {
|
child: Row(
|
||||||
await notifier.reset(filter: [setting.key]);
|
children: [
|
||||||
}
|
if (!setting.value.shouldBeDefault ||
|
||||||
},
|
!setting.value.isActive)
|
||||||
),
|
Expanded(
|
||||||
)
|
child: SwitchListTile(
|
||||||
else
|
value: setting.value.isActive,
|
||||||
Expanded(
|
title: Text(setting.value.title ?? setting.key),
|
||||||
child: ListTile(
|
subtitle: setting.value.description.mapNotNull(
|
||||||
title: Text(setting.value.title ?? setting.key),
|
(description) => Text(description),
|
||||||
subtitle: setting.value.description.mapNotNull(
|
),
|
||||||
(description) => Text(description),
|
secondary: HardeningGroupIcon(
|
||||||
|
isActive: setting.value.isActive,
|
||||||
|
),
|
||||||
|
onChanged: (value) async {
|
||||||
|
final notifier = ref.read(
|
||||||
|
preferenceSettingsGroupRepositoryProvider(
|
||||||
|
PreferencePartition.user,
|
||||||
|
groupName,
|
||||||
|
).notifier,
|
||||||
|
);
|
||||||
|
|
||||||
|
if (value) {
|
||||||
|
await notifier.apply(filter: [setting.key]);
|
||||||
|
} else {
|
||||||
|
await notifier.reset(filter: [setting.key]);
|
||||||
|
}
|
||||||
|
},
|
||||||
),
|
),
|
||||||
leading: HardeningGroupIcon(
|
)
|
||||||
isActive: setting.value.isActive,
|
else
|
||||||
),
|
Expanded(
|
||||||
trailing: const Padding(
|
child: ListTile(
|
||||||
padding: EdgeInsets.only(right: 18.0),
|
title: Text(setting.value.title ?? setting.key),
|
||||||
child: Icon(Icons.check),
|
subtitle: setting.value.description.mapNotNull(
|
||||||
|
(description) => Text(description),
|
||||||
|
),
|
||||||
|
leading: HardeningGroupIcon(
|
||||||
|
isActive: setting.value.isActive,
|
||||||
|
),
|
||||||
|
trailing: const Padding(
|
||||||
|
padding: EdgeInsets.only(right: 18.0),
|
||||||
|
child: Icon(Icons.check),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
);
|
);
|
||||||
}).toList(),
|
}).toList(),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user