@@ -46,21 +46,19 @@ class _ThemeSetting extends StatelessWidget {
46
46
Widget build (BuildContext context) {
47
47
final zulipLocalizations = ZulipLocalizations .of (context);
48
48
final globalSettings = GlobalStoreWidget .settingsOf (context);
49
- return Column (
50
- children: [
51
- ListTile (title: Text (zulipLocalizations.themeSettingTitle)),
52
- for (final themeSettingOption in [null , ...ThemeSetting .values])
53
- RadioListTile <ThemeSetting ?>.adaptive (
54
- title: Text (ThemeSetting .displayName (
55
- themeSetting: themeSettingOption,
56
- zulipLocalizations: zulipLocalizations)),
57
- value: themeSettingOption,
58
- // TODO(#1545) stop using the deprecated members
59
- // ignore: deprecated_member_use
60
- groupValue: globalSettings.themeSetting,
61
- // ignore: deprecated_member_use
62
- onChanged: (newValue) => _handleChange (context, newValue)),
63
- ]);
49
+ return RadioGroup <ThemeSetting ?>(
50
+ groupValue: globalSettings.themeSetting,
51
+ onChanged: (newValue) => _handleChange (context, newValue),
52
+ child: Column (
53
+ children: [
54
+ ListTile (title: Text (zulipLocalizations.themeSettingTitle)),
55
+ for (final themeSettingOption in [null , ...ThemeSetting .values])
56
+ RadioListTile <ThemeSetting ?>.adaptive (
57
+ title: Text (ThemeSetting .displayName (
58
+ themeSetting: themeSettingOption,
59
+ zulipLocalizations: zulipLocalizations)),
60
+ value: themeSettingOption),
61
+ ]));
64
62
}
65
63
}
66
64
@@ -135,19 +133,17 @@ class VisitFirstUnreadSettingPage extends StatelessWidget {
135
133
final globalSettings = GlobalStoreWidget .settingsOf (context);
136
134
return Scaffold (
137
135
appBar: AppBar (title: Text (zulipLocalizations.initialAnchorSettingTitle)),
138
- body: Column (children: [
139
- ListTile (title: Text (zulipLocalizations.initialAnchorSettingDescription)),
140
- for (final value in VisitFirstUnreadSetting .values)
141
- RadioListTile .adaptive (
142
- title: Text (_valueDisplayName (value,
143
- zulipLocalizations: zulipLocalizations)),
144
- value: value,
145
- // TODO(#1545) stop using the deprecated members
146
- // ignore: deprecated_member_use
147
- groupValue: globalSettings.visitFirstUnread,
148
- // ignore: deprecated_member_use
149
- onChanged: (newValue) => _handleChange (context, newValue)),
150
- ]));
136
+ body: RadioGroup <VisitFirstUnreadSetting >(
137
+ groupValue: globalSettings.visitFirstUnread,
138
+ onChanged: (newValue) => _handleChange (context, newValue),
139
+ child: Column (children: [
140
+ ListTile (title: Text (zulipLocalizations.initialAnchorSettingDescription)),
141
+ for (final value in VisitFirstUnreadSetting .values)
142
+ RadioListTile <VisitFirstUnreadSetting >.adaptive (
143
+ title: Text (_valueDisplayName (value,
144
+ zulipLocalizations: zulipLocalizations)),
145
+ value: value),
146
+ ])));
151
147
}
152
148
}
153
149
@@ -210,24 +206,22 @@ class MarkReadOnScrollSettingPage extends StatelessWidget {
210
206
final globalSettings = GlobalStoreWidget .settingsOf (context);
211
207
return Scaffold (
212
208
appBar: AppBar (title: Text (zulipLocalizations.markReadOnScrollSettingTitle)),
213
- body: Column (children: [
214
- ListTile (title: Text (zulipLocalizations.markReadOnScrollSettingDescription)),
215
- for (final value in MarkReadOnScrollSetting .values)
216
- RadioListTile .adaptive (
217
- title: Text (_valueDisplayName (value,
218
- zulipLocalizations: zulipLocalizations)),
219
- subtitle: () {
220
- final result = _valueDescription (value,
221
- zulipLocalizations: zulipLocalizations);
222
- return result == null ? null : Text (result);
223
- }(),
224
- value: value,
225
- // TODO(#1545) stop using the deprecated members
226
- // ignore: deprecated_member_use
227
- groupValue: globalSettings.markReadOnScroll,
228
- // ignore: deprecated_member_use
229
- onChanged: (newValue) => _handleChange (context, newValue)),
230
- ]));
209
+ body: RadioGroup <MarkReadOnScrollSetting >(
210
+ groupValue: globalSettings.markReadOnScroll,
211
+ onChanged: (newValue) => _handleChange (context, newValue),
212
+ child: Column (children: [
213
+ ListTile (title: Text (zulipLocalizations.markReadOnScrollSettingDescription)),
214
+ for (final value in MarkReadOnScrollSetting .values)
215
+ RadioListTile <MarkReadOnScrollSetting >.adaptive (
216
+ title: Text (_valueDisplayName (value,
217
+ zulipLocalizations: zulipLocalizations)),
218
+ subtitle: () {
219
+ final result = _valueDescription (value,
220
+ zulipLocalizations: zulipLocalizations);
221
+ return result == null ? null : Text (result);
222
+ }(),
223
+ value: value),
224
+ ])));
231
225
}
232
226
}
233
227
0 commit comments