settingsList method Null safety

Widget settingsList(
  1. BuildContext context
)

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: ''),
    ],
  );
}