@@ -46,21 +46,19 @@ class _ThemeSetting extends StatelessWidget {
4646 Widget build (BuildContext context) {
4747 final zulipLocalizations = ZulipLocalizations .of (context);
4848 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+ ]));
6462 }
6563}
6664
@@ -135,19 +133,17 @@ class VisitFirstUnreadSettingPage extends StatelessWidget {
135133 final globalSettings = GlobalStoreWidget .settingsOf (context);
136134 return Scaffold (
137135 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+ ])));
151147 }
152148}
153149
@@ -210,24 +206,22 @@ class MarkReadOnScrollSettingPage extends StatelessWidget {
210206 final globalSettings = GlobalStoreWidget .settingsOf (context);
211207 return Scaffold (
212208 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+ ])));
231225 }
232226}
233227
0 commit comments