Implementation
Widget settingsList(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
settingsWidget(context,
title: 'defaultdistrolocation-text'.i18n(),
name: 'Default Distro Location',
tooltip: 'distropath-text'.i18n(),
suffix: IconButton(
icon: const Icon(FluentIcons.open_folder_horizontal, size: 15.0),
onPressed: () async {
String? path = await FilePicker.platform.getDirectoryPath();
if (path != null &&
_settings['Default Distro Location'] != null) {
_settings['Default Distro Location']!.text = path;
} else {
// User canceled the picker
}
},
),
placeholder: prefs.getString("SaveLocation") ?? defaultPath),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('syncipaddress-text'.i18n()),
Padding(
padding: const EdgeInsets.only(bottom: 8.0, top: 4.0),
child: Tooltip(
message: 'syncipaddress-text'.i18n(),
child: TextBox(
controller: _syncIpTextController,
placeholder: '192.168.1.20',
),
),
),
Text('repofordistro-text'.i18n()),
Padding(
padding: const EdgeInsets.only(bottom: 8.0, top: 4.0),
child: Tooltip(
message: 'repofordistro-text'.i18n(),
child: TextBox(
controller: _repoTextController,
placeholder: defaultRepoLink,
),
),
),
],
),
const Padding(
padding: EdgeInsets.only(top: 8.0, bottom: 8.0),
child: Divider(),
),
Center(
child: Text("globalconfiguration-text".i18n()),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
'globalconfigurationinfo-text'.i18n(),
style: const TextStyle(fontSize: 12.0, fontStyle: FontStyle.italic),
),
),
settingsWidget(context,
title: 'kernel',
tooltip: 'absolutewindowspath-text'.i18n(),
placeholder: ''),
settingsWidget(context,
title: 'memory',
tooltip: 'memoryinfo-text'.i18n(),
placeholder: ''),
settingsWidget(context,
title: 'processors',
tooltip: 'processorinfo-text'.i18n(),
placeholder: ''),
settingsWidget(context,
title: 'localhostForwarding',
tooltip: 'wildcardinfo-text'.i18n(),
checkbox: true),
settingsWidget(context,
title: 'kernelCommandLine',
tooltip: 'kernelcmdinfo-text'.i18n(),
placeholder: ''),
settingsWidget(context,
title: 'swap', tooltip: 'swapinfo-text'.i18n(), placeholder: ''),
settingsWidget(context,
title: 'swapFile', tooltip: 'vhdinfo-text'.i18n(), placeholder: ''),
settingsWidget(context,
title: 'pageReporting',
tooltip: 'unusedmemoryinfo-text'.i18n(),
checkbox: true),
settingsWidget(context,
title: 'guiApplications',
tooltip: 'guiinfo-text'.i18n(),
checkbox: true),
settingsWidget(context,
title: 'debugConsole',
tooltip: 'consoleinfo-text'.i18n(),
checkbox: true),
settingsWidget(context,
title: 'nestedVirtualization',
tooltip: 'nestedvirtinfo-text'.i18n(),
checkbox: true),
settingsWidget(context,
title: 'vmIdleTimeout',
tooltip: 'vmidleinfo-text'.i18n(),
placeholder: ''),
],
);
}