in dashboard/lib/build_dashboard_page.dart [99:190]
Widget _settingsDialog(BuildContext context, BuildState _buildState) {
final ThemeData theme = Theme.of(context);
return Center(
child: Container(
decoration: BoxDecoration(
color: theme.dialogBackgroundColor.withAlpha(0xe0),
borderRadius: BorderRadius.circular(20.0),
),
child: Material(
color: Colors.transparent,
child: FocusTraversalGroup(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
DropdownButton<String>(
value: _buildState.currentRepo,
icon: const Icon(
Icons.arrow_downward,
),
iconSize: 24,
elevation: 16,
underline: Container(
height: 2,
),
onChanged: (String selectedRepo) {
repo = selectedRepo;
_updateNavigation(context);
},
items: _buildState.repos.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value, style: theme.primaryTextTheme.bodyText1),
);
}).toList(),
),
DropdownButton<String>(
value: _buildState.currentBranch,
icon: const Icon(
Icons.arrow_downward,
),
iconSize: 24,
elevation: 16,
underline: Container(
height: 2,
),
onChanged: (String selectedBranch) {
branch = selectedBranch;
_updateNavigation(context);
},
items: _buildState.branches.map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value, style: theme.primaryTextTheme.bodyText1),
);
}).toList(),
),
TextButton(
child: const Text('Vacuum GitHub Commits'),
onPressed: _buildState.refreshGitHubCommits,
),
FilterPropertySheet(_filter),
Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextButton(
child: const Text('Defaults'),
onPressed: _filter.isDefault ? null : () => _filter.reset(),
),
TextButton(
child: const Text('Apply'),
onPressed: _filter == _settingsBasis ? null : () => _updateNavigation(context),
),
TextButton(
child: const Text('Cancel'),
onPressed: () {
if (_filter != _settingsBasis) {
_filter.reset();
_filter.applyMap(_settingsBasis.toMap(includeDefaults: false));
}
_removeSettingsDialog();
},
),
],
),
],
),
),
),
),
);
}