new: prefer temperature device (#285)

This commit is contained in:
lollipopkit
2024-02-26 09:57:59 +08:00
parent 1f586a2c31
commit 2137bfbcd0
17 changed files with 145 additions and 22 deletions

View File

@@ -190,6 +190,7 @@ class _SettingPageState extends State<SettingPage> {
//_buildDiskIgnorePath(),
_buildDeleteServers(),
_buildTextScaler(),
_buildPreferTemperatureDeviceList(),
//if (isDesktop) _buildDoubleColumnServersPage(),
].map((e) => CardX(child: e)).toList(),
);
@@ -1153,4 +1154,37 @@ class _SettingPageState extends State<SettingPage> {
trailing: StoreSwitch(prop: _setting.containerParseStat),
);
}
Widget _buildPreferTemperatureDeviceList() {
void onSubmitted(String s) {
final list = s.split('\n');
_setting.preferTemperatureDevs.put(list);
context.pop();
}
return ListTile(
title: Text(l10n.preferTemperatureDeviceList),
subtitle: Text(l10n.preferTemperatureDeviceListTip, style: UIs.textGrey),
trailing: const Icon(Icons.keyboard_arrow_right),
onTap: () {
final list = _setting.preferTemperatureDevs.fetch();
final listStr = list.join('\n');
final ctrl = TextEditingController(text: listStr);
context.showRoundDialog(
title: Text(l10n.preferTemperatureDeviceList),
child: Input(
autoFocus: true,
controller: ctrl,
maxLines: 3,
onSubmitted: onSubmitted,
),
actions: [
TextButton(
onPressed: () => onSubmitted(ctrl.text),
child: Text(l10n.ok),
),
],
);
},
);
}
}