Commit 2c92c56
Changed files (2)
lib
components
screens
lib/components/settings_widgets.dart
@@ -231,32 +231,35 @@ class DropDownListTile<T> extends StatelessWidget {
}
}
-class SettingsSection extends StatelessWidget {
+/// A [Column] with a leading title.
+class TitledColumn extends StatelessWidget {
+
+ /// Create a [Column] with a leading title.
+ ///
+ /// Useful for labeling sub lists.
+ const TitledColumn({super.key, required this.title, required this.children});
+
+ /// Title to display above the [children].
+ ///
+ /// Usually a [Text] widget.
final Widget title;
- final List<Widget> children;
- const SettingsSection({super.key, required this.title, required this.children});
+ /// Items that get listed.
+ final List<Widget> children;
@override
Widget build(BuildContext context) {
- return Column(
- children: [
- Container(
- padding: const EdgeInsets.only(top: 15),
- child: Align(
- alignment: const Alignment(-0.93, 0),
- child: DefaultTextStyle(
- style: Theme.of(context).textTheme.titleMedium!,
- child: title),
- ),
+ final List<Widget> items = [
+ ListTile(
+ title: DefaultTextStyle(
+ style: Theme.of(context).textTheme.titleLarge!,
+ child: title
),
- Container(
- padding: const EdgeInsets.only(left: 10, right: 20), // TODO: remove
- child: Column(
- children: children,
- ),
- )
- ],
+ ),
+ ];
+ items.addAll(children);
+ return Column(
+ children: items,
);
}
}
lib/screens/settings.dart
@@ -37,7 +37,7 @@ class SettingsPage extends StatelessWidget {
body: Consumer<Settings>(builder: (context, settings, child) {
return ListView(
children: [
- SettingsSection(title: Text(localizations.layout), children: [
+ TitledColumn(title: Text(localizations.layout), children: [
ListTile(
key: const Key('EnterTimeFormatScreen'),
title: Text(localizations.enterTimeFormatScreen),
@@ -133,7 +133,7 @@ class SettingsPage extends StatelessWidget {
title: Text(localizations.useLegacyList),),
]),
- SettingsSection(title: Text(localizations.behavior), children: [
+ TitledColumn(title: Text(localizations.behavior), children: [
SwitchListTile(
key: const Key('allowManualTimeInput'),
value: settings.allowManualTimeInput,
@@ -252,7 +252,7 @@ class SettingsPage extends StatelessWidget {
}
),
]),
- SettingsSection(
+ TitledColumn(
title: Text(localizations.data),
children: [
ListTile(
@@ -320,7 +320,7 @@ class SettingsPage extends StatelessWidget {
)
],
),
- SettingsSection(title: Text(localizations.aboutWarnValuesScreen), children: [
+ TitledColumn(title: Text(localizations.aboutWarnValuesScreen), children: [
ListTile(
key: const Key('version'),
title: Text(localizations.version),