OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import 'package:sky/widgets/basic.dart'; | 5 import 'package:sky/widgets/basic.dart'; |
6 import 'package:sky/widgets/checkbox.dart'; | 6 import 'package:sky/widgets/checkbox.dart'; |
7 import 'package:sky/widgets/switch.dart'; | 7 import 'package:sky/widgets/dialog.dart'; |
8 import 'package:sky/widgets/flat_button.dart'; | 8 import 'package:sky/widgets/flat_button.dart'; |
9 import 'package:sky/widgets/dialog.dart'; | |
10 import 'package:sky/widgets/icon_button.dart'; | 9 import 'package:sky/widgets/icon_button.dart'; |
11 import 'package:sky/widgets/material.dart'; | 10 import 'package:sky/widgets/material.dart'; |
12 import 'package:sky/widgets/menu_item.dart'; | 11 import 'package:sky/widgets/menu_item.dart'; |
13 import 'package:sky/widgets/navigator.dart'; | 12 import 'package:sky/widgets/navigator.dart'; |
14 import 'package:sky/widgets/scaffold.dart'; | 13 import 'package:sky/widgets/scaffold.dart'; |
| 14 import 'package:sky/widgets/scrollable_viewport.dart'; |
| 15 import 'package:sky/widgets/switch.dart'; |
15 import 'package:sky/widgets/tool_bar.dart'; | 16 import 'package:sky/widgets/tool_bar.dart'; |
16 | 17 |
17 import 'stock_types.dart'; | 18 import 'stock_types.dart'; |
18 | 19 |
19 typedef void SettingsUpdater({ | 20 typedef void SettingsUpdater({ |
20 StockMode optimism, | 21 StockMode optimism, |
21 BackupMode backup | 22 BackupMode backup |
22 }); | 23 }); |
23 | 24 |
24 class StockSettings extends StatefulComponent { | 25 class StockSettings extends StatefulComponent { |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 onPressed: navigator.pop), | 83 onPressed: navigator.pop), |
83 center: new Text('Settings') | 84 center: new Text('Settings') |
84 ); | 85 ); |
85 } | 86 } |
86 | 87 |
87 Widget buildSettingsPane() { | 88 Widget buildSettingsPane() { |
88 // TODO(ianh): Once we have the gesture API hooked up, fix https://github.co
m/domokit/mojo/issues/281 | 89 // TODO(ianh): Once we have the gesture API hooked up, fix https://github.co
m/domokit/mojo/issues/281 |
89 // (whereby tapping the widgets below causes both the widget and the menu it
em to fire their callbacks) | 90 // (whereby tapping the widgets below causes both the widget and the menu it
em to fire their callbacks) |
90 return new Material( | 91 return new Material( |
91 type: MaterialType.canvas, | 92 type: MaterialType.canvas, |
92 child: new Container( | 93 child: new ScrollableViewport( |
93 padding: const EdgeDims.symmetric(vertical: 20.0), | 94 child: new Container( |
94 child: new Block([ | 95 padding: const EdgeDims.symmetric(vertical: 20.0), |
95 new MenuItem( | 96 child: new Block([ |
96 icon: 'action/thumb_up', | 97 new MenuItem( |
97 onPressed: () => _confirmOptimismChange(), | 98 icon: 'action/thumb_up', |
98 children: [ | 99 onPressed: () => _confirmOptimismChange(), |
99 new Flexible(child: new Text('Everything is awesome')), | 100 children: [ |
100 new Checkbox(value: optimism == StockMode.optimistic, onChanged: _
handleOptimismChanged) | 101 new Flexible(child: new Text('Everything is awesome')), |
101 ] | 102 new Checkbox(value: optimism == StockMode.optimistic, onChanged:
_handleOptimismChanged) |
102 ), | 103 ] |
103 new MenuItem( | 104 ), |
104 icon: 'action/backup', | 105 new MenuItem( |
105 onPressed: () { _handleBackupChanged(!(backup == BackupMode.enabled)
); }, | 106 icon: 'action/backup', |
106 children: [ | 107 onPressed: () { _handleBackupChanged(!(backup == BackupMode.enable
d)); }, |
107 new Flexible(child: new Text('Back up stock list to the cloud')), | 108 children: [ |
108 new Switch(value: backup == BackupMode.enabled, onChanged: _handle
BackupChanged) | 109 new Flexible(child: new Text('Back up stock list to the cloud'))
, |
109 ] | 110 new Switch(value: backup == BackupMode.enabled, onChanged: _hand
leBackupChanged) |
110 ), | 111 ] |
111 ]) | 112 ), |
| 113 ]) |
| 114 ) |
112 ) | 115 ) |
113 ); | 116 ); |
114 } | 117 } |
115 | 118 |
116 Widget build() { | 119 Widget build() { |
117 List<Widget> layers = [ | 120 List<Widget> layers = [ |
118 new Scaffold( | 121 new Scaffold( |
119 toolbar: buildToolBar(), | 122 toolbar: buildToolBar(), |
120 body: buildSettingsPane() | 123 body: buildSettingsPane() |
121 ) | 124 ) |
(...skipping 14 matching lines...) Expand all Loading... |
136 _handleOptimismChanged(true); | 139 _handleOptimismChanged(true); |
137 navigator.pop(); | 140 navigator.pop(); |
138 } | 141 } |
139 ), | 142 ), |
140 ] | 143 ] |
141 )); | 144 )); |
142 } | 145 } |
143 return new Stack(layers); | 146 return new Stack(layers); |
144 } | 147 } |
145 } | 148 } |
OLD | NEW |