Merge lp:~jonas-drange/ubuntu-system-settings/slotslayouts into lp:ubuntu-system-settings
- slotslayouts
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~jonas-drange/ubuntu-system-settings/slotslayouts |
Merge into: | lp:ubuntu-system-settings |
Prerequisite: | lp:~jonas-drange/ubuntu-system-settings/settings-listitems |
Diff against target: |
3473 lines (+758/-916) 54 files modified
plugins/about/EntryComponent.qml (+3/-5) plugins/about/PageComponent.qml (+50/-54) plugins/bluetooth/DevicePage.qml (+24/-46) plugins/bluetooth/PageComponent.qml (+55/-93) plugins/brightness/PageComponent.qml (+10/-10) plugins/cellular/Components/MultiSim.qml (+8/-12) plugins/cellular/Components/Sim.qml (+5/-1) plugins/cellular/Components/SingleSim.qml (+18/-23) plugins/cellular/PageCarrierAndApn.qml (+6/-6) plugins/cellular/PageCarriersAndApns.qml (+35/-52) plugins/cellular/PageChooseApn.qml (+18/-49) plugins/cellular/PageComponent.qml (+0/-1) plugins/flight-mode/EntryComponent.qml (+6/-6) plugins/hotspot/HotspotSetup.qml (+18/-43) plugins/hotspot/PageComponent.qml (+6/-5) plugins/language/KeyboardLayoutItem.qml (+21/-30) plugins/language/PageComponent.qml (+42/-51) plugins/language/SpellChecking.qml (+3/-3) plugins/language/SubsetView.qml (+5/-4) plugins/orientation-lock/EntryComponent.qml (+7/-7) plugins/phone/CallForwardItem.qml (+10/-8) plugins/phone/CallForwarding.qml (+1/-2) plugins/phone/CallWaiting.qml (+30/-43) plugins/phone/MultiSim.qml (+5/-12) plugins/phone/NoSims.qml (+5/-11) plugins/phone/PageComponent.qml (+4/-6) plugins/phone/ServiceInfo.qml (+6/-5) plugins/phone/Services.qml (+3/-4) plugins/phone/SingleSim.qml (+5/-12) plugins/reset/EntryComponent.qml (+2/-4) plugins/reset/PageComponent.qml (+54/-19) plugins/sound/PageComponent.qml (+36/-34) plugins/time-date/ChooseTimeZone.qml (+3/-2) plugins/time-date/PageComponent.qml (+8/-8) plugins/time-date/Scroller.qml (+6/-7) plugins/time-date/TimePicker.qml (+0/-1) plugins/wifi/AccessPoint.qml (+11/-22) plugins/wifi/DivMenuItem.qml (+3/-3) plugins/wifi/FramedMenuItem.qml (+7/-3) plugins/wifi/MenuItemFactory.qml (+5/-5) plugins/wifi/NetworkDetails.qml (+25/-28) plugins/wifi/NetworkDetailsBrief.qml (+17/-16) plugins/wifi/PageComponent.qml (+8/-12) plugins/wifi/PreviousNetworks.qml (+2/-3) plugins/wifi/SectionMenuItem.qml (+14/-29) plugins/wifi/StandardMenuItem.qml (+5/-27) plugins/wifi/SwitchMenuItem.qml (+1/-1) src/CMakeLists.txt (+1/-1) src/SystemSettings/qmldir (+1/-0) src/qml/CategorySection.qml (+13/-24) src/qml/EntryComponent.qml (+5/-49) src/qml/MainWindow.qml (+19/-6) src/ui.qrc (+1/-1) tests/autopilot/ubuntu_system_settings/tests/indicatornetwork.py (+102/-7) |
To merge this branch: | bzr merge lp:~jonas-drange/ubuntu-system-settings/slotslayouts |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Needs Fixing | |
Ubuntu Touch System Settings | Pending | ||
Review via email: mp+277861@code.launchpad.net |
This proposal has been superseded by a proposal from 2015-11-23.
Commit message
migrating to slotslayout and new designs
Description of the change
PS Jenkins bot (ps-jenkins) wrote : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1576
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 1577. By Jonas G. Drange
-
foo
- 1578. By Jonas G. Drange
-
sync with trunk
- 1579. By Jonas G. Drange
-
use listview instead of repeater as that will re-render the whole list on every change, and migrate to slotslayout and new design
- 1580. By Jonas G. Drange
-
migrate brightness panel
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1579
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 1581. By Jonas G. Drange
-
merge latest from listitems
- 1582. By Jonas G. Drange
-
change to find instead of search icon, and swap FM with orientation lock
- 1583. By Jonas G. Drange
-
change icons that we have
- 1584. By Jonas G. Drange
-
start working on battery panel
- 1585. By Jonas G. Drange
-
undoing drawaxes change
Unmerged revisions
Preview Diff
1 | === modified file 'plugins/about/EntryComponent.qml' | |||
2 | --- plugins/about/EntryComponent.qml 2015-08-10 13:31:45 +0000 | |||
3 | +++ plugins/about/EntryComponent.qml 2015-11-23 13:42:19 +0000 | |||
4 | @@ -1,7 +1,7 @@ | |||
5 | 1 | /* | 1 | /* |
6 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
7 | 3 | * | 3 | * |
9 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
10 | 5 | * | 5 | * |
11 | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> |
12 | 7 | * | 7 | * |
13 | @@ -19,15 +19,13 @@ | |||
14 | 19 | */ | 19 | */ |
15 | 20 | 20 | ||
16 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
17 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
18 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
19 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
20 | 24 | 24 | ||
22 | 25 | ListItem.Standard { | 25 | SettingsListItems.IconProgression { |
23 | 26 | id: root | 26 | id: root |
24 | 27 | 27 | ||
25 | 28 | objectName: "entryComponent-about" | 28 | objectName: "entryComponent-about" |
26 | 29 | iconSource: Qt.resolvedUrl(model.icon) | 29 | iconSource: Qt.resolvedUrl(model.icon) |
27 | 30 | iconFrame: false | ||
28 | 31 | text: i18n.tr(model.displayName) | 30 | text: i18n.tr(model.displayName) |
29 | 32 | progression: true | ||
30 | 33 | } | 31 | } |
31 | 34 | 32 | ||
32 | === modified file 'plugins/about/PageComponent.qml' | |||
33 | --- plugins/about/PageComponent.qml 2015-10-29 15:48:06 +0000 | |||
34 | +++ plugins/about/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
35 | @@ -21,8 +21,9 @@ | |||
36 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
37 | 22 | import QtSystemInfo 5.0 | 22 | import QtSystemInfo 5.0 |
38 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
39 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
40 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
42 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | 26 | import Ubuntu.Components.ListItems 1.3 as ListItems |
43 | 26 | import Ubuntu.SystemSettings.StorageAbout 1.0 | 27 | import Ubuntu.SystemSettings.StorageAbout 1.0 |
44 | 27 | import Ubuntu.SystemSettings.Update 1.0 | 28 | import Ubuntu.SystemSettings.Update 1.0 |
45 | 28 | import MeeGo.QOfono 0.2 | 29 | import MeeGo.QOfono 0.2 |
46 | @@ -69,31 +70,30 @@ | |||
47 | 69 | anchors.left: parent.left | 70 | anchors.left: parent.left |
48 | 70 | anchors.right: parent.right | 71 | anchors.right: parent.right |
49 | 71 | 72 | ||
72 | 72 | ListItem.Empty { | 73 | Column { |
73 | 73 | height: ubuntuLabel.height + deviceLabel.height + units.gu(6) | 74 | anchors.left: parent.left |
74 | 74 | 75 | anchors.right: parent.right | |
75 | 75 | Column { | 76 | Label { |
76 | 76 | anchors.left: parent.left | 77 | id: ubuntuLabel |
77 | 77 | anchors.right: parent.right | 78 | anchors { |
78 | 78 | anchors.centerIn: parent | 79 | left: parent.left |
79 | 79 | spacing: units.gu(2) | 80 | right: parent.right |
80 | 80 | Label { | 81 | } |
81 | 81 | id: ubuntuLabel | 82 | height: contentHeight + units.gu(2) |
82 | 82 | anchors.horizontalCenter: parent.horizontalCenter | 83 | horizontalAlignment: Text.AlignHCenter |
83 | 83 | text: "" | 84 | verticalAlignment: Text.AlignVCenter |
84 | 84 | fontSize: "x-large" | 85 | text: "" |
85 | 85 | } | 86 | fontSize: "x-large" |
86 | 86 | Label { | 87 | } |
87 | 87 | id: deviceLabel | 88 | Label { |
88 | 88 | objectName: "deviceLabel" | 89 | id: deviceLabel |
89 | 89 | anchors.horizontalCenter: parent.horizontalCenter | 90 | objectName: "deviceLabel" |
90 | 90 | text: deviceInfos.manufacturer() ? deviceInfos.manufacturer() + " " + deviceInfos.model() : backendInfos.vendorString | 91 | anchors.horizontalCenter: parent.horizontalCenter |
91 | 91 | } | 92 | text: deviceInfos.manufacturer() ? deviceInfos.manufacturer() + " " + deviceInfos.model() : backendInfos.vendorString |
92 | 92 | } | 93 | } |
71 | 93 | highlightWhenPressed: false | ||
93 | 94 | } | 94 | } |
94 | 95 | 95 | ||
96 | 96 | ListItem.SingleValue { | 96 | SettingsListItems.SingleValue { |
97 | 97 | id: serialItem | 97 | id: serialItem |
98 | 98 | objectName: "serialItem" | 98 | objectName: "serialItem" |
99 | 99 | text: i18n.tr("Serial") | 99 | text: i18n.tr("Serial") |
100 | @@ -101,7 +101,7 @@ | |||
101 | 101 | visible: backendInfos.serialNumber | 101 | visible: backendInfos.serialNumber |
102 | 102 | } | 102 | } |
103 | 103 | 103 | ||
105 | 104 | ListItem.SingleValue { | 104 | SettingsListItems.SingleValue { |
106 | 105 | objectName: "imeiItem" | 105 | objectName: "imeiItem" |
107 | 106 | property string imeiNumber | 106 | property string imeiNumber |
108 | 107 | imeiNumber: deviceInfos.imei(0) | 107 | imeiNumber: deviceInfos.imei(0) |
109 | @@ -111,21 +111,21 @@ | |||
110 | 111 | visible: modemsSorted.length <= 1 | 111 | visible: modemsSorted.length <= 1 |
111 | 112 | } | 112 | } |
112 | 113 | 113 | ||
126 | 114 | ListItem.MultiValue { | 114 | // ListItem.MultiValue { |
127 | 115 | text: "IMEI" | 115 | // text: "IMEI" |
128 | 116 | objectName: "imeiItems" | 116 | // objectName: "imeiItems" |
129 | 117 | values: { | 117 | // values: { |
130 | 118 | var imeis = []; | 118 | // var imeis = []; |
131 | 119 | modemsSorted.forEach(function (path, i) { | 119 | // modemsSorted.forEach(function (path, i) { |
132 | 120 | var imei = deviceInfos.imei(i); | 120 | // var imei = deviceInfos.imei(i); |
133 | 121 | imei ? imeis.push(imei) : imeis.push(i18n.tr("None")); | 121 | // imei ? imeis.push(imei) : imeis.push(i18n.tr("None")); |
134 | 122 | }); | 122 | // }); |
135 | 123 | return imeis; | 123 | // return imeis; |
136 | 124 | } | 124 | // } |
137 | 125 | visible: modemsSorted.length > 1 | 125 | // visible: modemsSorted.length > 1 |
138 | 126 | } | 126 | // } |
139 | 127 | 127 | ||
141 | 128 | ListItem.SingleValue { | 128 | SettingsListItems.SingleValue { |
142 | 129 | property string address: wlinfo.macAddress(NetworkInfo.WlanMode, 0) | 129 | property string address: wlinfo.macAddress(NetworkInfo.WlanMode, 0) |
143 | 130 | text: i18n.tr("Wi-Fi address") | 130 | text: i18n.tr("Wi-Fi address") |
144 | 131 | value: address ? address.toUpperCase() : "" | 131 | value: address ? address.toUpperCase() : "" |
145 | @@ -133,7 +133,7 @@ | |||
146 | 133 | showDivider: bthwaddr.visible | 133 | showDivider: bthwaddr.visible |
147 | 134 | } | 134 | } |
148 | 135 | 135 | ||
150 | 136 | ListItem.SingleValue { | 136 | SettingsListItems.SingleValue { |
151 | 137 | id: bthwaddr | 137 | id: bthwaddr |
152 | 138 | text: i18n.tr("Bluetooth address") | 138 | text: i18n.tr("Bluetooth address") |
153 | 139 | value: network.bluetoothMacAddress | 139 | value: network.bluetoothMacAddress |
154 | @@ -141,15 +141,14 @@ | |||
155 | 141 | showDivider: false | 141 | showDivider: false |
156 | 142 | } | 142 | } |
157 | 143 | 143 | ||
159 | 144 | ListItem.Divider {} | 144 | ListItems.Divider {} |
160 | 145 | 145 | ||
162 | 146 | ListItem.SingleValue { | 146 | SettingsListItems.SingleValueProgression { |
163 | 147 | id: storageItem | 147 | id: storageItem |
164 | 148 | objectName: "storageItem" | 148 | objectName: "storageItem" |
165 | 149 | text: i18n.tr("Storage") | 149 | text: i18n.tr("Storage") |
166 | 150 | /* TRANSLATORS: that's the free disk space, indicated in the most appropriate storage unit */ | 150 | /* TRANSLATORS: that's the free disk space, indicated in the most appropriate storage unit */ |
167 | 151 | value: i18n.tr("%1 free").arg(Utilities.formatSize(backendInfos.getFreeSpace("/home"))) | 151 | value: i18n.tr("%1 free").arg(Utilities.formatSize(backendInfos.getFreeSpace("/home"))) |
168 | 152 | progression: true | ||
169 | 153 | onClicked: pageStack.push(Qt.resolvedUrl("Storage.qml")) | 152 | onClicked: pageStack.push(Qt.resolvedUrl("Storage.qml")) |
170 | 154 | } | 153 | } |
171 | 155 | 154 | ||
172 | @@ -158,7 +157,7 @@ | |||
173 | 158 | text: i18n.tr("Software:") | 157 | text: i18n.tr("Software:") |
174 | 159 | } | 158 | } |
175 | 160 | 159 | ||
177 | 161 | ListItem.SingleValue { | 160 | SettingsListItems.SingleValueProgression { |
178 | 162 | property string versionIdentifier: { | 161 | property string versionIdentifier: { |
179 | 163 | var num = UpdateManager.currentBuildNumber; | 162 | var num = UpdateManager.currentBuildNumber; |
180 | 164 | var ota = UpdateManager.detailedVersionDetails['tag']; | 163 | var ota = UpdateManager.detailedVersionDetails['tag']; |
181 | @@ -170,21 +169,21 @@ | |||
182 | 170 | value: "Ubuntu %1%2" | 169 | value: "Ubuntu %1%2" |
183 | 171 | .arg(deviceInfos.version(DeviceInfo.Os)) | 170 | .arg(deviceInfos.version(DeviceInfo.Os)) |
184 | 172 | .arg(versionIdentifier ? " (%1)".arg(versionIdentifier) : "") | 171 | .arg(versionIdentifier ? " (%1)".arg(versionIdentifier) : "") |
185 | 173 | progression: true | ||
186 | 174 | onClicked: pageStack.push(Qt.resolvedUrl("Version.qml"), { | 172 | onClicked: pageStack.push(Qt.resolvedUrl("Version.qml"), { |
187 | 175 | version: versionIdentifier | 173 | version: versionIdentifier |
188 | 176 | }) | 174 | }) |
189 | 177 | } | 175 | } |
190 | 178 | 176 | ||
192 | 179 | ListItem.SingleValue { | 177 | SettingsListItems.SingleValueProgression { |
193 | 180 | objectName: "lastUpdatedItem" | 178 | objectName: "lastUpdatedItem" |
194 | 181 | text: i18n.tr("Last updated") | 179 | text: i18n.tr("Last updated") |
195 | 182 | value: UpdateManager.lastUpdateDate && !isNaN(UpdateManager.lastUpdateDate) ? | 180 | value: UpdateManager.lastUpdateDate && !isNaN(UpdateManager.lastUpdateDate) ? |
196 | 183 | Qt.formatDate(UpdateManager.lastUpdateDate) : i18n.tr("Never") | 181 | Qt.formatDate(UpdateManager.lastUpdateDate) : i18n.tr("Never") |
197 | 184 | } | 182 | } |
198 | 185 | 183 | ||
201 | 186 | ListItem.SingleControl { | 184 | SettingsListItems.SingleControl { |
202 | 187 | control: Button { | 185 | |
203 | 186 | Button { | ||
204 | 188 | objectName: "updateButton" | 187 | objectName: "updateButton" |
205 | 189 | text: i18n.tr("Check for updates") | 188 | text: i18n.tr("Check for updates") |
206 | 190 | width: parent.width - units.gu(4) | 189 | width: parent.width - units.gu(4) |
207 | @@ -209,26 +208,23 @@ | |||
208 | 209 | text: i18n.tr("Legal:") | 208 | text: i18n.tr("Legal:") |
209 | 210 | } | 209 | } |
210 | 211 | 210 | ||
212 | 212 | ListItem.Standard { | 211 | SettingsListItems.StandardProgression { |
213 | 213 | objectName: "licenseItem" | 212 | objectName: "licenseItem" |
214 | 214 | text: i18n.tr("Software licenses") | 213 | text: i18n.tr("Software licenses") |
215 | 215 | progression: true | ||
216 | 216 | onClicked: pageStack.push(Qt.resolvedUrl("Software.qml")) | 214 | onClicked: pageStack.push(Qt.resolvedUrl("Software.qml")) |
217 | 217 | } | 215 | } |
218 | 218 | 216 | ||
220 | 219 | ListItem.Standard { | 217 | SettingsListItems.StandardProgression { |
221 | 220 | property var regulatoryInfo: | 218 | property var regulatoryInfo: |
222 | 221 | pluginManager.getByName("regulatory-information") | 219 | pluginManager.getByName("regulatory-information") |
223 | 222 | text: i18n.tr("Regulatory info") | 220 | text: i18n.tr("Regulatory info") |
224 | 223 | progression: true | ||
225 | 224 | visible: regulatoryInfo | 221 | visible: regulatoryInfo |
226 | 225 | onClicked: pageStack.push(regulatoryInfo.pageComponent) | 222 | onClicked: pageStack.push(regulatoryInfo.pageComponent) |
227 | 226 | } | 223 | } |
228 | 227 | 224 | ||
230 | 228 | ListItem.SingleValue { | 225 | SettingsListItems.SingleValueProgression { |
231 | 229 | objectName: "devmodeItem" | 226 | objectName: "devmodeItem" |
232 | 230 | text: i18n.tr("Developer mode") | 227 | text: i18n.tr("Developer mode") |
233 | 231 | progression: true | ||
234 | 232 | onClicked: pageStack.push(Qt.resolvedUrl("DevMode.qml")) | 228 | onClicked: pageStack.push(Qt.resolvedUrl("DevMode.qml")) |
235 | 233 | } | 229 | } |
236 | 234 | } | 230 | } |
237 | 235 | 231 | ||
238 | === modified file 'plugins/bluetooth/DevicePage.qml' | |||
239 | --- plugins/bluetooth/DevicePage.qml 2015-11-12 09:53:00 +0000 | |||
240 | +++ plugins/bluetooth/DevicePage.qml 2015-11-23 13:42:19 +0000 | |||
241 | @@ -21,9 +21,9 @@ | |||
242 | 21 | import QMenuModel 0.1 | 21 | import QMenuModel 0.1 |
243 | 22 | import QtQuick 2.0 | 22 | import QtQuick 2.0 |
244 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
245 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
246 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
247 | 25 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
248 | 26 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
249 | 27 | import Ubuntu.SystemSettings.Bluetooth 1.0 | 27 | import Ubuntu.SystemSettings.Bluetooth 1.0 |
250 | 28 | 28 | ||
251 | 29 | Page { | 29 | Page { |
252 | @@ -96,63 +96,37 @@ | |||
253 | 96 | right: parent.right | 96 | right: parent.right |
254 | 97 | } | 97 | } |
255 | 98 | 98 | ||
257 | 99 | ListItem.SingleValue { | 99 | SettingsListItems.SingleValue { |
258 | 100 | text: i18n.tr("Name") | 100 | text: i18n.tr("Name") |
259 | 101 | value: backend.selectedDevice && | 101 | value: backend.selectedDevice && |
260 | 102 | backend.selectedDevice.name.length > 0 ? | 102 | backend.selectedDevice.name.length > 0 ? |
261 | 103 | backend.selectedDevice.name : | 103 | backend.selectedDevice.name : |
262 | 104 | i18n.tr("None") | 104 | i18n.tr("None") |
263 | 105 | } | 105 | } |
300 | 106 | ListItem.Standard { | 106 | SettingsListItems.SingleValue { |
301 | 107 | Rectangle { | 107 | text: i18n.tr("Type") |
302 | 108 | color: "transparent" | 108 | value: getTypeString(backend.selectedDevice ? backend.selectedDevice.type : Device.OTHER) |
303 | 109 | anchors.fill: parent | 109 | Image { |
304 | 110 | anchors.topMargin: units.gu(1) | 110 | height: units.gu(4) |
305 | 111 | anchors.leftMargin: units.gu(2) | 111 | width: units.gu(4) |
306 | 112 | anchors.rightMargin: units.gu(2) | 112 | source: backend.selectedDevice ? backend.selectedDevice.iconName : "" |
307 | 113 | 113 | visible: source | |
308 | 114 | Label { | 114 | SlotsLayout.position: SlotsLayout.Trailing-1 |
273 | 115 | anchors { | ||
274 | 116 | top: parent.top | ||
275 | 117 | left: parent.left | ||
276 | 118 | topMargin: units.gu(1) | ||
277 | 119 | } | ||
278 | 120 | height: units.gu(3) | ||
279 | 121 | text: i18n.tr("Type") | ||
280 | 122 | } | ||
281 | 123 | Image { | ||
282 | 124 | anchors { | ||
283 | 125 | right: deviceType.left | ||
284 | 126 | rightMargin: units.gu(1) | ||
285 | 127 | } | ||
286 | 128 | height: units.gu(4) | ||
287 | 129 | width: units.gu(4) | ||
288 | 130 | source: backend.selectedDevice ? backend.selectedDevice.iconName : "" | ||
289 | 131 | } | ||
290 | 132 | Label { | ||
291 | 133 | id: deviceType | ||
292 | 134 | anchors { | ||
293 | 135 | top: parent.top | ||
294 | 136 | right: parent.right | ||
295 | 137 | topMargin: units.gu(1) | ||
296 | 138 | } | ||
297 | 139 | height: units.gu(3) | ||
298 | 140 | text: getTypeString(backend.selectedDevice ? backend.selectedDevice.type : Device.OTHER) | ||
299 | 141 | } | ||
309 | 142 | } | 115 | } |
310 | 143 | } | 116 | } |
312 | 144 | ListItem.SingleValue { | 117 | SettingsListItems.SingleValue { |
313 | 145 | text: i18n.tr("Status") | 118 | text: i18n.tr("Status") |
314 | 146 | value: getStatusString(backend.selectedDevice ? backend.selectedDevice.connection : Device.Disconnected) | 119 | value: getStatusString(backend.selectedDevice ? backend.selectedDevice.connection : Device.Disconnected) |
315 | 147 | } | 120 | } |
317 | 148 | ListItem.SingleValue { | 121 | SettingsListItems.SingleValue { |
318 | 149 | text: i18n.tr("Signal Strength") | 122 | text: i18n.tr("Signal Strength") |
319 | 150 | value: getSignalString(backend.selectedDevice ? backend.selectedDevice.strength : Device.None) | 123 | value: getSignalString(backend.selectedDevice ? backend.selectedDevice.strength : Device.None) |
320 | 151 | } | 124 | } |
322 | 152 | ListItem.Standard { | 125 | SettingsListItems.Standard { |
323 | 153 | id: trustedCheck | 126 | id: trustedCheck |
324 | 154 | text: i18n.tr("Connect automatically when detected:") | 127 | text: i18n.tr("Connect automatically when detected:") |
326 | 155 | control: CheckBox { | 128 | |
327 | 129 | CheckBox { | ||
328 | 156 | property bool serverChecked: backend.selectedDevice ? backend.selectedDevice.trusted : false | 130 | property bool serverChecked: backend.selectedDevice ? backend.selectedDevice.trusted : false |
329 | 157 | onServerCheckedChanged: checked = serverChecked | 131 | onServerCheckedChanged: checked = serverChecked |
330 | 158 | Component.onCompleted: checked = serverChecked | 132 | Component.onCompleted: checked = serverChecked |
331 | @@ -163,8 +137,10 @@ | |||
332 | 163 | } | 137 | } |
333 | 164 | } | 138 | } |
334 | 165 | } | 139 | } |
337 | 166 | ListItem.SingleControl { | 140 | |
338 | 167 | control: Button { | 141 | SettingsListItems.SingleControl { |
339 | 142 | |||
340 | 143 | Button { | ||
341 | 168 | text: backend.selectedDevice && (backend.selectedDevice.connection == Device.Connected || backend.selectedDevice.connection == Device.Connecting) ? i18n.tr("Disconnect") : i18n.tr("Connect") | 144 | text: backend.selectedDevice && (backend.selectedDevice.connection == Device.Connected || backend.selectedDevice.connection == Device.Connecting) ? i18n.tr("Disconnect") : i18n.tr("Connect") |
342 | 169 | width: parent.width - units.gu(8) | 145 | width: parent.width - units.gu(8) |
343 | 170 | onClicked: { | 146 | onClicked: { |
344 | @@ -184,8 +160,10 @@ | |||
345 | 184 | enabled: backend.selectedDevice && backend.powered ? (backend.isSupportedType(backend.selectedDevice.type) || backend.selectedDevice.connection != Device.Disconnected) : false | 160 | enabled: backend.selectedDevice && backend.powered ? (backend.isSupportedType(backend.selectedDevice.type) || backend.selectedDevice.connection != Device.Disconnected) : false |
346 | 185 | } | 161 | } |
347 | 186 | } | 162 | } |
350 | 187 | ListItem.SingleControl { | 163 | |
351 | 188 | control: Button { | 164 | SettingsListItems.SingleControl { |
352 | 165 | |||
353 | 166 | Button { | ||
354 | 189 | text: i18n.tr("Forget this device") | 167 | text: i18n.tr("Forget this device") |
355 | 190 | width: parent.width - units.gu(8) | 168 | width: parent.width - units.gu(8) |
356 | 191 | onClicked: { | 169 | onClicked: { |
357 | 192 | 170 | ||
358 | === modified file 'plugins/bluetooth/PageComponent.qml' | |||
359 | --- plugins/bluetooth/PageComponent.qml 2015-11-20 08:47:27 +0000 | |||
360 | +++ plugins/bluetooth/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
361 | @@ -21,9 +21,9 @@ | |||
362 | 21 | import QMenuModel 0.1 | 21 | import QMenuModel 0.1 |
363 | 22 | import QtQuick 2.4 | 22 | import QtQuick 2.4 |
364 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
365 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
366 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
367 | 25 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
368 | 26 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
369 | 27 | import Ubuntu.SystemSettings.Bluetooth 1.0 | 27 | import Ubuntu.SystemSettings.Bluetooth 1.0 |
370 | 28 | import Ubuntu.Settings.Components 0.1 as USC | 28 | import Ubuntu.Settings.Components 0.1 as USC |
371 | 29 | 29 | ||
372 | @@ -215,9 +215,10 @@ | |||
373 | 215 | Component.onCompleted: start() | 215 | Component.onCompleted: start() |
374 | 216 | } | 216 | } |
375 | 217 | 217 | ||
377 | 218 | ListItem.Standard { | 218 | SettingsListItems.Standard { |
378 | 219 | text: i18n.tr("Bluetooth") | 219 | text: i18n.tr("Bluetooth") |
380 | 220 | control: Switch { | 220 | |
381 | 221 | Switch { | ||
382 | 221 | id: btSwitch | 222 | id: btSwitch |
383 | 222 | property bool serverChecked: bluetoothActionGroup.enabled.state != undefined ? bluetoothActionGroup.enabled.state : false | 223 | property bool serverChecked: bluetoothActionGroup.enabled.state != undefined ? bluetoothActionGroup.enabled.state : false |
384 | 223 | USC.ServerPropertySynchroniser { | 224 | USC.ServerPropertySynchroniser { |
385 | @@ -232,77 +233,59 @@ | |||
386 | 232 | } | 233 | } |
387 | 233 | 234 | ||
388 | 234 | // Discoverability | 235 | // Discoverability |
390 | 235 | ListItem.Standard { | 236 | SettingsListItems.SingleValue { |
391 | 237 | text: backend.discoverable ? i18n.tr("Discoverable") : i18n.tr("Not discoverable") | ||
392 | 238 | value: backend.discoverable ? backend.adapterName() : "" | ||
393 | 236 | enabled: bluetoothActionGroup.enabled | 239 | enabled: bluetoothActionGroup.enabled |
394 | 237 | showDivider: false | 240 | showDivider: false |
395 | 238 | 241 | ||
435 | 239 | Rectangle { | 242 | ActivityIndicator { |
436 | 240 | color: "transparent" | 243 | visible: backend.powered && !backend.discoverable |
437 | 241 | anchors.fill: parent | 244 | running: visible |
399 | 242 | anchors.topMargin: units.gu(1) | ||
400 | 243 | anchors.leftMargin: units.gu(2) | ||
401 | 244 | anchors.rightMargin: units.gu(2) | ||
402 | 245 | |||
403 | 246 | Label { | ||
404 | 247 | anchors { | ||
405 | 248 | top: parent.top | ||
406 | 249 | left: parent.left | ||
407 | 250 | topMargin: units.gu(1) | ||
408 | 251 | } | ||
409 | 252 | height: units.gu(3) | ||
410 | 253 | text: backend.discoverable ? i18n.tr("Discoverable") : i18n.tr("Not discoverable") | ||
411 | 254 | } | ||
412 | 255 | |||
413 | 256 | Label { | ||
414 | 257 | anchors { | ||
415 | 258 | top: parent.top | ||
416 | 259 | right: parent.right | ||
417 | 260 | topMargin: units.gu(1) | ||
418 | 261 | } | ||
419 | 262 | height: units.gu(3) | ||
420 | 263 | text: backend.discoverable ? backend.adapterName() : "" | ||
421 | 264 | color: "darkgrey" | ||
422 | 265 | visible: backend.discoverable | ||
423 | 266 | enabled: false | ||
424 | 267 | } | ||
425 | 268 | |||
426 | 269 | ActivityIndicator { | ||
427 | 270 | anchors { | ||
428 | 271 | top: parent.top | ||
429 | 272 | right: parent.right | ||
430 | 273 | topMargin: units.gu(1) | ||
431 | 274 | } | ||
432 | 275 | visible: backend.powered && !backend.discoverable | ||
433 | 276 | running: visible | ||
434 | 277 | } | ||
438 | 278 | } | 245 | } |
439 | 279 | } | 246 | } |
440 | 280 | 247 | ||
442 | 281 | ListItem.Standard { | 248 | SettingsItemTitle { |
443 | 282 | id: connectedHeader | 249 | id: connectedHeader |
446 | 283 | text: i18n.tr("Connected devices:") | 250 | text: i18n.tr("Connect a device") |
445 | 284 | |||
447 | 285 | enabled: bluetoothActionGroup.enabled | 251 | enabled: bluetoothActionGroup.enabled |
449 | 286 | visible: connectedList.visible | 252 | visible: connectList.visible |
450 | 253 | |||
451 | 254 | ActivityIndicator { | ||
452 | 255 | anchors { | ||
453 | 256 | right: parent.right | ||
454 | 257 | top: parent.top | ||
455 | 258 | margins: units.gu(1.5) | ||
456 | 259 | } | ||
457 | 260 | visible: backend.powered && backend.discovering | ||
458 | 261 | running: visible | ||
459 | 262 | } | ||
460 | 287 | } | 263 | } |
461 | 288 | 264 | ||
462 | 289 | Column { | 265 | Column { |
464 | 290 | id: connectedList | 266 | |
465 | 291 | anchors { | 267 | anchors { |
466 | 292 | left: parent.left | 268 | left: parent.left |
467 | 293 | right: parent.right | 269 | right: parent.right |
468 | 294 | } | 270 | } |
469 | 295 | visible: (bluetoothActionGroup.enabled.state != undefined && bluetoothActionGroup.enabled.state) && (connectedRepeater.count > 0) | ||
470 | 296 | objectName: "connectedList" | ||
471 | 297 | 271 | ||
474 | 298 | Repeater { | 272 | ListView { |
475 | 299 | id: connectedRepeater | 273 | id: connectList |
476 | 274 | height: contentItem.height | ||
477 | 275 | anchors { | ||
478 | 276 | left: parent.left | ||
479 | 277 | right: parent.right | ||
480 | 278 | } | ||
481 | 279 | visible: (bluetoothActionGroup.enabled.state != undefined && bluetoothActionGroup.enabled.state) | ||
482 | 280 | objectName: "connectedList" | ||
483 | 300 | model: backend.connectedDevices | 281 | model: backend.connectedDevices |
485 | 301 | delegate: ListItem.Standard { | 282 | delegate: SettingsListItems.IconProgression { |
486 | 302 | iconSource: iconPath | 283 | iconSource: iconPath |
487 | 303 | iconFrame: false | ||
488 | 304 | text: getDisplayName(type, displayName) | 284 | text: getDisplayName(type, displayName) |
490 | 305 | control: ActivityIndicator { | 285 | layout.subtitle.text: connection == Device.Connecting ? i18n.tr("Connecting…") : i18n.tr("Connected") |
491 | 286 | layout.subtitle.color: UbuntuColors.green | ||
492 | 287 | |||
493 | 288 | ActivityIndicator { | ||
494 | 306 | visible: connection == Device.Connecting | 289 | visible: connection == Device.Connecting |
495 | 307 | running: visible | 290 | running: visible |
496 | 308 | } | 291 | } |
497 | @@ -310,50 +293,31 @@ | |||
498 | 310 | backend.setSelectedDevice(addressName); | 293 | backend.setSelectedDevice(addressName); |
499 | 311 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); | 294 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); |
500 | 312 | } | 295 | } |
527 | 313 | progression: true | 296 | } |
528 | 314 | } | 297 | } |
529 | 315 | } | 298 | |
530 | 316 | } | 299 | ListView { |
531 | 317 | 300 | id: disconnectedList | |
532 | 318 | SettingsItemTitle { | 301 | height: contentItem.height |
533 | 319 | id: disconnectedHeader | 302 | anchors { |
534 | 320 | text: connectedList.visible ? i18n.tr("Connect another device:") : i18n.tr("Connect a device:") | 303 | left: parent.left |
535 | 321 | enabled: bluetoothActionGroup.enabled.state != undefined ? bluetoothActionGroup.enabled.state : false | 304 | right: parent.right |
536 | 322 | control: ActivityIndicator { | 305 | } |
511 | 323 | visible: backend.powered && backend.discovering | ||
512 | 324 | running: visible | ||
513 | 325 | } | ||
514 | 326 | } | ||
515 | 327 | |||
516 | 328 | Column { | ||
517 | 329 | id: disconnectedList | ||
518 | 330 | anchors { | ||
519 | 331 | left: parent.left | ||
520 | 332 | right: parent.right | ||
521 | 333 | } | ||
522 | 334 | visible: (bluetoothActionGroup.enabled.state != undefined && bluetoothActionGroup.enabled.state) && (disconnectedRepeater.count > 0) | ||
523 | 335 | objectName: "disconnectedList" | ||
524 | 336 | |||
525 | 337 | Repeater { | ||
526 | 338 | id: disconnectedRepeater | ||
537 | 339 | model: backend.disconnectedDevices | 306 | model: backend.disconnectedDevices |
539 | 340 | delegate: ListItem.Standard { | 307 | delegate: SettingsListItems.IconProgression { |
540 | 341 | iconSource: iconPath | 308 | iconSource: iconPath |
541 | 342 | iconFrame: false | ||
542 | 343 | text: getDisplayName(type, displayName) | 309 | text: getDisplayName(type, displayName) |
543 | 344 | onClicked: { | 310 | onClicked: { |
544 | 345 | backend.setSelectedDevice(addressName); | 311 | backend.setSelectedDevice(addressName); |
545 | 346 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); | 312 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); |
546 | 347 | } | 313 | } |
547 | 348 | progression: true | ||
548 | 349 | } | 314 | } |
549 | 350 | } | 315 | } |
556 | 351 | } | 316 | |
557 | 352 | ListItem.Standard { | 317 | SettingsListItems.Standard { |
558 | 353 | id: disconnectedNone | 318 | text: i18n.tr("None detected") |
559 | 354 | text: i18n.tr("None detected") | 319 | visible: connectList.count === 0 && disconnectedList.count === 0 |
560 | 355 | visible: !disconnectedList.visible && disconnectedHeader.visible | 320 | } |
555 | 356 | enabled: false | ||
561 | 357 | } | 321 | } |
562 | 358 | 322 | ||
563 | 359 | SettingsItemTitle { | 323 | SettingsItemTitle { |
564 | @@ -374,15 +338,13 @@ | |||
565 | 374 | Repeater { | 338 | Repeater { |
566 | 375 | id: autoconnectRepeater | 339 | id: autoconnectRepeater |
567 | 376 | model: backend.autoconnectDevices | 340 | model: backend.autoconnectDevices |
569 | 377 | delegate: ListItem.Standard { | 341 | delegate: SettingsListItems.IconProgression { |
570 | 378 | iconSource: iconPath | 342 | iconSource: iconPath |
571 | 379 | iconFrame: false | ||
572 | 380 | text: getDisplayName(type, displayName) | 343 | text: getDisplayName(type, displayName) |
573 | 381 | onClicked: { | 344 | onClicked: { |
574 | 382 | backend.setSelectedDevice(addressName); | 345 | backend.setSelectedDevice(addressName); |
575 | 383 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); | 346 | pageStack.push(Qt.resolvedUrl("DevicePage.qml"), {backend: backend, root: root}); |
576 | 384 | } | 347 | } |
577 | 385 | progression: true | ||
578 | 386 | } | 348 | } |
579 | 387 | } | 349 | } |
580 | 388 | } | 350 | } |
581 | 389 | 351 | ||
582 | === modified file 'plugins/brightness/PageComponent.qml' | |||
583 | --- plugins/brightness/PageComponent.qml 2015-08-10 13:31:45 +0000 | |||
584 | +++ plugins/brightness/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
585 | @@ -1,7 +1,7 @@ | |||
586 | 1 | /* | 1 | /* |
587 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
588 | 3 | * | 3 | * |
590 | 4 | * Copyright (C) 2013-14 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
591 | 5 | * | 5 | * |
592 | 6 | * Contact: Iain Lane <iain.lane@canonical.com> | 6 | * Contact: Iain Lane <iain.lane@canonical.com> |
593 | 7 | * | 7 | * |
594 | @@ -21,8 +21,8 @@ | |||
595 | 21 | import GSettings 1.0 | 21 | import GSettings 1.0 |
596 | 22 | import QtQuick 2.4 | 22 | import QtQuick 2.4 |
597 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
598 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
599 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
600 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
601 | 26 | import Ubuntu.SystemSettings.Brightness 1.0 | 26 | import Ubuntu.SystemSettings.Brightness 1.0 |
602 | 27 | import Ubuntu.Settings.Menus 0.1 as Menus | 27 | import Ubuntu.Settings.Menus 0.1 as Menus |
603 | 28 | import Ubuntu.Settings.Components 0.1 as USC | 28 | import Ubuntu.Settings.Components 0.1 as USC |
604 | @@ -53,7 +53,7 @@ | |||
605 | 53 | Component.onCompleted: start() | 53 | Component.onCompleted: start() |
606 | 54 | } | 54 | } |
607 | 55 | 55 | ||
609 | 56 | ListItem.Standard { | 56 | SettingsListItems.Standard { |
610 | 57 | text: i18n.tr("Display brightness") | 57 | text: i18n.tr("Display brightness") |
611 | 58 | showDivider: false | 58 | showDivider: false |
612 | 59 | } | 59 | } |
613 | @@ -84,12 +84,17 @@ | |||
614 | 84 | } | 84 | } |
615 | 85 | } | 85 | } |
616 | 86 | 86 | ||
618 | 87 | ListItem.Standard { | 87 | SettingsListItems.Standard { |
619 | 88 | id: adjust | 88 | id: adjust |
620 | 89 | text: i18n.tr("Adjust automatically") | 89 | text: i18n.tr("Adjust automatically") |
621 | 90 | visible: brightnessPanel.powerdRunning && | 90 | visible: brightnessPanel.powerdRunning && |
622 | 91 | brightnessPanel.autoBrightnessAvailable | 91 | brightnessPanel.autoBrightnessAvailable |
624 | 92 | control: CheckBox { | 92 | |
625 | 93 | layout.summary.text: i18n.tr( | ||
626 | 94 | "Brightens and dims the display to suit the surroundings." | ||
627 | 95 | ) | ||
628 | 96 | |||
629 | 97 | CheckBox { | ||
630 | 93 | id: autoAdjustCheck | 98 | id: autoAdjustCheck |
631 | 94 | property bool serverChecked: gsettings.autoBrightness | 99 | property bool serverChecked: gsettings.autoBrightness |
632 | 95 | onServerCheckedChanged: checked = serverChecked | 100 | onServerCheckedChanged: checked = serverChecked |
633 | @@ -98,11 +103,6 @@ | |||
634 | 98 | } | 103 | } |
635 | 99 | showDivider: false | 104 | showDivider: false |
636 | 100 | } | 105 | } |
637 | 101 | ListItem.Caption { | ||
638 | 102 | text: i18n.tr( | ||
639 | 103 | "Brightens and dims the display to suit the surroundings.") | ||
640 | 104 | visible: adjust.visible | ||
641 | 105 | } | ||
642 | 106 | } | 106 | } |
643 | 107 | 107 | ||
644 | 108 | GSettings { | 108 | GSettings { |
645 | 109 | 109 | ||
646 | === modified file 'plugins/cellular/Components/MultiSim.qml' | |||
647 | --- plugins/cellular/Components/MultiSim.qml 2015-09-18 14:18:11 +0000 | |||
648 | +++ plugins/cellular/Components/MultiSim.qml 2015-11-23 13:42:19 +0000 | |||
649 | @@ -20,8 +20,9 @@ | |||
650 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
651 | 21 | import GSettings 1.0 | 21 | import GSettings 1.0 |
652 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
653 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
654 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
656 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | 25 | import Ubuntu.Components.ListItems 1.3 as ListItems |
657 | 25 | 26 | ||
658 | 26 | /* This is a temporary solution to the issue of Hotspots failing on mako. If | 27 | /* This is a temporary solution to the issue of Hotspots failing on mako. If |
659 | 27 | the device is mako, we hide the hotspot entry. Will be removed once lp:1434591 | 28 | the device is mako, we hide the hotspot entry. Will be removed once lp:1434591 |
660 | @@ -53,20 +54,17 @@ | |||
661 | 53 | anchors { left: parent.left; right: parent.right } | 54 | anchors { left: parent.left; right: parent.right } |
662 | 54 | } | 55 | } |
663 | 55 | 56 | ||
665 | 56 | ListItem.Standard { | 57 | SettingsListItems.StandardProgression { |
666 | 57 | id: dataUsage | 58 | id: dataUsage |
667 | 58 | text: i18n.tr("Data usage statistics") | 59 | text: i18n.tr("Data usage statistics") |
668 | 59 | progression: true | ||
669 | 60 | visible: showAllUI | 60 | visible: showAllUI |
670 | 61 | } | 61 | } |
671 | 62 | 62 | ||
675 | 63 | ListItem.Divider {} | 63 | SettingsListItems.SingleValueProgression { |
673 | 64 | |||
674 | 65 | ListItem.SingleValue { | ||
676 | 66 | text: i18n.tr("Carriers") | 64 | text: i18n.tr("Carriers") |
677 | 67 | id: chooseCarrier | 65 | id: chooseCarrier |
678 | 68 | objectName: "carrierApnEntry" | 66 | objectName: "carrierApnEntry" |
680 | 69 | progression: enabled | 67 | progressionVisible: enabled |
681 | 70 | showDivider: false | 68 | showDivider: false |
682 | 71 | onClicked: { | 69 | onClicked: { |
683 | 72 | pageStack.push(Qt.resolvedUrl("../PageCarriersAndApns.qml"), { | 70 | pageStack.push(Qt.resolvedUrl("../PageCarriersAndApns.qml"), { |
684 | @@ -75,26 +73,24 @@ | |||
685 | 75 | } | 73 | } |
686 | 76 | } | 74 | } |
687 | 77 | 75 | ||
688 | 78 | ListItem.Divider {} | ||
689 | 79 | |||
690 | 80 | SimEditor { | 76 | SimEditor { |
691 | 81 | anchors { left: parent.left; right: parent.right } | 77 | anchors { left: parent.left; right: parent.right } |
692 | 82 | } | 78 | } |
693 | 83 | 79 | ||
695 | 84 | ListItem.Divider {} | 80 | ListItems.Divider {} |
696 | 85 | 81 | ||
697 | 86 | DefaultSim { | 82 | DefaultSim { |
698 | 87 | anchors { left: parent.left; right: parent.right } | 83 | anchors { left: parent.left; right: parent.right } |
699 | 88 | } | 84 | } |
700 | 89 | 85 | ||
702 | 90 | ListItem.Divider {} | 86 | ListItems.Divider {} |
703 | 91 | 87 | ||
704 | 92 | SettingsItemTitle { text: i18n.tr("Connection type:") } | 88 | SettingsItemTitle { text: i18n.tr("Connection type:") } |
705 | 93 | 89 | ||
706 | 94 | Repeater { | 90 | Repeater { |
707 | 95 | model: sims | 91 | model: sims |
708 | 96 | 92 | ||
710 | 97 | ListItem.ItemSelector { | 93 | ListItems.ItemSelector { |
711 | 98 | id: radio | 94 | id: radio |
712 | 99 | property var sim: modelData | 95 | property var sim: modelData |
713 | 100 | 96 | ||
714 | 101 | 97 | ||
715 | === modified file 'plugins/cellular/Components/Sim.qml' | |||
716 | --- plugins/cellular/Components/Sim.qml 2015-08-10 13:31:45 +0000 | |||
717 | +++ plugins/cellular/Components/Sim.qml 2015-11-23 13:42:19 +0000 | |||
718 | @@ -37,6 +37,10 @@ | |||
719 | 37 | return name + (number ? " (" + number + ")" : ""); | 37 | return name + (number ? " (" + number + ")" : ""); |
720 | 38 | } | 38 | } |
721 | 39 | 39 | ||
722 | 40 | function getTechString () { | ||
723 | 41 | return techToString(radioSettings.technologyPreference); | ||
724 | 42 | } | ||
725 | 43 | |||
726 | 40 | function techToString (tech) { | 44 | function techToString (tech) { |
727 | 41 | var strings = { | 45 | var strings = { |
728 | 42 | 'gsm': i18n.tr("2G only (saves battery)"), | 46 | 'gsm': i18n.tr("2G only (saves battery)"), |
729 | @@ -44,7 +48,7 @@ | |||
730 | 44 | 'lte': i18n.tr("2G/3G/4G (faster)") | 48 | 'lte': i18n.tr("2G/3G/4G (faster)") |
731 | 45 | }; | 49 | }; |
732 | 46 | strings['umts_enable'] = strings['umts']; | 50 | strings['umts_enable'] = strings['umts']; |
734 | 47 | return strings[tech]; | 51 | return strings[tech] || ""; |
735 | 48 | } | 52 | } |
736 | 49 | 53 | ||
737 | 50 | // adds umts_enable to an copy of model | 54 | // adds umts_enable to an copy of model |
738 | 51 | 55 | ||
739 | === modified file 'plugins/cellular/Components/SingleSim.qml' | |||
740 | --- plugins/cellular/Components/SingleSim.qml 2015-08-21 14:03:29 +0000 | |||
741 | +++ plugins/cellular/Components/SingleSim.qml 2015-11-23 13:42:19 +0000 | |||
742 | @@ -18,9 +18,9 @@ | |||
743 | 18 | * | 18 | * |
744 | 19 | */ | 19 | */ |
745 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
747 | 21 | import SystemSettings 1.0 | 21 | import SystemSettings.ListItems 1.0 as SettingsListItems |
748 | 22 | import Ubuntu.SystemSettings.Cellular 1.0 | ||
749 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
750 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
751 | 24 | 24 | ||
752 | 25 | Column { | 25 | Column { |
753 | 26 | 26 | ||
754 | @@ -32,10 +32,11 @@ | |||
755 | 32 | @prevOnlineModem path to modem that was online before this event */ | 32 | @prevOnlineModem path to modem that was online before this event */ |
756 | 33 | signal umtsModemChanged (var sim, string prevOnlineModem); | 33 | signal umtsModemChanged (var sim, string prevOnlineModem); |
757 | 34 | 34 | ||
759 | 35 | ListItem.Standard { | 35 | SettingsListItems.Standard { |
760 | 36 | id: selector | 36 | id: selector |
761 | 37 | text: i18n.tr("Cellular data:") | 37 | text: i18n.tr("Cellular data:") |
763 | 38 | control: Switch { | 38 | |
764 | 39 | Switch { | ||
765 | 39 | id: dataControl | 40 | id: dataControl |
766 | 40 | objectName: 'data' | 41 | objectName: 'data' |
767 | 41 | property bool serverChecked: sim.connMan.powered | 42 | property bool serverChecked: sim.connMan.powered |
768 | @@ -45,11 +46,12 @@ | |||
769 | 45 | } | 46 | } |
770 | 46 | } | 47 | } |
771 | 47 | 48 | ||
773 | 48 | ListItem.Standard { | 49 | SettingsListItems.Standard { |
774 | 49 | id: dataRoamingItem | 50 | id: dataRoamingItem |
775 | 50 | text: i18n.tr("Data roaming") | 51 | text: i18n.tr("Data roaming") |
776 | 51 | enabled: sim.connMan.powered | 52 | enabled: sim.connMan.powered |
778 | 52 | control: Switch { | 53 | |
779 | 54 | Switch { | ||
780 | 53 | id: dataRoamingControl | 55 | id: dataRoamingControl |
781 | 54 | objectName: "roaming" | 56 | objectName: "roaming" |
782 | 55 | property bool serverChecked: sim.connMan.roamingAllowed | 57 | property bool serverChecked: sim.connMan.roamingAllowed |
783 | @@ -59,31 +61,24 @@ | |||
784 | 59 | } | 61 | } |
785 | 60 | } | 62 | } |
786 | 61 | 63 | ||
788 | 62 | ListItem.Standard { | 64 | SettingsListItems.StandardProgression{ |
789 | 63 | text: i18n.tr("Data usage statistics") | 65 | text: i18n.tr("Data usage statistics") |
790 | 64 | progression: true | ||
791 | 65 | visible: showAllUI | 66 | visible: showAllUI |
792 | 66 | } | 67 | } |
793 | 67 | 68 | ||
808 | 68 | ListItem.Divider { | 69 | SettingsListItems.SingleValueProgression { |
809 | 69 | visible: radio.visible | 70 | text: i18n.tr("Carrier & APN"); |
796 | 70 | } | ||
797 | 71 | |||
798 | 72 | RadioSingleSim { | ||
799 | 73 | id: radio | ||
800 | 74 | anchors { left: parent.left; right: parent.right } | ||
801 | 75 | visible: radio.enabled | ||
802 | 76 | } | ||
803 | 77 | |||
804 | 78 | ListItem.Divider {} | ||
805 | 79 | |||
806 | 80 | ListItem.SingleValue { | ||
807 | 81 | text: i18n.tr("Carrier"); | ||
810 | 82 | id: chooseCarrier | 71 | id: chooseCarrier |
811 | 83 | objectName: "carrierApnEntry" | 72 | objectName: "carrierApnEntry" |
813 | 84 | progression: enabled | 73 | value: sim.netReg.name || "" |
814 | 85 | onClicked: pageStack.push(Qt.resolvedUrl("../PageCarrierAndApn.qml"), { | 74 | onClicked: pageStack.push(Qt.resolvedUrl("../PageCarrierAndApn.qml"), { |
815 | 86 | sim: sim | 75 | sim: sim |
816 | 87 | }) | 76 | }) |
817 | 88 | } | 77 | } |
818 | 78 | |||
819 | 79 | RadioSingleSim { | ||
820 | 80 | id: radio | ||
821 | 81 | anchors { left: parent.left; right: parent.right } | ||
822 | 82 | visible: radio.enabled | ||
823 | 83 | } | ||
824 | 89 | } | 84 | } |
825 | 90 | 85 | ||
826 | === modified file 'plugins/cellular/PageCarrierAndApn.qml' | |||
827 | --- plugins/cellular/PageCarrierAndApn.qml 2015-08-10 13:31:45 +0000 | |||
828 | +++ plugins/cellular/PageCarrierAndApn.qml 2015-11-23 13:42:19 +0000 | |||
829 | @@ -19,12 +19,12 @@ | |||
830 | 19 | */ | 19 | */ |
831 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
832 | 21 | import SystemSettings 1.0 | 21 | import SystemSettings 1.0 |
833 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
834 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
835 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
836 | 24 | 24 | ||
837 | 25 | ItemPage { | 25 | ItemPage { |
838 | 26 | id: root | 26 | id: root |
840 | 27 | title: i18n.tr("Carrier") | 27 | title: i18n.tr("Carrier & APN") |
841 | 28 | objectName: "carrierApnPage" | 28 | objectName: "carrierApnPage" |
842 | 29 | flickable: null | 29 | flickable: null |
843 | 30 | 30 | ||
844 | @@ -40,23 +40,23 @@ | |||
845 | 40 | anchors.left: parent.left | 40 | anchors.left: parent.left |
846 | 41 | anchors.right: parent.right | 41 | anchors.right: parent.right |
847 | 42 | 42 | ||
849 | 43 | ListItem.SingleValue { | 43 | SettingsListItems.SingleValueProgression { |
850 | 44 | text: i18n.tr("Carrier") | 44 | text: i18n.tr("Carrier") |
851 | 45 | objectName: "carrier" | 45 | objectName: "carrier" |
852 | 46 | value: sim.netReg.name ? sim.netReg.name : i18n.tr("None") | 46 | value: sim.netReg.name ? sim.netReg.name : i18n.tr("None") |
853 | 47 | enabled: (sim.netReg.status !== "") && | 47 | enabled: (sim.netReg.status !== "") && |
854 | 48 | (sim.netReg.mode !== "auto-only") | 48 | (sim.netReg.mode !== "auto-only") |
856 | 49 | progression: enabled | 49 | progressionVisible: enabled |
857 | 50 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | 50 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { |
858 | 51 | sim: sim, | 51 | sim: sim, |
859 | 52 | title: i18n.tr("Carrier") | 52 | title: i18n.tr("Carrier") |
860 | 53 | }) | 53 | }) |
861 | 54 | } | 54 | } |
862 | 55 | 55 | ||
864 | 56 | ListItem.Standard { | 56 | SettingsListItems.SingleValueProgression { |
865 | 57 | text: i18n.tr("APN") | 57 | text: i18n.tr("APN") |
866 | 58 | objectName: "apn" | 58 | objectName: "apn" |
868 | 59 | progression: enabled | 59 | progressionVisible: enabled |
869 | 60 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseApn.qml"), { | 60 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseApn.qml"), { |
870 | 61 | sim: sim | 61 | sim: sim |
871 | 62 | }) | 62 | }) |
872 | 63 | 63 | ||
873 | === modified file 'plugins/cellular/PageCarriersAndApns.qml' | |||
874 | --- plugins/cellular/PageCarriersAndApns.qml 2015-08-10 13:31:45 +0000 | |||
875 | +++ plugins/cellular/PageCarriersAndApns.qml 2015-11-23 13:42:19 +0000 | |||
876 | @@ -19,12 +19,12 @@ | |||
877 | 19 | */ | 19 | */ |
878 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
879 | 21 | import SystemSettings 1.0 | 21 | import SystemSettings 1.0 |
880 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
881 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
882 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
883 | 24 | 24 | ||
884 | 25 | ItemPage { | 25 | ItemPage { |
885 | 26 | id: root | 26 | id: root |
887 | 27 | title: i18n.tr("Carriers") | 27 | title: i18n.tr("Carriers & APNs") |
888 | 28 | objectName: "carrierApnPage" | 28 | objectName: "carrierApnPage" |
889 | 29 | flickable: null | 29 | flickable: null |
890 | 30 | 30 | ||
891 | @@ -40,56 +40,39 @@ | |||
892 | 40 | anchors.left: parent.left | 40 | anchors.left: parent.left |
893 | 41 | anchors.right: parent.right | 41 | anchors.right: parent.right |
894 | 42 | 42 | ||
945 | 43 | SettingsItemTitle { | 43 | Repeater { |
946 | 44 | text: sims[0].title | 44 | model: sims |
947 | 45 | } | 45 | |
948 | 46 | 46 | Column { | |
949 | 47 | ListItem.SingleValue { | 47 | anchors.left: parent.left |
950 | 48 | text: i18n.tr("Carrier") | 48 | anchors.right: parent.right |
951 | 49 | objectName: sims[0].path + "_carriers" | 49 | |
952 | 50 | value: sims[0].netReg.name ? sims[0].netReg.name : | 50 | SettingsItemTitle { |
953 | 51 | i18n.tr("None") | 51 | text: sims[index].title |
954 | 52 | enabled: (sims[0].netReg.status !== "") && | 52 | } |
955 | 53 | (sims[0].netReg.mode !== "auto-only") | 53 | |
956 | 54 | progression: enabled | 54 | SettingsListItems.SingleValueProgression { |
957 | 55 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | 55 | text: i18n.tr("Carrier") |
958 | 56 | sim: sims[0], | 56 | objectName: sims[index].path + "_carriers" |
959 | 57 | title: sims[0].title | 57 | value: sims[index].netReg.name ? sims[index].netReg.name : |
960 | 58 | }) | 58 | i18n.tr("None") |
961 | 59 | } | 59 | enabled: (sims[index].netReg.status !== "") && |
962 | 60 | 60 | (sims[index].netReg.mode !== "auto-only") | |
963 | 61 | ListItem.Standard { | 61 | progressionVisible: enabled |
964 | 62 | text: i18n.tr("APN") | 62 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { |
965 | 63 | progression: enabled | 63 | sim: sims[index], |
966 | 64 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseApn.qml"), { | 64 | title: sims[index].title |
967 | 65 | sim: sims[0] | 65 | }) |
968 | 66 | }) | 66 | } |
969 | 67 | } | 67 | |
970 | 68 | 68 | SettingsListItems.StandardProgression { | |
971 | 69 | SettingsItemTitle { | 69 | text: i18n.tr("APN") |
972 | 70 | text: sims[1].title | 70 | progressionVisible: enabled |
973 | 71 | } | 71 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseApn.qml"), { |
974 | 72 | 72 | sim: sims[index] | |
975 | 73 | ListItem.SingleValue { | 73 | }) |
976 | 74 | text: i18n.tr("Carrier") | 74 | } |
977 | 75 | objectName: sims[1].path + "_carriers" | 75 | } |
928 | 76 | value: sims[1].netReg.name ? sims[1].netReg.name : | ||
929 | 77 | i18n.tr("None") | ||
930 | 78 | enabled: (sims[1].netReg.status !== "") && | ||
931 | 79 | (sims[1].netReg.mode !== "auto-only") | ||
932 | 80 | progression: enabled | ||
933 | 81 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | ||
934 | 82 | sim: sims[1], | ||
935 | 83 | title: sims[1].title | ||
936 | 84 | }) | ||
937 | 85 | } | ||
938 | 86 | |||
939 | 87 | ListItem.Standard { | ||
940 | 88 | text: i18n.tr("APN") | ||
941 | 89 | progression: enabled | ||
942 | 90 | onClicked: pageStack.push(Qt.resolvedUrl("PageChooseApn.qml"), { | ||
943 | 91 | sim: sims[1] | ||
944 | 92 | }) | ||
978 | 93 | } | 76 | } |
979 | 94 | } | 77 | } |
980 | 95 | } | 78 | } |
981 | 96 | 79 | ||
982 | === modified file 'plugins/cellular/PageChooseApn.qml' | |||
983 | --- plugins/cellular/PageChooseApn.qml 2015-08-10 13:31:45 +0000 | |||
984 | +++ plugins/cellular/PageChooseApn.qml 2015-11-23 13:42:19 +0000 | |||
985 | @@ -25,9 +25,9 @@ | |||
986 | 25 | 25 | ||
987 | 26 | import QtQuick 2.4 | 26 | import QtQuick 2.4 |
988 | 27 | import SystemSettings 1.0 | 27 | import SystemSettings 1.0 |
989 | 28 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
990 | 28 | import Ubuntu.Components 1.3 | 29 | import Ubuntu.Components 1.3 |
991 | 29 | import Ubuntu.Components.Popups 1.3 | 30 | import Ubuntu.Components.Popups 1.3 |
992 | 30 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
993 | 31 | import MeeGo.QOfono 0.2 | 31 | import MeeGo.QOfono 0.2 |
994 | 32 | import Ubuntu.SystemSettings.Cellular 1.0 | 32 | import Ubuntu.SystemSettings.Cellular 1.0 |
995 | 33 | import "apn_manager.js" as Manager | 33 | import "apn_manager.js" as Manager |
996 | @@ -283,16 +283,24 @@ | |||
997 | 283 | Component { | 283 | Component { |
998 | 284 | id: apnDelegate | 284 | id: apnDelegate |
999 | 285 | 285 | ||
1001 | 286 | ListItem.Standard { | 286 | |
1002 | 287 | |||
1003 | 288 | SettingsListItems.StandardProgression { | ||
1004 | 287 | id: apnListItem | 289 | id: apnListItem |
1006 | 288 | property alias text: apnItemName.text | 290 | text: qml.name |
1007 | 291 | layout.subtitle.text: qml.typeString | ||
1008 | 289 | objectName: "edit_" + qml.name | 292 | objectName: "edit_" + qml.name |
1015 | 290 | height: units.gu(6) | 293 | |
1016 | 291 | removable: true | 294 | leadingActions: ListItemActions { |
1017 | 292 | confirmRemoval: true | 295 | actions: [ |
1018 | 293 | progression: true | 296 | Action { |
1019 | 294 | 297 | iconName: "delete" | |
1020 | 295 | onItemRemoved: Manager.removeContext(path); | 298 | name: i18n.tr("Delete") |
1021 | 299 | onTriggered: Manager.removeContext(path) | ||
1022 | 300 | } | ||
1023 | 301 | ] | ||
1024 | 302 | } | ||
1025 | 303 | |||
1026 | 296 | onClicked: { | 304 | onClicked: { |
1027 | 297 | editor = pageStack.push(Qt.resolvedUrl("PageApnEditor.qml"), { | 305 | editor = pageStack.push(Qt.resolvedUrl("PageApnEditor.qml"), { |
1028 | 298 | manager: Manager, | 306 | manager: Manager, |
1029 | @@ -303,7 +311,7 @@ | |||
1030 | 303 | }); | 311 | }); |
1031 | 304 | } | 312 | } |
1032 | 305 | 313 | ||
1034 | 306 | control: CheckBox { | 314 | CheckBox { |
1035 | 307 | id: check | 315 | id: check |
1036 | 308 | objectName: qml.name + "_preferred" | 316 | objectName: qml.name + "_preferred" |
1037 | 309 | property bool serverChecked: qml && qml.preferred | 317 | property bool serverChecked: qml && qml.preferred |
1038 | @@ -311,45 +319,6 @@ | |||
1039 | 311 | Component.onCompleted: checked = serverChecked | 319 | Component.onCompleted: checked = serverChecked |
1040 | 312 | onTriggered: Manager.setPreferred.call(this, qml, checked) | 320 | onTriggered: Manager.setPreferred.call(this, qml, checked) |
1041 | 313 | } | 321 | } |
1042 | 314 | |||
1043 | 315 | Item { | ||
1044 | 316 | anchors { | ||
1045 | 317 | top: parent.top | ||
1046 | 318 | bottom: parent.bottom | ||
1047 | 319 | left: parent.left | ||
1048 | 320 | leftMargin: units.gu(2) | ||
1049 | 321 | right: parent.right | ||
1050 | 322 | } | ||
1051 | 323 | |||
1052 | 324 | Label { | ||
1053 | 325 | id: apnItemName | ||
1054 | 326 | anchors { | ||
1055 | 327 | topMargin: units.gu(1) | ||
1056 | 328 | top: parent.top | ||
1057 | 329 | left: parent.left | ||
1058 | 330 | right: parent.right | ||
1059 | 331 | } | ||
1060 | 332 | |||
1061 | 333 | text: qml.name | ||
1062 | 334 | elide: Text.ElideRight | ||
1063 | 335 | opacity: apnListItem.enabled ? 1.0 : 0.5 | ||
1064 | 336 | } | ||
1065 | 337 | |||
1066 | 338 | Label { | ||
1067 | 339 | id: apnItemType | ||
1068 | 340 | anchors { | ||
1069 | 341 | left: parent.left | ||
1070 | 342 | right: parent.right | ||
1071 | 343 | top: apnItemName.bottom | ||
1072 | 344 | } | ||
1073 | 345 | |||
1074 | 346 | text: qml.typeString | ||
1075 | 347 | color: Theme.palette.normal.backgroundText | ||
1076 | 348 | fontSize: "small" | ||
1077 | 349 | wrapMode: Text.Wrap | ||
1078 | 350 | maximumLineCount: 5 | ||
1079 | 351 | } | ||
1080 | 352 | } | ||
1081 | 353 | } | 322 | } |
1082 | 354 | } | 323 | } |
1083 | 355 | 324 | ||
1084 | 356 | 325 | ||
1085 | === modified file 'plugins/cellular/PageComponent.qml' | |||
1086 | --- plugins/cellular/PageComponent.qml 2015-08-13 13:13:57 +0000 | |||
1087 | +++ plugins/cellular/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
1088 | @@ -22,7 +22,6 @@ | |||
1089 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1090 | 23 | import Ubuntu.SystemSettings.Cellular 1.0 | 23 | import Ubuntu.SystemSettings.Cellular 1.0 |
1091 | 24 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
1092 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1093 | 26 | import MeeGo.QOfono 0.2 | 25 | import MeeGo.QOfono 0.2 |
1094 | 27 | import QMenuModel 0.1 | 26 | import QMenuModel 0.1 |
1095 | 28 | import "Components" as LocalComponents | 27 | import "Components" as LocalComponents |
1096 | 29 | 28 | ||
1097 | === modified file 'plugins/flight-mode/EntryComponent.qml' | |||
1098 | --- plugins/flight-mode/EntryComponent.qml 2015-08-10 13:31:45 +0000 | |||
1099 | +++ plugins/flight-mode/EntryComponent.qml 2015-11-23 13:42:19 +0000 | |||
1100 | @@ -1,7 +1,7 @@ | |||
1101 | 1 | /* | 1 | /* |
1102 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
1103 | 3 | * | 3 | * |
1105 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
1106 | 5 | * | 5 | * |
1107 | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> |
1108 | 7 | * | 7 | * |
1109 | @@ -19,17 +19,17 @@ | |||
1110 | 19 | */ | 19 | */ |
1111 | 20 | 20 | ||
1112 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1113 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1114 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
1115 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1116 | 24 | import Ubuntu.SystemSettings.FlightMode 1.0 as FlightMode | 24 | import Ubuntu.SystemSettings.FlightMode 1.0 as FlightMode |
1117 | 25 | import Ubuntu.Settings.Components 0.1 as USC | 25 | import Ubuntu.Settings.Components 0.1 as USC |
1118 | 26 | 26 | ||
1120 | 27 | ListItem.Standard { | 27 | SettingsListItems.Icon { |
1121 | 28 | id: root | 28 | id: root |
1122 | 29 | iconSource: model.icon | 29 | iconSource: model.icon |
1123 | 30 | iconFrame: false | ||
1124 | 31 | text: i18n.tr(model.displayName) | 30 | text: i18n.tr(model.displayName) |
1126 | 32 | control: Switch { | 31 | |
1127 | 32 | Switch { | ||
1128 | 33 | id: switchItem | 33 | id: switchItem |
1129 | 34 | 34 | ||
1130 | 35 | USC.ServerPropertySynchroniser { | 35 | USC.ServerPropertySynchroniser { |
1131 | @@ -42,7 +42,7 @@ | |||
1132 | 42 | } | 42 | } |
1133 | 43 | } | 43 | } |
1134 | 44 | 44 | ||
1136 | 45 | FlightMode.Helper { | 45 | resources: FlightMode.Helper { |
1137 | 46 | id: helper | 46 | id: helper |
1138 | 47 | } | 47 | } |
1139 | 48 | } | 48 | } |
1140 | 49 | 49 | ||
1141 | === modified file 'plugins/hotspot/HotspotSetup.qml' | |||
1142 | --- plugins/hotspot/HotspotSetup.qml 2015-09-18 14:18:11 +0000 | |||
1143 | +++ plugins/hotspot/HotspotSetup.qml 2015-11-23 13:42:19 +0000 | |||
1144 | @@ -19,8 +19,9 @@ | |||
1145 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
1146 | 20 | import QtQuick.Layouts 1.1 | 20 | import QtQuick.Layouts 1.1 |
1147 | 21 | import SystemSettings 1.0 | 21 | import SystemSettings 1.0 |
1148 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1149 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
1151 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | 24 | import Ubuntu.Components.ListItems 1.3 as ListItems |
1152 | 24 | import Ubuntu.Components.Popups 1.3 | 25 | import Ubuntu.Components.Popups 1.3 |
1153 | 25 | import Ubuntu.Connectivity 1.0 | 26 | import Ubuntu.Connectivity 1.0 |
1154 | 26 | import Ubuntu.SystemSettings.Cellular 1.0 | 27 | import Ubuntu.SystemSettings.Cellular 1.0 |
1155 | @@ -187,35 +188,23 @@ | |||
1156 | 187 | width: parent.width | 188 | width: parent.width |
1157 | 188 | } | 189 | } |
1158 | 189 | 190 | ||
1160 | 190 | ListItem.Empty { | 191 | SettingsListItems.Standard { |
1161 | 191 | id: passwordRequired | 192 | id: passwordRequired |
1163 | 192 | onClicked: passwordRequiredToggle.trigger() | 193 | text: i18n.tr("Require a password (recommended):") |
1164 | 194 | showDivider: false | ||
1165 | 195 | layout.padding.leading: 0 | ||
1166 | 196 | SlotsLayout.padding.leading: 0 | ||
1167 | 193 | 197 | ||
1168 | 194 | CheckBox { | 198 | CheckBox { |
1169 | 195 | id: passwordRequiredToggle | 199 | id: passwordRequiredToggle |
1170 | 196 | objectName: "passwordRequiredToggle" | 200 | objectName: "passwordRequiredToggle" |
1171 | 197 | checked: Connectivity.hotspotAuth === "wpa-psk" | 201 | checked: Connectivity.hotspotAuth === "wpa-psk" |
1176 | 198 | anchors { | 202 | SlotsLayout.position: SlotsLayout.First |
1177 | 199 | left: parent.left | 203 | SlotsLayout.padding.leading: 0 |
1174 | 200 | verticalCenter: parent.verticalCenter | ||
1175 | 201 | } | ||
1178 | 202 | // FIXME: Workaround for lp:1415023 | 204 | // FIXME: Workaround for lp:1415023 |
1179 | 203 | activeFocusOnPress: false | 205 | activeFocusOnPress: false |
1180 | 204 | } | 206 | } |
1195 | 205 | 207 | onClicked: passwordRequiredToggle.trigger() | |
1182 | 206 | Label { | ||
1183 | 207 | id: passwordRequiredLabel | ||
1184 | 208 | anchors { | ||
1185 | 209 | left: passwordRequiredToggle.right | ||
1186 | 210 | leftMargin: units.gu(1) | ||
1187 | 211 | right: parent.right | ||
1188 | 212 | verticalCenter: parent.verticalCenter | ||
1189 | 213 | } | ||
1190 | 214 | |||
1191 | 215 | // FIXME: Workaround for label not wrapping (lp:1442851) | ||
1192 | 216 | wrapMode: Text.Wrap | ||
1193 | 217 | text: i18n.tr("Require a password (recommended):") | ||
1194 | 218 | } | ||
1196 | 219 | } | 208 | } |
1197 | 220 | 209 | ||
1198 | 221 | TextField { | 210 | TextField { |
1199 | @@ -229,39 +218,25 @@ | |||
1200 | 229 | width: parent.width | 218 | width: parent.width |
1201 | 230 | } | 219 | } |
1202 | 231 | 220 | ||
1204 | 232 | ListItem.Empty { | 221 | SettingsListItems.Standard { |
1205 | 233 | id: passwordVisible | 222 | id: passwordVisible |
1206 | 234 | enabled: passwordRequiredToggle.checked | 223 | enabled: passwordRequiredToggle.checked |
1208 | 235 | onClicked: passwordVisibleToggle.trigger() | 224 | text: i18n.tr("Show password") |
1209 | 225 | layout.padding.leading: 0 | ||
1210 | 226 | SlotsLayout.padding.leading: 0 | ||
1211 | 236 | 227 | ||
1212 | 237 | CheckBox { | 228 | CheckBox { |
1213 | 238 | id: passwordVisibleToggle | 229 | id: passwordVisibleToggle |
1214 | 239 | enabled: parent.enabled | 230 | enabled: parent.enabled |
1220 | 240 | anchors { | 231 | SlotsLayout.position: SlotsLayout.First |
1221 | 241 | left: parent.left | 232 | SlotsLayout.padding.leading: 0 |
1217 | 242 | verticalCenter: parent.verticalCenter | ||
1218 | 243 | } | ||
1219 | 244 | |||
1222 | 245 | // FIXME: Workaround for lp:1415023 | 233 | // FIXME: Workaround for lp:1415023 |
1223 | 246 | activeFocusOnPress: false | 234 | activeFocusOnPress: false |
1224 | 247 | } | 235 | } |
1239 | 248 | 236 | onClicked: passwordVisibleToggle.trigger() | |
1226 | 249 | Label { | ||
1227 | 250 | id: passwordVisibleLabel | ||
1228 | 251 | |||
1229 | 252 | /* FIXME: use enabled when lp:1491802 is fixed, or use | ||
1230 | 253 | CheckBox.text once lp:1323238 is fixed. */ | ||
1231 | 254 | opacity: passwordRequiredToggle.checked ? 1 : 0.5 | ||
1232 | 255 | anchors { | ||
1233 | 256 | left: passwordVisibleToggle.right | ||
1234 | 257 | leftMargin: units.gu(1) | ||
1235 | 258 | verticalCenter: parent.verticalCenter | ||
1236 | 259 | } | ||
1237 | 260 | text: i18n.tr("Show password") | ||
1238 | 261 | } | ||
1240 | 262 | } | 237 | } |
1241 | 263 | 238 | ||
1243 | 264 | ListItem.Caption { | 239 | ListItems.Caption { |
1244 | 265 | id: enableWifiCaption | 240 | id: enableWifiCaption |
1245 | 266 | anchors { | 241 | anchors { |
1246 | 267 | left: parent.left | 242 | left: parent.left |
1247 | 268 | 243 | ||
1248 | === modified file 'plugins/hotspot/PageComponent.qml' | |||
1249 | --- plugins/hotspot/PageComponent.qml 2015-09-18 14:18:11 +0000 | |||
1250 | +++ plugins/hotspot/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
1251 | @@ -20,8 +20,9 @@ | |||
1252 | 20 | 20 | ||
1253 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1254 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1255 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1256 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItems | ||
1257 | 23 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
1258 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1259 | 25 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
1260 | 26 | import Ubuntu.Connectivity 1.0 | 27 | import Ubuntu.Connectivity 1.0 |
1261 | 27 | 28 | ||
1262 | @@ -77,15 +78,15 @@ | |||
1263 | 77 | } | 78 | } |
1264 | 78 | spacing: units.gu(1) | 79 | spacing: units.gu(1) |
1265 | 79 | 80 | ||
1267 | 80 | ListItem.Standard { | 81 | SettingsListItems.Standard { |
1268 | 81 | id: hotspotItem | 82 | id: hotspotItem |
1269 | 82 | text: i18n.tr("Hotspot") | 83 | text: i18n.tr("Hotspot") |
1270 | 83 | enabled: Connectivity.hotspotStored | 84 | enabled: Connectivity.hotspotStored |
1271 | 84 | onClicked: hotspotSwitch.trigger() | 85 | onClicked: hotspotSwitch.trigger() |
1273 | 85 | control: Switch { | 86 | |
1274 | 87 | Switch { | ||
1275 | 86 | id: hotspotSwitch | 88 | id: hotspotSwitch |
1276 | 87 | objectName: "hotspotSwitch" | 89 | objectName: "hotspotSwitch" |
1277 | 88 | enabled: parent.enabled | ||
1278 | 89 | checked: Connectivity.hotspotEnabled | 90 | checked: Connectivity.hotspotEnabled |
1279 | 90 | onTriggered: Connectivity.hotspotEnabled = checked | 91 | onTriggered: Connectivity.hotspotEnabled = checked |
1280 | 91 | 92 | ||
1281 | @@ -101,7 +102,7 @@ | |||
1282 | 101 | } | 102 | } |
1283 | 102 | } | 103 | } |
1284 | 103 | 104 | ||
1286 | 104 | ListItem.Caption { | 105 | ListItems.Caption { |
1287 | 105 | anchors { | 106 | anchors { |
1288 | 106 | left: parent.left | 107 | left: parent.left |
1289 | 107 | right: parent.right | 108 | right: parent.right |
1290 | 108 | 109 | ||
1291 | === modified file 'plugins/language/KeyboardLayoutItem.qml' | |||
1292 | --- plugins/language/KeyboardLayoutItem.qml 2015-08-10 13:31:45 +0000 | |||
1293 | +++ plugins/language/KeyboardLayoutItem.qml 2015-11-23 13:42:19 +0000 | |||
1294 | @@ -20,18 +20,18 @@ | |||
1295 | 20 | 20 | ||
1296 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1297 | 22 | import Ubuntu.Components 1.3 | 22 | import Ubuntu.Components 1.3 |
1310 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | 23 | |
1311 | 24 | 24 | ListItem { | |
1312 | 25 | ListItem.Base { | 25 | property string name |
1313 | 26 | property alias name: name.text | 26 | property alias checked: checkBox.checked |
1314 | 27 | property alias checked: checkBox.checked | 27 | property alias shortName: shortName.text |
1315 | 28 | property alias shortName: shortName.text | 28 | |
1316 | 29 | 29 | height: layout.height + divider.height | |
1317 | 30 | Row { | 30 | |
1318 | 31 | anchors.top: parent.top | 31 | ListItemLayout { |
1319 | 32 | anchors.left: parent.left | 32 | id: layout |
1320 | 33 | anchors.bottom: parent.bottom | 33 | |
1321 | 34 | spacing: units.gu(1) | 34 | title.text: name |
1322 | 35 | 35 | ||
1323 | 36 | Rectangle { | 36 | Rectangle { |
1324 | 37 | width: units.gu(3.0) | 37 | width: units.gu(3.0) |
1325 | @@ -40,8 +40,6 @@ | |||
1326 | 40 | 40 | ||
1327 | 41 | color: Theme.palette.normal.backgroundText | 41 | color: Theme.palette.normal.backgroundText |
1328 | 42 | 42 | ||
1329 | 43 | anchors.verticalCenter: parent.verticalCenter | ||
1330 | 44 | |||
1331 | 45 | Label { | 43 | Label { |
1332 | 46 | id: shortName | 44 | id: shortName |
1333 | 47 | 45 | ||
1334 | @@ -50,21 +48,14 @@ | |||
1335 | 50 | 48 | ||
1336 | 51 | anchors.centerIn: parent | 49 | anchors.centerIn: parent |
1337 | 52 | } | 50 | } |
1354 | 53 | } | 51 | |
1355 | 54 | 52 | SlotsLayout.position: SlotsLayout.First | |
1356 | 55 | Label { | 53 | } |
1357 | 56 | id: name | 54 | |
1358 | 57 | 55 | CheckBox { | |
1359 | 58 | anchors.verticalCenter: parent.verticalCenter | 56 | id: checkBox |
1360 | 59 | } | 57 | SlotsLayout.position: SlotsLayout.Trailing |
1361 | 60 | } | 58 | } |
1362 | 61 | 59 | } | |
1347 | 62 | CheckBox { | ||
1348 | 63 | id: checkBox | ||
1349 | 64 | |||
1350 | 65 | anchors.right: parent.right | ||
1351 | 66 | anchors.verticalCenter: parent.verticalCenter | ||
1352 | 67 | } | ||
1353 | 68 | |||
1363 | 69 | onClicked: checked = !checked | 60 | onClicked: checked = !checked |
1364 | 70 | } | 61 | } |
1365 | 71 | 62 | ||
1366 | === modified file 'plugins/language/PageComponent.qml' | |||
1367 | --- plugins/language/PageComponent.qml 2015-08-10 13:31:45 +0000 | |||
1368 | +++ plugins/language/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
1369 | @@ -21,9 +21,9 @@ | |||
1370 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1371 | 22 | import GSettings 1.0 | 22 | import GSettings 1.0 |
1372 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
1373 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1374 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
1375 | 25 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
1376 | 26 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1377 | 27 | import Ubuntu.Settings.Menus 0.1 as Menus | 27 | import Ubuntu.Settings.Menus 0.1 as Menus |
1378 | 28 | import Ubuntu.SystemSettings.LanguagePlugin 1.0 | 28 | import Ubuntu.SystemSettings.LanguagePlugin 1.0 |
1379 | 29 | 29 | ||
1380 | @@ -96,53 +96,56 @@ | |||
1381 | 96 | anchors.left: parent.left | 96 | anchors.left: parent.left |
1382 | 97 | anchors.right: parent.right | 97 | anchors.right: parent.right |
1383 | 98 | 98 | ||
1386 | 99 | Menus.StandardMenu { | 99 | SettingsItemTitle { |
1387 | 100 | iconSource: "image://theme/language-chooser" | 100 | text: i18n.tr("Language") |
1388 | 101 | } | ||
1389 | 102 | |||
1390 | 103 | SettingsListItems.Standard { | ||
1391 | 104 | id: base | ||
1392 | 105 | height: layout.height + divider.height | ||
1393 | 106 | objectName: "displayLanguage" | ||
1394 | 107 | property int currentLanguage: plugin.currentLanguage | ||
1395 | 101 | text: i18n.tr("Display language…") | 108 | text: i18n.tr("Display language…") |
1403 | 102 | objectName: "displayLanguage" | 109 | layout.subtitle.text: plugin.languageNames[plugin.currentLanguage] |
1404 | 103 | component: Label { | 110 | layout.subtitle.objectName: "currentLanguage" |
1405 | 104 | property int currentLanguage: plugin.currentLanguage | 111 | |
1406 | 105 | objectName: "currentLanguage" | 112 | Icon { |
1407 | 106 | text: plugin.languageNames[plugin.currentLanguage] | 113 | source: "image://theme/language-chooser" |
1408 | 107 | elide: Text.ElideRight | 114 | height: units.gu(2.5) |
1409 | 108 | opacity: enabled ? 1.0 : 0.5 | 115 | width: height |
1410 | 116 | SlotsLayout.position: SlotsLayout.First | ||
1411 | 109 | } | 117 | } |
1412 | 110 | |||
1413 | 111 | onClicked: PopupUtils.open(displayLanguage) | 118 | onClicked: PopupUtils.open(displayLanguage) |
1414 | 112 | } | 119 | } |
1415 | 113 | 120 | ||
1420 | 114 | ListItem.Divider { | 121 | SettingsListItems.SingleValueProgression { |
1417 | 115 | } | ||
1418 | 116 | |||
1419 | 117 | ListItem.SingleValue { | ||
1421 | 118 | text: i18n.tr("Keyboard layouts") | 122 | text: i18n.tr("Keyboard layouts") |
1422 | 119 | value: plugin.keyboardLayoutsModel.subset.length == 1 ? | 123 | value: plugin.keyboardLayoutsModel.subset.length == 1 ? |
1423 | 120 | plugin.keyboardLayoutsModel.superset[plugin.keyboardLayoutsModel.subset[0]][0] : | 124 | plugin.keyboardLayoutsModel.superset[plugin.keyboardLayoutsModel.subset[0]][0] : |
1424 | 121 | plugin.keyboardLayoutsModel.subset.length | 125 | plugin.keyboardLayoutsModel.subset.length |
1425 | 122 | progression: true | ||
1426 | 123 | 126 | ||
1427 | 124 | onClicked: pageStack.push(keyboardLayouts) | 127 | onClicked: pageStack.push(keyboardLayouts) |
1428 | 125 | } | 128 | } |
1429 | 126 | 129 | ||
1431 | 127 | ListItem.Divider { | 130 | SettingsItemTitle { |
1432 | 131 | text: i18n.tr("Correction") | ||
1433 | 128 | } | 132 | } |
1434 | 129 | 133 | ||
1436 | 130 | ListItem.SingleValue { | 134 | SettingsListItems.SingleValueProgression { |
1437 | 131 | visible: showAllUI | 135 | visible: showAllUI |
1438 | 132 | 136 | ||
1439 | 133 | text: i18n.tr("Spell checking") | 137 | text: i18n.tr("Spell checking") |
1440 | 134 | value: plugin.spellCheckingModel.subset.length == 1 ? | 138 | value: plugin.spellCheckingModel.subset.length == 1 ? |
1441 | 135 | plugin.spellCheckingModel.superset[plugin.spellCheckingModel.subset[0]][0] : | 139 | plugin.spellCheckingModel.superset[plugin.spellCheckingModel.subset[0]][0] : |
1442 | 136 | plugin.spellCheckingModel.subset.length | 140 | plugin.spellCheckingModel.subset.length |
1443 | 137 | progression: true | ||
1444 | 138 | 141 | ||
1445 | 139 | onClicked: pageStack.push(spellChecking) | 142 | onClicked: pageStack.push(spellChecking) |
1446 | 140 | } | 143 | } |
1447 | 141 | 144 | ||
1449 | 142 | ListItem.Standard { | 145 | SettingsListItems.Standard { |
1450 | 143 | text: i18n.tr("Spell checking") | 146 | text: i18n.tr("Spell checking") |
1451 | 144 | 147 | ||
1453 | 145 | control: Switch { | 148 | Switch { |
1454 | 146 | property bool serverChecked: settings.spellChecking | 149 | property bool serverChecked: settings.spellChecking |
1455 | 147 | onServerCheckedChanged: checked = serverChecked | 150 | onServerCheckedChanged: checked = serverChecked |
1456 | 148 | Component.onCompleted: checked = serverChecked | 151 | Component.onCompleted: checked = serverChecked |
1457 | @@ -150,10 +153,10 @@ | |||
1458 | 150 | } | 153 | } |
1459 | 151 | } | 154 | } |
1460 | 152 | 155 | ||
1462 | 153 | ListItem.Standard { | 156 | SettingsListItems.Standard { |
1463 | 154 | text: i18n.tr("Auto correction") | 157 | text: i18n.tr("Auto correction") |
1464 | 155 | 158 | ||
1466 | 156 | control: Switch { | 159 | Switch { |
1467 | 157 | property bool serverChecked: settings.autoCompletion | 160 | property bool serverChecked: settings.autoCompletion |
1468 | 158 | onServerCheckedChanged: checked = serverChecked | 161 | onServerCheckedChanged: checked = serverChecked |
1469 | 159 | Component.onCompleted: checked = serverChecked | 162 | Component.onCompleted: checked = serverChecked |
1470 | @@ -161,10 +164,10 @@ | |||
1471 | 161 | } | 164 | } |
1472 | 162 | } | 165 | } |
1473 | 163 | 166 | ||
1475 | 164 | ListItem.Standard { | 167 | SettingsListItems.Standard { |
1476 | 165 | text: i18n.tr("Word suggestions") | 168 | text: i18n.tr("Word suggestions") |
1477 | 166 | 169 | ||
1479 | 167 | control: Switch { | 170 | Switch { |
1480 | 168 | property bool serverChecked: settings.predictiveText | 171 | property bool serverChecked: settings.predictiveText |
1481 | 169 | onServerCheckedChanged: checked = serverChecked | 172 | onServerCheckedChanged: checked = serverChecked |
1482 | 170 | Component.onCompleted: checked = serverChecked | 173 | Component.onCompleted: checked = serverChecked |
1483 | @@ -172,13 +175,13 @@ | |||
1484 | 172 | } | 175 | } |
1485 | 173 | } | 176 | } |
1486 | 174 | 177 | ||
1491 | 175 | ListItem.Divider { | 178 | SettingsListItems.Standard { |
1488 | 176 | } | ||
1489 | 177 | |||
1490 | 178 | ListItem.Standard { | ||
1492 | 179 | text: i18n.tr("Auto capitalization") | 179 | text: i18n.tr("Auto capitalization") |
1493 | 180 | layout.summary.text: i18n.tr( | ||
1494 | 181 | "Turns on Shift to capitalize the first letter of each sentence." | ||
1495 | 182 | ) | ||
1496 | 180 | 183 | ||
1498 | 181 | control: Switch { | 184 | Switch { |
1499 | 182 | property bool serverChecked: settings.autoCapitalization | 185 | property bool serverChecked: settings.autoCapitalization |
1500 | 183 | onServerCheckedChanged: checked = serverChecked | 186 | onServerCheckedChanged: checked = serverChecked |
1501 | 184 | Component.onCompleted: checked = serverChecked | 187 | Component.onCompleted: checked = serverChecked |
1502 | @@ -186,17 +189,13 @@ | |||
1503 | 186 | } | 189 | } |
1504 | 187 | } | 190 | } |
1505 | 188 | 191 | ||
1514 | 189 | ListItem.Caption { | 192 | SettingsListItems.Standard { |
1507 | 190 | text: i18n.tr("Turns on Shift to capitalize the first letter of each sentence.") | ||
1508 | 191 | } | ||
1509 | 192 | |||
1510 | 193 | ListItem.ThinDivider { | ||
1511 | 194 | } | ||
1512 | 195 | |||
1513 | 196 | ListItem.Standard { | ||
1515 | 197 | text: i18n.tr("Auto punctuation") | 193 | text: i18n.tr("Auto punctuation") |
1516 | 198 | 194 | ||
1518 | 199 | control: Switch { | 195 | /* TODO: update the string to mention quotes/brackets once the osk does that */ |
1519 | 196 | layout.summary.text: i18n.tr("Inserts a period when you tap Space twice.") | ||
1520 | 197 | |||
1521 | 198 | Switch { | ||
1522 | 200 | property bool serverChecked: settings.doubleSpaceFullStop | 199 | property bool serverChecked: settings.doubleSpaceFullStop |
1523 | 201 | onServerCheckedChanged: checked = serverChecked | 200 | onServerCheckedChanged: checked = serverChecked |
1524 | 202 | Component.onCompleted: checked = serverChecked | 201 | Component.onCompleted: checked = serverChecked |
1525 | @@ -204,18 +203,10 @@ | |||
1526 | 204 | } | 203 | } |
1527 | 205 | } | 204 | } |
1528 | 206 | 205 | ||
1538 | 207 | ListItem.Caption { | 206 | SettingsListItems.Standard { |
1530 | 208 | /* TODO: update the string to mention quotes/brackets once the osk does that */ | ||
1531 | 209 | text: i18n.tr("Inserts a period when you tap Space twice.") | ||
1532 | 210 | } | ||
1533 | 211 | |||
1534 | 212 | ListItem.ThinDivider { | ||
1535 | 213 | } | ||
1536 | 214 | |||
1537 | 215 | ListItem.Standard { | ||
1539 | 216 | text: i18n.tr("Keyboard sound") | 207 | text: i18n.tr("Keyboard sound") |
1540 | 217 | 208 | ||
1542 | 218 | control: Switch { | 209 | Switch { |
1543 | 219 | property bool serverChecked: settings.keyPressFeedback | 210 | property bool serverChecked: settings.keyPressFeedback |
1544 | 220 | onServerCheckedChanged: checked = serverChecked | 211 | onServerCheckedChanged: checked = serverChecked |
1545 | 221 | Component.onCompleted: checked = serverChecked | 212 | Component.onCompleted: checked = serverChecked |
1546 | @@ -223,10 +214,10 @@ | |||
1547 | 223 | } | 214 | } |
1548 | 224 | } | 215 | } |
1549 | 225 | 216 | ||
1551 | 226 | ListItem.Standard { | 217 | SettingsListItems.Standard { |
1552 | 227 | text: i18n.tr("Keyboard vibration") | 218 | text: i18n.tr("Keyboard vibration") |
1553 | 228 | 219 | ||
1555 | 229 | control: Switch { | 220 | Switch { |
1556 | 230 | property bool serverChecked: settings.keyPressHapticFeedback | 221 | property bool serverChecked: settings.keyPressHapticFeedback |
1557 | 231 | onServerCheckedChanged: checked = serverChecked | 222 | onServerCheckedChanged: checked = serverChecked |
1558 | 232 | Component.onCompleted: checked = serverChecked | 223 | Component.onCompleted: checked = serverChecked |
1559 | 233 | 224 | ||
1560 | === modified file 'plugins/language/SpellChecking.qml' | |||
1561 | --- plugins/language/SpellChecking.qml 2015-08-10 13:31:45 +0000 | |||
1562 | +++ plugins/language/SpellChecking.qml 2015-11-23 13:42:19 +0000 | |||
1563 | @@ -21,8 +21,8 @@ | |||
1564 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1565 | 22 | import GSettings 1.0 | 22 | import GSettings 1.0 |
1566 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
1567 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1568 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
1569 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1570 | 26 | import Ubuntu.SystemSettings.LanguagePlugin 1.0 | 26 | import Ubuntu.SystemSettings.LanguagePlugin 1.0 |
1571 | 27 | 27 | ||
1572 | 28 | ItemPage { | 28 | ItemPage { |
1573 | @@ -38,12 +38,12 @@ | |||
1574 | 38 | schema.id: "com.canonical.keyboard.maliit" | 38 | schema.id: "com.canonical.keyboard.maliit" |
1575 | 39 | } | 39 | } |
1576 | 40 | 40 | ||
1578 | 41 | ListItem.Standard { | 41 | SettingsListItems.Standard { |
1579 | 42 | id: item | 42 | id: item |
1580 | 43 | 43 | ||
1581 | 44 | text: i18n.tr("Spell checking") | 44 | text: i18n.tr("Spell checking") |
1582 | 45 | 45 | ||
1584 | 46 | control: Switch { | 46 | Switch { |
1585 | 47 | property bool serverChecked: settings.spellChecking | 47 | property bool serverChecked: settings.spellChecking |
1586 | 48 | onServerCheckedChanged: checked = serverChecked | 48 | onServerCheckedChanged: checked = serverChecked |
1587 | 49 | Component.onCompleted: checked = serverChecked | 49 | Component.onCompleted: checked = serverChecked |
1588 | 50 | 50 | ||
1589 | === modified file 'plugins/language/SubsetView.qml' | |||
1590 | --- plugins/language/SubsetView.qml 2015-08-10 13:31:45 +0000 | |||
1591 | +++ plugins/language/SubsetView.qml 2015-11-23 13:42:19 +0000 | |||
1592 | @@ -20,8 +20,8 @@ | |||
1593 | 20 | 20 | ||
1594 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1595 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1596 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1597 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
1598 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1599 | 25 | 25 | ||
1600 | 26 | ListView { | 26 | ListView { |
1601 | 27 | id: root | 27 | id: root |
1602 | @@ -41,13 +41,14 @@ | |||
1603 | 41 | flickableDirection: Flickable.VerticalFlick | 41 | flickableDirection: Flickable.VerticalFlick |
1604 | 42 | 42 | ||
1605 | 43 | section.property: "subset" | 43 | section.property: "subset" |
1607 | 44 | section.delegate: ListItem.Standard { | 44 | section.delegate: SettingsItemTitle { |
1608 | 45 | text: section == "true" ? subsetLabel : supersetLabel | 45 | text: section == "true" ? subsetLabel : supersetLabel |
1609 | 46 | } | 46 | } |
1610 | 47 | 47 | ||
1612 | 48 | delegate: ListItem.Standard { | 48 | delegate: SettingsListItems.Standard { |
1613 | 49 | text: model.display | 49 | text: model.display |
1615 | 50 | control: CheckBox { | 50 | |
1616 | 51 | CheckBox { | ||
1617 | 51 | checked: model.checked | 52 | checked: model.checked |
1618 | 52 | onCheckedChanged: { | 53 | onCheckedChanged: { |
1619 | 53 | var element = model.index < root.model.subset.length ? | 54 | var element = model.index < root.model.subset.length ? |
1620 | 54 | 55 | ||
1621 | === modified file 'plugins/orientation-lock/EntryComponent.qml' | |||
1622 | --- plugins/orientation-lock/EntryComponent.qml 2015-08-10 13:31:45 +0000 | |||
1623 | +++ plugins/orientation-lock/EntryComponent.qml 2015-11-23 13:42:19 +0000 | |||
1624 | @@ -1,7 +1,7 @@ | |||
1625 | 1 | /* | 1 | /* |
1626 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
1627 | 3 | * | 3 | * |
1629 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
1630 | 5 | * | 5 | * |
1631 | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> |
1632 | 7 | * | 7 | * |
1633 | @@ -21,16 +21,16 @@ | |||
1634 | 21 | import GSettings 1.0 | 21 | import GSettings 1.0 |
1635 | 22 | import QtQuick 2.4 | 22 | import QtQuick 2.4 |
1636 | 23 | import QtQuick.Window 2.1 | 23 | import QtQuick.Window 2.1 |
1637 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1638 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
1643 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | 26 | |
1644 | 26 | 27 | ||
1645 | 27 | 28 | SettingsListItems.Icon { | |
1642 | 28 | ListItem.Standard { | ||
1646 | 29 | id: root | 29 | id: root |
1647 | 30 | iconSource: model.icon | 30 | iconSource: model.icon |
1648 | 31 | iconFrame: false | ||
1649 | 32 | text: i18n.tr(model.displayName) | 31 | text: i18n.tr(model.displayName) |
1651 | 33 | control: Switch { | 32 | |
1652 | 33 | Switch { | ||
1653 | 34 | id: control | 34 | id: control |
1654 | 35 | objectName: "orientationLockSwitch" | 35 | objectName: "orientationLockSwitch" |
1655 | 36 | 36 | ||
1656 | 37 | 37 | ||
1657 | === modified file 'plugins/phone/CallForwardItem.qml' | |||
1658 | --- plugins/phone/CallForwardItem.qml 2015-11-06 12:22:09 +0000 | |||
1659 | +++ plugins/phone/CallForwardItem.qml 2015-11-23 13:42:19 +0000 | |||
1660 | @@ -19,8 +19,9 @@ | |||
1661 | 19 | */ | 19 | */ |
1662 | 20 | 20 | ||
1663 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1664 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1665 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
1667 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | 24 | import Ubuntu.Components.ListItems 1.0 as ListItems |
1668 | 24 | import Ubuntu.Components.Themes.Ambiance 0.1 | 25 | import Ubuntu.Components.Themes.Ambiance 0.1 |
1669 | 25 | import MeeGo.QOfono 0.2 | 26 | import MeeGo.QOfono 0.2 |
1670 | 26 | import "callForwardingUtils.js" as Utils | 27 | import "callForwardingUtils.js" as Utils |
1671 | @@ -135,12 +136,13 @@ | |||
1672 | 135 | } | 136 | } |
1673 | 136 | ] | 137 | ] |
1674 | 137 | 138 | ||
1676 | 138 | ListItem.ThinDivider { anchors { left: parent.left; right: parent.right }} | 139 | ListItems.ThinDivider { anchors { left: parent.left; right: parent.right }} |
1677 | 139 | 140 | ||
1679 | 140 | ListItem.Standard { | 141 | SettingsListItems.Standard { |
1680 | 141 | id: control | 142 | id: control |
1681 | 142 | onClicked: check.trigger(!check.checked) | 143 | onClicked: check.trigger(!check.checked) |
1683 | 143 | control: CheckBox { | 144 | |
1684 | 145 | CheckBox { | ||
1685 | 144 | id: check | 146 | id: check |
1686 | 145 | objectName: "check_" + rule | 147 | objectName: "check_" + rule |
1687 | 146 | checked: callForwarding[rule] !== "" | 148 | checked: callForwarding[rule] !== "" |
1688 | @@ -149,13 +151,13 @@ | |||
1689 | 149 | } | 151 | } |
1690 | 150 | } | 152 | } |
1691 | 151 | 153 | ||
1693 | 152 | ListItem.Standard { | 154 | SettingsListItems.Standard { |
1694 | 153 | id: input | 155 | id: input |
1695 | 154 | visible: false | 156 | visible: false |
1696 | 155 | height: visible ? units.gu(6) : 0 | ||
1697 | 156 | /* TRANSLATORS: This string will be truncated on smaller displays. */ | 157 | /* TRANSLATORS: This string will be truncated on smaller displays. */ |
1698 | 157 | text: i18n.tr("Forward to") | 158 | text: i18n.tr("Forward to") |
1700 | 158 | control: TextField { | 159 | |
1701 | 160 | TextField { | ||
1702 | 159 | id: field | 161 | id: field |
1703 | 160 | objectName: "field_" + rule | 162 | objectName: "field_" + rule |
1704 | 161 | horizontalAlignment: TextInput.AlignRight | 163 | horizontalAlignment: TextInput.AlignRight |
1705 | @@ -198,7 +200,7 @@ | |||
1706 | 198 | } | 200 | } |
1707 | 199 | } | 201 | } |
1708 | 200 | 202 | ||
1710 | 201 | ListItem.SingleValue { | 203 | SettingsListItems.SingleValue { |
1711 | 202 | id: current | 204 | id: current |
1712 | 203 | objectName: "current_" + rule | 205 | objectName: "current_" + rule |
1713 | 204 | visible: value | 206 | visible: value |
1714 | 205 | 207 | ||
1715 | === modified file 'plugins/phone/CallForwarding.qml' | |||
1716 | --- plugins/phone/CallForwarding.qml 2015-11-05 16:40:24 +0000 | |||
1717 | +++ plugins/phone/CallForwarding.qml 2015-11-23 13:42:19 +0000 | |||
1718 | @@ -1,7 +1,7 @@ | |||
1719 | 1 | /* | 1 | /* |
1720 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
1721 | 3 | * | 3 | * |
1723 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
1724 | 5 | * | 5 | * |
1725 | 6 | * Contact: | 6 | * Contact: |
1726 | 7 | * Sebastien Bacher <sebastien.bacher@canonical.com> | 7 | * Sebastien Bacher <sebastien.bacher@canonical.com> |
1727 | @@ -164,7 +164,6 @@ | |||
1728 | 164 | SettingsItemTitle { | 164 | SettingsItemTitle { |
1729 | 165 | id: fwdSomeTitle | 165 | id: fwdSomeTitle |
1730 | 166 | text: i18n.tr("Forward incoming calls when:") | 166 | text: i18n.tr("Forward incoming calls when:") |
1731 | 167 | showDivider: false | ||
1732 | 168 | } | 167 | } |
1733 | 169 | 168 | ||
1734 | 170 | CallForwardItem { | 169 | CallForwardItem { |
1735 | 171 | 170 | ||
1736 | === modified file 'plugins/phone/CallWaiting.qml' | |||
1737 | --- plugins/phone/CallWaiting.qml 2015-08-10 13:31:45 +0000 | |||
1738 | +++ plugins/phone/CallWaiting.qml 2015-11-23 13:42:19 +0000 | |||
1739 | @@ -20,8 +20,9 @@ | |||
1740 | 20 | 20 | ||
1741 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1742 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1743 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1744 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
1746 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | 25 | import Ubuntu.Components.ListItems 1.3 as ListItems |
1747 | 25 | import MeeGo.QOfono 0.2 | 26 | import MeeGo.QOfono 0.2 |
1748 | 26 | 27 | ||
1749 | 27 | ItemPage { | 28 | ItemPage { |
1750 | @@ -42,7 +43,7 @@ | |||
1751 | 42 | callWaitingIndicator.running = false; | 43 | callWaitingIndicator.running = false; |
1752 | 43 | } | 44 | } |
1753 | 44 | onVoiceCallWaitingComplete: { | 45 | onVoiceCallWaitingComplete: { |
1755 | 45 | //When the property change is complete, the value of checked should always be in sync with serverChecked | 46 | //When the property change is complete, the value of checked should always be in sync with serverChecked |
1756 | 46 | callWaitingSwitch.checked = callWaitingSwitch.serverChecked | 47 | callWaitingSwitch.checked = callWaitingSwitch.serverChecked |
1757 | 47 | /* Log some additional output to help debug when things don't work */ | 48 | /* Log some additional output to help debug when things don't work */ |
1758 | 48 | console.warn('callSettings, onVoiceCallWaitingComplete modem: ' + modemPath + ' success: ' + success + ' ' + voiceCallWaiting); | 49 | console.warn('callSettings, onVoiceCallWaitingComplete modem: ' + modemPath + ' success: ' + success + ' ' + voiceCallWaiting); |
1759 | @@ -50,54 +51,40 @@ | |||
1760 | 50 | } | 51 | } |
1761 | 51 | } | 52 | } |
1762 | 52 | 53 | ||
1763 | 53 | ActivityIndicator { | ||
1764 | 54 | id: callWaitingIndicator | ||
1765 | 55 | running: true | ||
1766 | 56 | visible: running && attached | ||
1767 | 57 | } | ||
1768 | 58 | |||
1769 | 59 | Switch { | ||
1770 | 60 | id: callWaitingSwitch | ||
1771 | 61 | objectName: "callWaitingSwitch" | ||
1772 | 62 | visible: !callWaitingIndicator.running | ||
1773 | 63 | enabled: callSettings.ready && attached | ||
1774 | 64 | property bool serverChecked: callSettings.voiceCallWaiting !== "disabled" | ||
1775 | 65 | onServerCheckedChanged: checked = serverChecked | ||
1776 | 66 | Component.onCompleted: checked = serverChecked | ||
1777 | 67 | onTriggered: { | ||
1778 | 68 | callWaitingIndicator.running = true; | ||
1779 | 69 | if (checked) | ||
1780 | 70 | callSettings.voiceCallWaiting = "enabled"; | ||
1781 | 71 | else | ||
1782 | 72 | callSettings.voiceCallWaiting = "disabled"; | ||
1783 | 73 | } | ||
1784 | 74 | } | ||
1785 | 75 | |||
1786 | 76 | Column { | 54 | Column { |
1787 | 77 | anchors.fill: parent | 55 | anchors.fill: parent |
1788 | 78 | 56 | ||
1790 | 79 | ListItem.Standard { | 57 | SettingsListItems.Standard { |
1791 | 80 | id: callWaitingItem | 58 | id: callWaitingItem |
1792 | 81 | text: i18n.tr("Call waiting") | 59 | text: i18n.tr("Call waiting") |
1793 | 82 | control: callWaitingIndicator.running ? | ||
1794 | 83 | callWaitingIndicator : callWaitingSwitch | ||
1795 | 84 | } | ||
1796 | 85 | 60 | ||
1805 | 86 | ListItem.Base { | 61 | Switch { |
1806 | 87 | height: textItem.height + units.gu(2) | 62 | id: callWaitingSwitch |
1807 | 88 | Label { | 63 | objectName: "callWaitingSwitch" |
1808 | 89 | id: textItem | 64 | visible: !callWaitingIndicator.running |
1809 | 90 | anchors { | 65 | enabled: callSettings.ready && attached |
1810 | 91 | left: parent.left | 66 | property bool serverChecked: callSettings.voiceCallWaiting !== "disabled" |
1811 | 92 | right: parent.right | 67 | onServerCheckedChanged: checked = serverChecked |
1812 | 93 | verticalCenter: parent.verticalCenter | 68 | Component.onCompleted: checked = serverChecked |
1813 | 69 | onTriggered: { | ||
1814 | 70 | callWaitingIndicator.running = true; | ||
1815 | 71 | if (checked) | ||
1816 | 72 | callSettings.voiceCallWaiting = "enabled"; | ||
1817 | 73 | else | ||
1818 | 74 | callSettings.voiceCallWaiting = "disabled"; | ||
1819 | 94 | } | 75 | } |
1826 | 95 | 76 | } | |
1827 | 96 | text: i18n.tr("Lets you answer or start a new call while on another call, and switch between them") | 77 | |
1828 | 97 | horizontalAlignment: Text.AlignHCenter | 78 | ActivityIndicator { |
1829 | 98 | wrapMode: Text.WordWrap | 79 | id: callWaitingIndicator |
1830 | 99 | } | 80 | running: callWaitingIndicator.running |
1831 | 100 | showDivider: false | 81 | visible: running && attached |
1832 | 82 | } | ||
1833 | 83 | |||
1834 | 84 | } | ||
1835 | 85 | |||
1836 | 86 | ListItems.Caption { | ||
1837 | 87 | text: i18n.tr("Lets you answer or start a new call while on another call, and switch between them") | ||
1838 | 101 | } | 88 | } |
1839 | 102 | } | 89 | } |
1840 | 103 | } | 90 | } |
1841 | 104 | 91 | ||
1842 | === modified file 'plugins/phone/MultiSim.qml' | |||
1843 | --- plugins/phone/MultiSim.qml 2015-11-05 16:40:24 +0000 | |||
1844 | +++ plugins/phone/MultiSim.qml 2015-11-23 13:42:19 +0000 | |||
1845 | @@ -1,5 +1,5 @@ | |||
1846 | 1 | /* | 1 | /* |
1848 | 2 | * Copyright (C) 2014 Canonical Ltd | 2 | * Copyright (C) 2014-2015 Canonical Ltd |
1849 | 3 | * | 3 | * |
1850 | 4 | * This program is free software: you can redistribute it and/or modify | 4 | * This program is free software: you can redistribute it and/or modify |
1851 | 5 | * it under the terms of the GNU General Public License version 3 as | 5 | * it under the terms of the GNU General Public License version 3 as |
1852 | @@ -21,8 +21,8 @@ | |||
1853 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1854 | 22 | import GSettings 1.0 | 22 | import GSettings 1.0 |
1855 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
1856 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1857 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
1858 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1859 | 26 | 26 | ||
1860 | 27 | Column { | 27 | Column { |
1861 | 28 | 28 | ||
1862 | @@ -37,20 +37,18 @@ | |||
1863 | 37 | 37 | ||
1864 | 38 | SettingsItemTitle { text: sims[index].title } | 38 | SettingsItemTitle { text: sims[index].title } |
1865 | 39 | 39 | ||
1867 | 40 | ListItem.Standard { | 40 | SettingsListItems.StandardProgression { |
1868 | 41 | objectName: "callWaitSim" + index | 41 | objectName: "callWaitSim" + index |
1869 | 42 | text: i18n.tr("Call waiting") | 42 | text: i18n.tr("Call waiting") |
1870 | 43 | progression: true | ||
1871 | 44 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), { | 43 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), { |
1872 | 45 | sim: sims[index], | 44 | sim: sims[index], |
1873 | 46 | headerTitle: sims[index].title | 45 | headerTitle: sims[index].title |
1874 | 47 | }) | 46 | }) |
1875 | 48 | } | 47 | } |
1876 | 49 | 48 | ||
1878 | 50 | ListItem.SingleValue { | 49 | SettingsListItems.SingleValueProgression { |
1879 | 51 | objectName: "callFwdSim" + index | 50 | objectName: "callFwdSim" + index |
1880 | 52 | text: i18n.tr("Call forwarding") | 51 | text: i18n.tr("Call forwarding") |
1881 | 53 | progression: true | ||
1882 | 54 | value: sims[index].getCallForwardingSummary() | 52 | value: sims[index].getCallForwardingSummary() |
1883 | 55 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), { | 53 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), { |
1884 | 56 | sim: sims[index], | 54 | sim: sims[index], |
1885 | @@ -58,10 +56,9 @@ | |||
1886 | 58 | }) | 56 | }) |
1887 | 59 | } | 57 | } |
1888 | 60 | 58 | ||
1890 | 61 | ListItem.Standard { | 59 | SettingsListItems.StandardProgression { |
1891 | 62 | objectName: "simServicesSim" + index | 60 | objectName: "simServicesSim" + index |
1892 | 63 | text: i18n.tr("Services") | 61 | text: i18n.tr("Services") |
1893 | 64 | progression: true | ||
1894 | 65 | enabled: { | 62 | enabled: { |
1895 | 66 | var num; | 63 | var num; |
1896 | 67 | var map = sims[index].simMng.serviceNumbers; | 64 | var map = sims[index].simMng.serviceNumbers; |
1897 | @@ -82,10 +79,6 @@ | |||
1898 | 82 | }) | 79 | }) |
1899 | 83 | } | 80 | } |
1900 | 84 | 81 | ||
1901 | 85 | ListItem.Divider { | ||
1902 | 86 | visible: index !== (sims.length - 1) | ||
1903 | 87 | } | ||
1904 | 88 | |||
1905 | 89 | Binding { | 82 | Binding { |
1906 | 90 | target: sims[index] | 83 | target: sims[index] |
1907 | 91 | property: "name" | 84 | property: "name" |
1908 | 92 | 85 | ||
1909 | === modified file 'plugins/phone/NoSims.qml' | |||
1910 | --- plugins/phone/NoSims.qml 2015-08-10 13:31:45 +0000 | |||
1911 | +++ plugins/phone/NoSims.qml 2015-11-23 13:42:19 +0000 | |||
1912 | @@ -1,5 +1,5 @@ | |||
1913 | 1 | /* | 1 | /* |
1915 | 2 | * Copyright (C) 2014 Canonical Ltd | 2 | * Copyright (C) 2014-2015 Canonical Ltd |
1916 | 3 | * | 3 | * |
1917 | 4 | * This program is free software: you can redistribute it and/or modify | 4 | * This program is free software: you can redistribute it and/or modify |
1918 | 5 | * it under the terms of the GNU General Public License version 3 as | 5 | * it under the terms of the GNU General Public License version 3 as |
1919 | @@ -19,28 +19,22 @@ | |||
1920 | 19 | * | 19 | * |
1921 | 20 | */ | 20 | */ |
1922 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1925 | 22 | import Ubuntu.Components 1.3 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems |
1924 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1926 | 24 | 23 | ||
1927 | 25 | Column { | 24 | Column { |
1928 | 26 | 25 | ||
1930 | 27 | ListItem.Standard { | 26 | SettingsListItems.StandardProgression { |
1931 | 28 | text: i18n.tr("Call forwarding") | 27 | text: i18n.tr("Call forwarding") |
1932 | 29 | progression: true | ||
1933 | 30 | enabled: false | 28 | enabled: false |
1934 | 31 | } | 29 | } |
1935 | 32 | 30 | ||
1937 | 33 | ListItem.Standard { | 31 | SettingsListItems.StandardProgression { |
1938 | 34 | text: i18n.tr("Call waiting") | 32 | text: i18n.tr("Call waiting") |
1939 | 35 | progression: true | ||
1940 | 36 | enabled: false | 33 | enabled: false |
1941 | 37 | } | 34 | } |
1942 | 38 | 35 | ||
1946 | 39 | ListItem.Divider {} | 36 | SettingsListItems.StandardProgression { |
1944 | 40 | |||
1945 | 41 | ListItem.Standard { | ||
1947 | 42 | text: i18n.tr("Services") | 37 | text: i18n.tr("Services") |
1948 | 43 | progression: true | ||
1949 | 44 | enabled: false | 38 | enabled: false |
1950 | 45 | } | 39 | } |
1951 | 46 | } | 40 | } |
1952 | 47 | 41 | ||
1953 | === modified file 'plugins/phone/PageComponent.qml' | |||
1954 | --- plugins/phone/PageComponent.qml 2015-08-10 13:31:45 +0000 | |||
1955 | +++ plugins/phone/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
1956 | @@ -1,7 +1,7 @@ | |||
1957 | 1 | /* | 1 | /* |
1958 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
1959 | 3 | * | 3 | * |
1961 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
1962 | 5 | * | 5 | * |
1963 | 6 | * Contact: Iain Lane <iain.lane@canonical.com> | 6 | * Contact: Iain Lane <iain.lane@canonical.com> |
1964 | 7 | * | 7 | * |
1965 | @@ -20,8 +20,8 @@ | |||
1966 | 20 | 20 | ||
1967 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
1968 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1969 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
1970 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
1971 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
1972 | 25 | import Ubuntu.SystemSettings.Sound 1.0 | 25 | import Ubuntu.SystemSettings.Sound 1.0 |
1973 | 26 | import MeeGo.QOfono 0.2 | 26 | import MeeGo.QOfono 0.2 |
1974 | 27 | import "sims.js" as Sims | 27 | import "sims.js" as Sims |
1975 | @@ -89,10 +89,8 @@ | |||
1976 | 89 | anchors { left: parent.left; right: parent.right } | 89 | anchors { left: parent.left; right: parent.right } |
1977 | 90 | } | 90 | } |
1978 | 91 | 91 | ||
1983 | 92 | ListItem.Divider {} | 92 | SettingsListItems.Standard { |
1984 | 93 | 93 | Switch { | |
1981 | 94 | ListItem.Standard { | ||
1982 | 95 | control: Switch { | ||
1985 | 96 | objectName: "dialpadSounds" | 94 | objectName: "dialpadSounds" |
1986 | 97 | property bool serverChecked: soundPlugin.dialpadSoundsEnabled | 95 | property bool serverChecked: soundPlugin.dialpadSoundsEnabled |
1987 | 98 | onServerCheckedChanged: checked = serverChecked | 96 | onServerCheckedChanged: checked = serverChecked |
1988 | 99 | 97 | ||
1989 | === modified file 'plugins/phone/ServiceInfo.qml' | |||
1990 | --- plugins/phone/ServiceInfo.qml 2015-10-16 13:42:50 +0000 | |||
1991 | +++ plugins/phone/ServiceInfo.qml 2015-11-23 13:42:19 +0000 | |||
1992 | @@ -1,7 +1,7 @@ | |||
1993 | 1 | /* | 1 | /* |
1994 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
1995 | 3 | * | 3 | * |
1997 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
1998 | 5 | * | 5 | * |
1999 | 6 | * Contact: Sebastien Bacher <sebastien.bacher@canonical.com> | 6 | * Contact: Sebastien Bacher <sebastien.bacher@canonical.com> |
2000 | 7 | * | 7 | * |
2001 | @@ -20,8 +20,8 @@ | |||
2002 | 20 | 20 | ||
2003 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2004 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
2005 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2006 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
2007 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2008 | 25 | import Ubuntu.History 0.1 | 25 | import Ubuntu.History 0.1 |
2009 | 26 | import "dateUtils.js" as DateUtils | 26 | import "dateUtils.js" as DateUtils |
2010 | 27 | 27 | ||
2011 | @@ -83,7 +83,7 @@ | |||
2012 | 83 | verticalCenter: parent.verticalCenter | 83 | verticalCenter: parent.verticalCenter |
2013 | 84 | } | 84 | } |
2014 | 85 | 85 | ||
2016 | 86 | ListItem.Base { | 86 | Item { |
2017 | 87 | anchors.left: parent.left | 87 | anchors.left: parent.left |
2018 | 88 | anchors.right: parent.right | 88 | anchors.right: parent.right |
2019 | 89 | height: lastCalledCol.height + units.gu(6) | 89 | height: lastCalledCol.height + units.gu(6) |
2020 | @@ -112,9 +112,10 @@ | |||
2021 | 112 | } | 112 | } |
2022 | 113 | } | 113 | } |
2023 | 114 | 114 | ||
2025 | 115 | ListItem.SingleControl { | 115 | SettingsListItems.SingleControl { |
2026 | 116 | anchors.bottom: parent.bottom | 116 | anchors.bottom: parent.bottom |
2028 | 117 | control: Button { | 117 | |
2029 | 118 | Button { | ||
2030 | 118 | width: parent.width - units.gu(4) | 119 | width: parent.width - units.gu(4) |
2031 | 119 | text: i18n.tr("Call") | 120 | text: i18n.tr("Call") |
2032 | 120 | onClicked: Qt.openUrlExternally("tel:///" + encodeURIComponent( | 121 | onClicked: Qt.openUrlExternally("tel:///" + encodeURIComponent( |
2033 | 121 | 122 | ||
2034 | === modified file 'plugins/phone/Services.qml' | |||
2035 | --- plugins/phone/Services.qml 2015-08-10 13:31:45 +0000 | |||
2036 | +++ plugins/phone/Services.qml 2015-11-23 13:42:19 +0000 | |||
2037 | @@ -1,7 +1,7 @@ | |||
2038 | 1 | /* | 1 | /* |
2039 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
2040 | 3 | * | 3 | * |
2042 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
2043 | 5 | * | 5 | * |
2044 | 6 | * Contact: Sebastien Bacher <sebastien.bacher@canonical.com> | 6 | * Contact: Sebastien Bacher <sebastien.bacher@canonical.com> |
2045 | 7 | * | 7 | * |
2046 | @@ -20,8 +20,8 @@ | |||
2047 | 20 | 20 | ||
2048 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2049 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
2050 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2051 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
2052 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2053 | 25 | 25 | ||
2054 | 26 | ItemPage { | 26 | ItemPage { |
2055 | 27 | id: root | 27 | id: root |
2056 | @@ -60,8 +60,7 @@ | |||
2057 | 60 | Repeater { | 60 | Repeater { |
2058 | 61 | model: names | 61 | model: names |
2059 | 62 | 62 | ||
2062 | 63 | ListItem.Standard { | 63 | SettingsListItems.StandardProgression { |
2061 | 64 | progression: true | ||
2063 | 65 | text: modelData | 64 | text: modelData |
2064 | 66 | onClicked: pageStack.push(Qt.resolvedUrl("ServiceInfo.qml"), {serviceName: modelData, serviceNumber: sim.serviceNumbers[modelData]}) | 65 | onClicked: pageStack.push(Qt.resolvedUrl("ServiceInfo.qml"), {serviceName: modelData, serviceNumber: sim.serviceNumbers[modelData]}) |
2065 | 67 | } | 66 | } |
2066 | 68 | 67 | ||
2067 | === modified file 'plugins/phone/SingleSim.qml' | |||
2068 | --- plugins/phone/SingleSim.qml 2015-11-05 16:40:24 +0000 | |||
2069 | +++ plugins/phone/SingleSim.qml 2015-11-23 13:42:19 +0000 | |||
2070 | @@ -1,5 +1,5 @@ | |||
2071 | 1 | /* | 1 | /* |
2073 | 2 | * Copyright (C) 2014 Canonical Ltd | 2 | * Copyright (C) 2014-2015 Canonical Ltd |
2074 | 3 | * | 3 | * |
2075 | 4 | * This program is free software: you can redistribute it and/or modify | 4 | * This program is free software: you can redistribute it and/or modify |
2076 | 5 | * it under the terms of the GNU General Public License version 3 as | 5 | * it under the terms of the GNU General Public License version 3 as |
2077 | @@ -19,8 +19,8 @@ | |||
2078 | 19 | * | 19 | * |
2079 | 20 | */ | 20 | */ |
2080 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2081 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2082 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
2083 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2084 | 24 | 24 | ||
2085 | 25 | Column { | 25 | Column { |
2086 | 26 | 26 | ||
2087 | @@ -29,30 +29,23 @@ | |||
2088 | 29 | property string carrierString: carrierName ? carrierName : i18n.tr("SIM") | 29 | property string carrierString: carrierName ? carrierName : i18n.tr("SIM") |
2089 | 30 | 30 | ||
2090 | 31 | 31 | ||
2092 | 32 | ListItem.Standard { | 32 | SettingsListItems.StandardProgression { |
2093 | 33 | objectName: "callWait" | 33 | objectName: "callWait" |
2094 | 34 | text: i18n.tr("Call waiting") | 34 | text: i18n.tr("Call waiting") |
2095 | 35 | progression: true | ||
2096 | 36 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {sim: sim}) | 35 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {sim: sim}) |
2097 | 37 | } | 36 | } |
2098 | 38 | 37 | ||
2100 | 39 | ListItem.SingleValue { | 38 | SettingsListItems.SingleValueProgression { |
2101 | 40 | objectName: "callFwd" | 39 | objectName: "callFwd" |
2102 | 41 | text: i18n.tr("Call forwarding") | 40 | text: i18n.tr("Call forwarding") |
2103 | 42 | showDivider: false | ||
2104 | 43 | progression: true | ||
2105 | 44 | value: sim.getCallForwardingSummary() | 41 | value: sim.getCallForwardingSummary() |
2106 | 45 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {sim: sim}) | 42 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {sim: sim}) |
2107 | 46 | } | 43 | } |
2108 | 47 | 44 | ||
2112 | 48 | ListItem.Divider {} | 45 | SettingsListItems.StandardProgression { |
2110 | 49 | |||
2111 | 50 | ListItem.Standard { | ||
2113 | 51 | objectName: "simServices" | 46 | objectName: "simServices" |
2114 | 52 | // TRANSLATORS: %1 is the name of the (network) carrier | 47 | // TRANSLATORS: %1 is the name of the (network) carrier |
2115 | 53 | text: i18n.tr("%1 Services").arg(carrierString) | 48 | text: i18n.tr("%1 Services").arg(carrierString) |
2116 | 54 | progression: true | ||
2117 | 55 | showDivider: false | ||
2118 | 56 | enabled: { | 49 | enabled: { |
2119 | 57 | var num; | 50 | var num; |
2120 | 58 | var map = sim.simMng.serviceNumbers; | 51 | var map = sim.simMng.serviceNumbers; |
2121 | 59 | 52 | ||
2122 | === modified file 'plugins/reset/EntryComponent.qml' | |||
2123 | --- plugins/reset/EntryComponent.qml 2015-08-10 13:31:45 +0000 | |||
2124 | +++ plugins/reset/EntryComponent.qml 2015-11-23 13:42:19 +0000 | |||
2125 | @@ -19,14 +19,12 @@ | |||
2126 | 19 | */ | 19 | */ |
2127 | 20 | 20 | ||
2128 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2129 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2130 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
2131 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2132 | 24 | 24 | ||
2134 | 25 | ListItem.Standard { | 25 | SettingsListItems.IconProgression { |
2135 | 26 | id: root | 26 | id: root |
2136 | 27 | objectName: "entryComponent-reset" | 27 | objectName: "entryComponent-reset" |
2137 | 28 | iconSource: model.icon | 28 | iconSource: model.icon |
2138 | 29 | iconFrame: false | ||
2139 | 30 | text: i18n.tr(model.displayName) | 29 | text: i18n.tr(model.displayName) |
2140 | 31 | progression: true | ||
2141 | 32 | } | 30 | } |
2142 | 33 | 31 | ||
2143 | === modified file 'plugins/reset/PageComponent.qml' | |||
2144 | --- plugins/reset/PageComponent.qml 2015-08-10 13:31:45 +0000 | |||
2145 | +++ plugins/reset/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
2146 | @@ -21,8 +21,8 @@ | |||
2147 | 21 | import GSettings 1.0 | 21 | import GSettings 1.0 |
2148 | 22 | import QtQuick 2.4 | 22 | import QtQuick 2.4 |
2149 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
2150 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2151 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
2152 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2153 | 26 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
2154 | 27 | import Ubuntu.SystemSettings.Reset 1.0 | 27 | import Ubuntu.SystemSettings.Reset 1.0 |
2155 | 28 | 28 | ||
2156 | @@ -66,46 +66,81 @@ | |||
2157 | 66 | anchors.left: parent.left | 66 | anchors.left: parent.left |
2158 | 67 | anchors.right: parent.right | 67 | anchors.right: parent.right |
2159 | 68 | 68 | ||
2162 | 69 | ListItem.SingleControl { | 69 | Label { |
2163 | 70 | control: Button { | 70 | anchors { |
2164 | 71 | left: parent.left | ||
2165 | 72 | right: parent.right | ||
2166 | 73 | margins: units.gu(2) | ||
2167 | 74 | } | ||
2168 | 75 | text: i18n.tr("Reset Launcher") | ||
2169 | 76 | color: UbuntuColors.orange | ||
2170 | 77 | height: units.gu(6) | ||
2171 | 78 | verticalAlignment: Text.AlignVCenter | ||
2172 | 79 | } | ||
2173 | 80 | |||
2174 | 81 | SettingsListItems.Standard { | ||
2175 | 82 | |||
2176 | 83 | Button { | ||
2177 | 71 | id: resetLauncherHomeButton | 84 | id: resetLauncherHomeButton |
2178 | 72 | objectName: "resetLauncher" | 85 | objectName: "resetLauncher" |
2179 | 73 | text: i18n.tr("Reset Launcher") | 86 | text: i18n.tr("Reset Launcher") |
2180 | 74 | width: parent.width - units.gu(4) | ||
2181 | 75 | onClicked: { | 87 | onClicked: { |
2182 | 76 | buttonActions.source = "ResetLauncherHome.qml"; | 88 | buttonActions.source = "ResetLauncherHome.qml"; |
2183 | 77 | root.popup = PopupUtils.open(buttonActions.item); | 89 | root.popup = PopupUtils.open(buttonActions.item); |
2184 | 78 | } | 90 | } |
2185 | 79 | } | 91 | } |
2192 | 80 | showDivider: false | 92 | } |
2193 | 81 | } | 93 | |
2194 | 82 | 94 | Label { | |
2195 | 83 | ListItem.SingleControl { | 95 | anchors { |
2196 | 84 | visible: false // enabled when backend is ready/useful | 96 | left: parent.left |
2197 | 85 | control: Button { | 97 | right: parent.right |
2198 | 98 | margins: units.gu(2) | ||
2199 | 99 | } | ||
2200 | 100 | visible: showAllUI | ||
2201 | 101 | text: i18n.tr("Reset all system settings…") | ||
2202 | 102 | color: UbuntuColors.orange | ||
2203 | 103 | height: units.gu(6) | ||
2204 | 104 | verticalAlignment: Text.AlignVCenter | ||
2205 | 105 | } | ||
2206 | 106 | |||
2207 | 107 | SettingsListItems.Standard { | ||
2208 | 108 | visible: showAllUI | ||
2209 | 109 | |||
2210 | 110 | Button { | ||
2211 | 86 | id: resetAllSettingsButton | 111 | id: resetAllSettingsButton |
2212 | 87 | text: i18n.tr("Reset all system settings…") | 112 | text: i18n.tr("Reset all system settings…") |
2213 | 88 | width: parent.width - units.gu(4) | ||
2214 | 89 | onClicked: { | 113 | onClicked: { |
2215 | 90 | buttonActions.source = "ResetAllSettings.qml"; | 114 | buttonActions.source = "ResetAllSettings.qml"; |
2216 | 91 | root.popup = PopupUtils.open(buttonActions.item); | 115 | root.popup = PopupUtils.open(buttonActions.item); |
2217 | 92 | } | 116 | } |
2218 | 93 | } | 117 | } |
2224 | 94 | showDivider: false | 118 | } |
2225 | 95 | } | 119 | |
2226 | 96 | 120 | Label { | |
2227 | 97 | ListItem.SingleControl { | 121 | anchors { |
2228 | 98 | control: Button { | 122 | left: parent.left |
2229 | 123 | right: parent.right | ||
2230 | 124 | margins: units.gu(2) | ||
2231 | 125 | } | ||
2232 | 126 | text: i18n.tr("Erase & Reset All") | ||
2233 | 127 | color: UbuntuColors.orange | ||
2234 | 128 | height: units.gu(6) | ||
2235 | 129 | verticalAlignment: Text.AlignVCenter | ||
2236 | 130 | } | ||
2237 | 131 | |||
2238 | 132 | SettingsListItems.Standard { | ||
2239 | 133 | |||
2240 | 134 | Button { | ||
2241 | 99 | id: eraseEverythingButton | 135 | id: eraseEverythingButton |
2242 | 100 | objectName: "factoryReset" | 136 | objectName: "factoryReset" |
2245 | 101 | text: i18n.tr("Erase & Reset Everything…") | 137 | |
2246 | 102 | width: parent.width - units.gu(4) | 138 | text: i18n.tr("Erase & Reset All") |
2247 | 103 | onClicked: { | 139 | onClicked: { |
2248 | 104 | buttonActions.source = "EraseEverything.qml"; | 140 | buttonActions.source = "EraseEverything.qml"; |
2249 | 105 | root.popup = PopupUtils.open(buttonActions.item); | 141 | root.popup = PopupUtils.open(buttonActions.item); |
2250 | 106 | } | 142 | } |
2251 | 107 | } | 143 | } |
2252 | 108 | showDivider: false | ||
2253 | 109 | } | 144 | } |
2254 | 110 | } | 145 | } |
2255 | 111 | } | 146 | } |
2256 | 112 | 147 | ||
2257 | === modified file 'plugins/sound/PageComponent.qml' | |||
2258 | --- plugins/sound/PageComponent.qml 2015-10-23 14:57:26 +0000 | |||
2259 | +++ plugins/sound/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
2260 | @@ -21,8 +21,8 @@ | |||
2261 | 21 | import GSettings 1.0 | 21 | import GSettings 1.0 |
2262 | 22 | import QtQuick 2.4 | 22 | import QtQuick 2.4 |
2263 | 23 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
2264 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2265 | 25 | import SystemSettings 1.0 | 24 | import SystemSettings 1.0 |
2266 | 25 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2267 | 26 | import Ubuntu.SystemSettings.Sound 1.0 | 26 | import Ubuntu.SystemSettings.Sound 1.0 |
2268 | 27 | import Ubuntu.Settings.Menus 0.1 as Menus | 27 | import Ubuntu.Settings.Menus 0.1 as Menus |
2269 | 28 | import Ubuntu.Settings.Components 0.1 as USC | 28 | import Ubuntu.Settings.Components 0.1 as USC |
2270 | @@ -66,8 +66,10 @@ | |||
2271 | 66 | anchors.left: parent.left | 66 | anchors.left: parent.left |
2272 | 67 | anchors.right: parent.right | 67 | anchors.right: parent.right |
2273 | 68 | 68 | ||
2276 | 69 | ListItem.Standard { | 69 | SettingsListItems.Standard { |
2277 | 70 | control: Switch { | 70 | text: i18n.tr("Silent Mode") |
2278 | 71 | |||
2279 | 72 | Switch { | ||
2280 | 71 | id: silentModeSwitch | 73 | id: silentModeSwitch |
2281 | 72 | objectName: "silentMode" | 74 | objectName: "silentMode" |
2282 | 73 | property bool serverChecked: soundActionGroup.silentMode.state | 75 | property bool serverChecked: soundActionGroup.silentMode.state |
2283 | @@ -81,7 +83,6 @@ | |||
2284 | 81 | onSyncTriggered: soundActionGroup.silentMode.activate() | 83 | onSyncTriggered: soundActionGroup.silentMode.activate() |
2285 | 82 | } | 84 | } |
2286 | 83 | } | 85 | } |
2287 | 84 | text: i18n.tr("Silent Mode") | ||
2288 | 85 | } | 86 | } |
2289 | 86 | 87 | ||
2290 | 87 | SettingsItemTitle { | 88 | SettingsItemTitle { |
2291 | @@ -123,7 +124,7 @@ | |||
2292 | 123 | } | 124 | } |
2293 | 124 | } | 125 | } |
2294 | 125 | 126 | ||
2296 | 126 | ListItem.Standard { | 127 | SettingsListItems.Standard { |
2297 | 127 | id: highVolumeWarning | 128 | id: highVolumeWarning |
2298 | 128 | visible: soundActionGroup.highVolume.state == true | 129 | visible: soundActionGroup.highVolume.state == true |
2299 | 129 | text: i18n.tr("High volume can damage your hearing.") | 130 | text: i18n.tr("High volume can damage your hearing.") |
2300 | @@ -133,22 +134,22 @@ | |||
2301 | 133 | text: i18n.tr("Phone calls:") | 134 | text: i18n.tr("Phone calls:") |
2302 | 134 | } | 135 | } |
2303 | 135 | 136 | ||
2305 | 136 | ListItem.SingleValue { | 137 | SettingsListItems.SingleValueProgression { |
2306 | 137 | text: i18n.tr("Ringtone") | 138 | text: i18n.tr("Ringtone") |
2310 | 138 | value: Utilities.buildDisplayName( | 139 | value: Utilities.buildDisplayName(backendInfo.incomingCallSound) |
2311 | 139 | backendInfo.incomingCallSound) | 140 | |
2309 | 140 | progression: true | ||
2312 | 141 | onClicked: pageStack.push( | 141 | onClicked: pageStack.push( |
2319 | 142 | Qt.resolvedUrl("SoundsList.qml"), | 142 | Qt.resolvedUrl("SoundsList.qml"), { |
2320 | 143 | { title: i18n.tr("Ringtone"), | 143 | title: i18n.tr("Ringtone"), |
2321 | 144 | showStopButton: true, | 144 | showStopButton: true, |
2322 | 145 | soundType: 0, | 145 | soundType: 0, |
2323 | 146 | soundsDir: | 146 | soundsDir: "/usr/share/sounds/ubuntu/ringtones/" |
2324 | 147 | "/usr/share/sounds/ubuntu/ringtones/" }) | 147 | } |
2325 | 148 | ) | ||
2326 | 148 | } | 149 | } |
2327 | 149 | 150 | ||
2330 | 150 | ListItem.Standard { | 151 | SettingsListItems.Standard { |
2331 | 151 | control: CheckBox { | 152 | CheckBox { |
2332 | 152 | objectName: "callVibrate" | 153 | objectName: "callVibrate" |
2333 | 153 | property bool serverChecked: backendInfo.incomingCallVibrate | 154 | property bool serverChecked: backendInfo.incomingCallVibrate |
2334 | 154 | onServerCheckedChanged: checked = serverChecked | 155 | onServerCheckedChanged: checked = serverChecked |
2335 | @@ -158,8 +159,8 @@ | |||
2336 | 158 | text: i18n.tr("Vibrate on ring") | 159 | text: i18n.tr("Vibrate on ring") |
2337 | 159 | } | 160 | } |
2338 | 160 | 161 | ||
2341 | 161 | ListItem.Standard { | 162 | SettingsListItems.Standard { |
2342 | 162 | control: CheckBox { | 163 | CheckBox { |
2343 | 163 | objectName: "callVibrateSilentMode" | 164 | objectName: "callVibrateSilentMode" |
2344 | 164 | property bool serverChecked: backendInfo.incomingCallVibrateSilentMode | 165 | property bool serverChecked: backendInfo.incomingCallVibrateSilentMode |
2345 | 165 | onServerCheckedChanged: checked = serverChecked | 166 | onServerCheckedChanged: checked = serverChecked |
2346 | @@ -169,8 +170,8 @@ | |||
2347 | 169 | text: i18n.tr("Vibrate in Silent Mode") | 170 | text: i18n.tr("Vibrate in Silent Mode") |
2348 | 170 | } | 171 | } |
2349 | 171 | 172 | ||
2352 | 172 | ListItem.Standard { | 173 | SettingsListItems.Standard { |
2353 | 173 | control: Switch { | 174 | Switch { |
2354 | 174 | objectName: "dialpadSounds" | 175 | objectName: "dialpadSounds" |
2355 | 175 | property bool serverChecked: backendInfo.dialpadSoundsEnabled | 176 | property bool serverChecked: backendInfo.dialpadSoundsEnabled |
2356 | 176 | onServerCheckedChanged: checked = serverChecked | 177 | onServerCheckedChanged: checked = serverChecked |
2357 | @@ -184,11 +185,10 @@ | |||
2358 | 184 | text: i18n.tr("Messages:") | 185 | text: i18n.tr("Messages:") |
2359 | 185 | } | 186 | } |
2360 | 186 | 187 | ||
2362 | 187 | ListItem.SingleValue { | 188 | SettingsListItems.SingleValueProgression { |
2363 | 188 | text: i18n.tr("Message received") | 189 | text: i18n.tr("Message received") |
2364 | 189 | value:Utilities.buildDisplayName( | 190 | value:Utilities.buildDisplayName( |
2365 | 190 | backendInfo.incomingMessageSound) | 191 | backendInfo.incomingMessageSound) |
2366 | 191 | progression: true | ||
2367 | 192 | onClicked: pageStack.push( | 192 | onClicked: pageStack.push( |
2368 | 193 | Qt.resolvedUrl("SoundsList.qml"), | 193 | Qt.resolvedUrl("SoundsList.qml"), |
2369 | 194 | { title: i18n.tr("Message received"), | 194 | { title: i18n.tr("Message received"), |
2370 | @@ -197,8 +197,8 @@ | |||
2371 | 197 | "/usr/share/sounds/ubuntu/notifications/" }) | 197 | "/usr/share/sounds/ubuntu/notifications/" }) |
2372 | 198 | } | 198 | } |
2373 | 199 | 199 | ||
2376 | 200 | ListItem.Standard { | 200 | SettingsListItems.Standard { |
2377 | 201 | control: CheckBox { | 201 | CheckBox { |
2378 | 202 | objectName: "messageVibrate" | 202 | objectName: "messageVibrate" |
2379 | 203 | property bool serverChecked: backendInfo.incomingMessageVibrate | 203 | property bool serverChecked: backendInfo.incomingMessageVibrate |
2380 | 204 | onServerCheckedChanged: checked = serverChecked | 204 | onServerCheckedChanged: checked = serverChecked |
2381 | @@ -208,8 +208,8 @@ | |||
2382 | 208 | text: i18n.tr("Vibrate with message sound") | 208 | text: i18n.tr("Vibrate with message sound") |
2383 | 209 | } | 209 | } |
2384 | 210 | 210 | ||
2387 | 211 | ListItem.Standard { | 211 | SettingsListItems.Standard { |
2388 | 212 | control: CheckBox { | 212 | CheckBox { |
2389 | 213 | objectName: "messageVibrateSilentMode" | 213 | objectName: "messageVibrateSilentMode" |
2390 | 214 | property bool serverChecked: backendInfo.incomingMessageVibrateSilentMode | 214 | property bool serverChecked: backendInfo.incomingMessageVibrateSilentMode |
2391 | 215 | onServerCheckedChanged: checked = serverChecked | 215 | onServerCheckedChanged: checked = serverChecked |
2392 | @@ -223,10 +223,10 @@ | |||
2393 | 223 | text: i18n.tr("Other sounds:") | 223 | text: i18n.tr("Other sounds:") |
2394 | 224 | } | 224 | } |
2395 | 225 | 225 | ||
2397 | 226 | ListItem.Standard { | 226 | SettingsListItems.Standard { |
2398 | 227 | text: i18n.tr("Keyboard sound") | 227 | text: i18n.tr("Keyboard sound") |
2399 | 228 | 228 | ||
2401 | 229 | control: Switch { | 229 | Switch { |
2402 | 230 | objectName: "keyboardSoundSwitch" | 230 | objectName: "keyboardSoundSwitch" |
2403 | 231 | property bool serverChecked: keyboardSettings.keyPressFeedback | 231 | property bool serverChecked: keyboardSettings.keyPressFeedback |
2404 | 232 | onServerCheckedChanged: checked = serverChecked | 232 | onServerCheckedChanged: checked = serverChecked |
2405 | @@ -235,20 +235,22 @@ | |||
2406 | 235 | } | 235 | } |
2407 | 236 | } | 236 | } |
2408 | 237 | 237 | ||
2410 | 238 | ListItem.Standard { | 238 | SettingsListItems.Standard { |
2411 | 239 | id: lockSound | 239 | id: lockSound |
2413 | 240 | control: Switch { | 240 | |
2414 | 241 | Switch { | ||
2415 | 241 | checked: false | 242 | checked: false |
2416 | 242 | } | 243 | } |
2417 | 243 | text: i18n.tr("Lock sound") | 244 | text: i18n.tr("Lock sound") |
2418 | 244 | visible: showAllUI | 245 | visible: showAllUI |
2419 | 245 | } | 246 | } |
2420 | 246 | 247 | ||
2422 | 247 | ListItem.Divider {} | 248 | // FIXME: Add spacing here. |
2423 | 248 | 249 | ||
2425 | 249 | ListItem.Standard { | 250 | SettingsListItems.Standard { |
2426 | 250 | text: i18n.tr("Other vibrations") | 251 | text: i18n.tr("Other vibrations") |
2428 | 251 | control: Switch { | 252 | |
2429 | 253 | Switch { | ||
2430 | 252 | objectName: "otherVibrateSwitch" | 254 | objectName: "otherVibrateSwitch" |
2431 | 253 | property bool serverChecked: backendInfo.otherVibrate | 255 | property bool serverChecked: backendInfo.otherVibrate |
2432 | 254 | onServerCheckedChanged: checked = serverChecked | 256 | onServerCheckedChanged: checked = serverChecked |
2433 | 255 | 257 | ||
2434 | === modified file 'plugins/time-date/ChooseTimeZone.qml' | |||
2435 | --- plugins/time-date/ChooseTimeZone.qml 2015-10-16 13:42:50 +0000 | |||
2436 | +++ plugins/time-date/ChooseTimeZone.qml 2015-11-23 13:42:19 +0000 | |||
2437 | @@ -20,6 +20,7 @@ | |||
2438 | 20 | 20 | ||
2439 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2440 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
2441 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2442 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
2443 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem |
2444 | 25 | import Ubuntu.SystemSettings.TimeDate 1.0 | 26 | import Ubuntu.SystemSettings.TimeDate 1.0 |
2445 | @@ -52,7 +53,7 @@ | |||
2446 | 52 | visible: showAllUI | 53 | visible: showAllUI |
2447 | 53 | } | 54 | } |
2448 | 54 | 55 | ||
2450 | 55 | ListItem.Standard { | 56 | SettingsListItems.Standard { |
2451 | 56 | anchors.top: setTimeZoneSelector.bottom | 57 | anchors.top: setTimeZoneSelector.bottom |
2452 | 57 | text: timeDatePanel.timeZone | 58 | text: timeDatePanel.timeZone |
2453 | 58 | enabled: false | 59 | enabled: false |
2454 | @@ -96,7 +97,7 @@ | |||
2455 | 96 | 97 | ||
2456 | 97 | model: timeDatePanel.timeZoneModel | 98 | model: timeDatePanel.timeZoneModel |
2457 | 98 | visible: setTimeZoneSelector.selectedIndex == 1 && count > 0 | 99 | visible: setTimeZoneSelector.selectedIndex == 1 && count > 0 |
2459 | 99 | delegate: ListItem.Standard { | 100 | delegate: SettingsListItems.Standard { |
2460 | 100 | text: displayName | 101 | text: displayName |
2461 | 101 | // If a timezone is manually selected, record which one so that | 102 | // If a timezone is manually selected, record which one so that |
2462 | 102 | // we highlight that one only. Usually all cities in that timezone | 103 | // we highlight that one only. Usually all cities in that timezone |
2463 | 103 | 104 | ||
2464 | === modified file 'plugins/time-date/PageComponent.qml' | |||
2465 | --- plugins/time-date/PageComponent.qml 2015-10-16 13:42:50 +0000 | |||
2466 | +++ plugins/time-date/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
2467 | @@ -1,7 +1,7 @@ | |||
2468 | 1 | /* | 1 | /* |
2469 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
2470 | 3 | * | 3 | * |
2472 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
2473 | 5 | * | 5 | * |
2474 | 6 | * Contact: Iain Lane <iain.lane@canonical.com> | 6 | * Contact: Iain Lane <iain.lane@canonical.com> |
2475 | 7 | * | 7 | * |
2476 | @@ -20,8 +20,9 @@ | |||
2477 | 20 | 20 | ||
2478 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2479 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
2480 | 23 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2481 | 23 | import Ubuntu.Components 1.3 | 24 | import Ubuntu.Components 1.3 |
2483 | 24 | import Ubuntu.Components.ListItems 1.3 as ListItem | 25 | import Ubuntu.Components.ListItems 1.3 as ListItems |
2484 | 25 | import Ubuntu.Components.Popups 1.3 | 26 | import Ubuntu.Components.Popups 1.3 |
2485 | 26 | import Ubuntu.SystemSettings.TimeDate 1.0 | 27 | import Ubuntu.SystemSettings.TimeDate 1.0 |
2486 | 27 | 28 | ||
2487 | @@ -62,13 +63,12 @@ | |||
2488 | 62 | 63 | ||
2489 | 63 | SettingsItemTitle { text: i18n.tr ("Time zone:") } | 64 | SettingsItemTitle { text: i18n.tr ("Time zone:") } |
2490 | 64 | 65 | ||
2492 | 65 | ListItem.SingleValue { | 66 | SettingsListItems.SingleValueProgression { |
2493 | 66 | objectName: "timeZone" | 67 | objectName: "timeZone" |
2494 | 67 | id: timeZone | 68 | id: timeZone |
2495 | 68 | //e.g. America/New_York -> America/New York | 69 | //e.g. America/New_York -> America/New York |
2496 | 69 | text: timeDatePanel.timeZone.replace("_", " ") | 70 | text: timeDatePanel.timeZone.replace("_", " ") |
2497 | 70 | value: getUTCOffset() | 71 | value: getUTCOffset() |
2498 | 71 | progression: true | ||
2499 | 72 | onClicked: pageStack.push(Qt.resolvedUrl("ChooseTimeZone.qml"), { | 72 | onClicked: pageStack.push(Qt.resolvedUrl("ChooseTimeZone.qml"), { |
2500 | 73 | timeDatePanel: timeDatePanel | 73 | timeDatePanel: timeDatePanel |
2501 | 74 | }) | 74 | }) |
2502 | @@ -78,7 +78,7 @@ | |||
2503 | 78 | text: i18n.tr ("Set the time and date:") | 78 | text: i18n.tr ("Set the time and date:") |
2504 | 79 | } | 79 | } |
2505 | 80 | 80 | ||
2507 | 81 | ListItem.ItemSelector { | 81 | ListItems.ItemSelector { |
2508 | 82 | id: setTimeAutomatically | 82 | id: setTimeAutomatically |
2509 | 83 | objectName: "timeItemSelector" | 83 | objectName: "timeItemSelector" |
2510 | 84 | model: [ i18n.tr("Automatically") , i18n.tr("Manually")] | 84 | model: [ i18n.tr("Automatically") , i18n.tr("Manually")] |
2511 | @@ -109,11 +109,11 @@ | |||
2512 | 109 | TimePicker {} | 109 | TimePicker {} |
2513 | 110 | } | 110 | } |
2514 | 111 | 111 | ||
2516 | 112 | ListItem.Standard { | 112 | SettingsListItems.StandardProgression { |
2517 | 113 | id: currentTime | 113 | id: currentTime |
2518 | 114 | objectName: "currentTime" | 114 | objectName: "currentTime" |
2521 | 115 | progression: setTimeAutomatically.selectedIndex === 1 // Manually | 115 | progressionVisible: setTimeAutomatically.selectedIndex === 1 // Manually |
2522 | 116 | enabled: progression | 116 | enabled: progressionVisible |
2523 | 117 | onClicked: { | 117 | onClicked: { |
2524 | 118 | Qt.inputMethod.hide() | 118 | Qt.inputMethod.hide() |
2525 | 119 | var popupObj = PopupUtils.open(timePicker); | 119 | var popupObj = PopupUtils.open(timePicker); |
2526 | 120 | 120 | ||
2527 | === modified file 'plugins/time-date/Scroller.qml' | |||
2528 | --- plugins/time-date/Scroller.qml 2015-08-10 13:31:45 +0000 | |||
2529 | +++ plugins/time-date/Scroller.qml 2015-11-23 13:42:19 +0000 | |||
2530 | @@ -1,7 +1,8 @@ | |||
2531 | 1 | /* | 1 | /* |
2532 | 2 | * Copyright (C) 2013 Michael Zanetti <michael_zanetti@gmx.net> | 2 | * Copyright (C) 2013 Michael Zanetti <michael_zanetti@gmx.net> |
2535 | 3 | * (C) 2013 Canonical Ltd | 3 | * (C) 2013-2015 Canonical Ltd |
2536 | 4 | * Canonical modifications by Iain Lane <iain.lane@canonical.com> | 4 | * Canonical modifications by Iain Lane <iain.lane@canonical.com>, |
2537 | 5 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
2538 | 5 | * | 6 | * |
2539 | 6 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
2540 | 7 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
2541 | @@ -17,6 +18,7 @@ | |||
2542 | 17 | */ | 18 | */ |
2543 | 18 | 19 | ||
2544 | 19 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
2545 | 21 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2546 | 20 | import Ubuntu.Components 1.3 | 22 | import Ubuntu.Components 1.3 |
2547 | 21 | import Ubuntu.Components.ListItems 1.3 as ListItems | 23 | import Ubuntu.Components.ListItems 1.3 as ListItems |
2548 | 22 | 24 | ||
2549 | @@ -106,13 +108,10 @@ | |||
2550 | 106 | preferredHighlightEnd: 0.5 | 108 | preferredHighlightEnd: 0.5 |
2551 | 107 | clip: true | 109 | clip: true |
2552 | 108 | 110 | ||
2554 | 109 | delegate: ListItems.Standard { | 111 | delegate: SettingsListItems.Standard { |
2555 | 110 | width: parent.width | 112 | width: parent.width |
2556 | 111 | highlightWhenPressed: false | 113 | highlightWhenPressed: false |
2561 | 112 | Label { | 114 | text: modelData |
2558 | 113 | anchors.centerIn: parent | ||
2559 | 114 | text: modelData | ||
2560 | 115 | } | ||
2562 | 116 | showDivider: false | 115 | showDivider: false |
2563 | 117 | onClicked: listView.currentIndex = index | 116 | onClicked: listView.currentIndex = index |
2564 | 118 | } | 117 | } |
2565 | 119 | 118 | ||
2566 | === modified file 'plugins/time-date/TimePicker.qml' | |||
2567 | --- plugins/time-date/TimePicker.qml 2015-08-10 13:31:45 +0000 | |||
2568 | +++ plugins/time-date/TimePicker.qml 2015-11-23 13:42:19 +0000 | |||
2569 | @@ -18,7 +18,6 @@ | |||
2570 | 18 | 18 | ||
2571 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
2572 | 20 | import Ubuntu.Components 1.3 | 20 | import Ubuntu.Components 1.3 |
2573 | 21 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2574 | 22 | import Ubuntu.Components.Popups 1.3 | 21 | import Ubuntu.Components.Popups 1.3 |
2575 | 23 | 22 | ||
2576 | 24 | Dialog { | 23 | Dialog { |
2577 | 25 | 24 | ||
2578 | === modified file 'plugins/wifi/AccessPoint.qml' | |||
2579 | --- plugins/wifi/AccessPoint.qml 2015-08-10 13:31:45 +0000 | |||
2580 | +++ plugins/wifi/AccessPoint.qml 2015-11-23 13:42:19 +0000 | |||
2581 | @@ -1,5 +1,5 @@ | |||
2582 | 1 | /* | 1 | /* |
2584 | 2 | * Copyright 2013 Canonical Ltd. | 2 | * Copyright 2013-2015 Canonical Ltd. |
2585 | 3 | * | 3 | * |
2586 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
2587 | 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
2588 | @@ -28,19 +28,6 @@ | |||
2589 | 28 | property bool secure: false | 28 | property bool secure: false |
2590 | 29 | property bool adHoc: false | 29 | property bool adHoc: false |
2591 | 30 | property int signalStrength: 0 | 30 | property int signalStrength: 0 |
2592 | 31 | |||
2593 | 32 | signal activate() | ||
2594 | 33 | |||
2595 | 34 | onCheckedChanged: { | ||
2596 | 35 | // Can't rely on binding. Checked is assigned on click. | ||
2597 | 36 | checkBoxActive.checked = checked; | ||
2598 | 37 | |||
2599 | 38 | // if stack has NetworkDetailsBrief, pop it | ||
2600 | 39 | if (pageStack.depth === 3) { | ||
2601 | 40 | pageStack.pop(); | ||
2602 | 41 | } | ||
2603 | 42 | } | ||
2604 | 43 | |||
2605 | 44 | iconName: { | 31 | iconName: { |
2606 | 45 | var imageName = "nm-signal-100" | 32 | var imageName = "nm-signal-100" |
2607 | 46 | 33 | ||
2608 | @@ -61,16 +48,18 @@ | |||
2609 | 61 | } | 48 | } |
2610 | 62 | return imageName; | 49 | return imageName; |
2611 | 63 | } | 50 | } |
2619 | 64 | 51 | layout.subtitle.text: checked ? i18n.tr("Connected") : "" | |
2620 | 65 | iconFrame: false | 52 | |
2621 | 66 | control: CheckBox { | 53 | signal activate() |
2622 | 67 | id: checkBoxActive | 54 | |
2623 | 68 | 55 | onCheckedChanged: { | |
2624 | 69 | onClicked: { | 56 | // if stack has NetworkDetailsBrief, pop it |
2625 | 70 | accessPoint.activate(); | 57 | if (pageStack.depth === 3) { |
2626 | 58 | pageStack.pop(); | ||
2627 | 71 | } | 59 | } |
2628 | 72 | } | 60 | } |
2630 | 73 | progression: checked | 61 | |
2631 | 62 | progressionVisible: checked | ||
2632 | 74 | onClicked: { | 63 | onClicked: { |
2633 | 75 | if (checked) { | 64 | if (checked) { |
2634 | 76 | pageStack.push(Qt.resolvedUrl("NetworkDetailsBrief.qml"), | 65 | pageStack.push(Qt.resolvedUrl("NetworkDetailsBrief.qml"), |
2635 | 77 | 66 | ||
2636 | === modified file 'plugins/wifi/DivMenuItem.qml' | |||
2637 | --- plugins/wifi/DivMenuItem.qml 2015-08-10 13:31:45 +0000 | |||
2638 | +++ plugins/wifi/DivMenuItem.qml 2015-11-23 13:42:19 +0000 | |||
2639 | @@ -1,5 +1,5 @@ | |||
2640 | 1 | /* | 1 | /* |
2642 | 2 | * Copyright 2013 Canonical Ltd. | 2 | * Copyright 2013-2015 Canonical Ltd. |
2643 | 3 | * | 3 | * |
2644 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
2645 | 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
2646 | @@ -18,8 +18,8 @@ | |||
2647 | 18 | */ | 18 | */ |
2648 | 19 | 19 | ||
2649 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
2651 | 21 | import Ubuntu.Components.ListItems 1.3 as ListItem | 21 | import Ubuntu.Components 1.3 |
2652 | 22 | 22 | ||
2654 | 23 | ListItem.Empty { | 23 | ListItemLayout { |
2655 | 24 | height: units.gu(3) | 24 | height: units.gu(3) |
2656 | 25 | } | 25 | } |
2657 | 26 | 26 | ||
2658 | === modified file 'plugins/wifi/FramedMenuItem.qml' | |||
2659 | --- plugins/wifi/FramedMenuItem.qml 2015-08-10 13:31:45 +0000 | |||
2660 | +++ plugins/wifi/FramedMenuItem.qml 2015-11-23 13:42:19 +0000 | |||
2661 | @@ -1,5 +1,5 @@ | |||
2662 | 1 | /* | 1 | /* |
2664 | 2 | * Copyright 2013 Canonical Ltd. | 2 | * Copyright 2013-2015 Canonical Ltd. |
2665 | 3 | * | 3 | * |
2666 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
2667 | 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
2668 | @@ -19,7 +19,11 @@ | |||
2669 | 19 | */ | 19 | */ |
2670 | 20 | 20 | ||
2671 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2672 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2673 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
2674 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2675 | 24 | 24 | ||
2677 | 25 | ListItem.Standard {} | 25 | SettingsListItems.IconProgression { |
2678 | 26 | // FIXME: use padding + padding + icon width | ||
2679 | 27 | divider.anchors.leftMargin: units.gu(6) | ||
2680 | 28 | layout.subtitle.color: UbuntuColors.green | ||
2681 | 29 | } | ||
2682 | 26 | 30 | ||
2683 | === modified file 'plugins/wifi/MenuItemFactory.qml' | |||
2684 | --- plugins/wifi/MenuItemFactory.qml 2015-08-10 13:31:45 +0000 | |||
2685 | +++ plugins/wifi/MenuItemFactory.qml 2015-11-23 13:42:19 +0000 | |||
2686 | @@ -1,5 +1,5 @@ | |||
2687 | 1 | /* | 1 | /* |
2689 | 2 | * Copyright 2013 Canonical Ltd. | 2 | * Copyright 2013-2015 Canonical Ltd. |
2690 | 3 | * | 3 | * |
2691 | 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
2692 | 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
2693 | @@ -15,7 +15,7 @@ | |||
2694 | 15 | * | 15 | * |
2695 | 16 | * Authors: | 16 | * Authors: |
2696 | 17 | * Nick Dedekind <nick.dedekind@canonical.com> | 17 | * Nick Dedekind <nick.dedekind@canonical.com> |
2698 | 18 | */ | 18 | */ |
2699 | 19 | 19 | ||
2700 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
2701 | 21 | import QMenuModel 0.1 as QMenuModel | 21 | import QMenuModel 0.1 as QMenuModel |
2702 | @@ -65,7 +65,7 @@ | |||
2703 | 65 | property int menuIndex: -1 | 65 | property int menuIndex: -1 |
2704 | 66 | 66 | ||
2705 | 67 | text: menu && menu.label ? menu.label : "" | 67 | text: menu && menu.label ? menu.label : "" |
2707 | 68 | icon: menu ? menu.icon : "" | 68 | iconName: menu ? menu.icon : "" |
2708 | 69 | checkable: menu ? (menu.isCheck || menu.isRadio) : false | 69 | checkable: menu ? (menu.isCheck || menu.isRadio) : false |
2709 | 70 | checked: checkable ? menu.isToggled : false | 70 | checked: checkable ? menu.isToggled : false |
2710 | 71 | enabled: menu ? menu.sensitive : false | 71 | enabled: menu ? menu.sensitive : false |
2711 | @@ -106,7 +106,7 @@ | |||
2712 | 106 | property int menuIndex: -1 | 106 | property int menuIndex: -1 |
2713 | 107 | property var extendedData: menu && menu.ext || undefined | 107 | property var extendedData: menu && menu.ext || undefined |
2714 | 108 | text: menu && menu.label ? menu.label : "" | 108 | text: menu && menu.label ? menu.label : "" |
2716 | 109 | busy: getExtendedProperty(extendedData, "xCanonicalBusyAction", false) | 109 | busy: getExtendedProperty(extendedData, "xCanonicalBusyAction", false) || true |
2717 | 110 | 110 | ||
2718 | 111 | onMenuModelChanged: { | 111 | onMenuModelChanged: { |
2719 | 112 | loadAttributes(); | 112 | loadAttributes(); |
2720 | @@ -150,7 +150,7 @@ | |||
2721 | 150 | loadAttributes(); | 150 | loadAttributes(); |
2722 | 151 | } | 151 | } |
2723 | 152 | 152 | ||
2725 | 153 | USC.ServerPropertySynchroniser { | 153 | resources: USC.ServerPropertySynchroniser { |
2726 | 154 | userTarget: apItem | 154 | userTarget: apItem |
2727 | 155 | userProperty: "active" | 155 | userProperty: "active" |
2728 | 156 | userTrigger: "onActivate" | 156 | userTrigger: "onActivate" |
2729 | 157 | 157 | ||
2730 | === modified file 'plugins/wifi/NetworkDetails.qml' | |||
2731 | --- plugins/wifi/NetworkDetails.qml 2015-08-10 13:31:45 +0000 | |||
2732 | +++ plugins/wifi/NetworkDetails.qml 2015-11-23 13:42:19 +0000 | |||
2733 | @@ -21,8 +21,8 @@ | |||
2734 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2735 | 22 | import QtQuick.Layouts 1.1 | 22 | import QtQuick.Layouts 1.1 |
2736 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
2737 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2738 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
2739 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2740 | 26 | import Ubuntu.SystemSettings.Wifi 1.0 | 26 | import Ubuntu.SystemSettings.Wifi 1.0 |
2741 | 27 | 27 | ||
2742 | 28 | ItemPage { | 28 | ItemPage { |
2743 | @@ -53,29 +53,24 @@ | |||
2744 | 53 | anchors.left: parent.left | 53 | anchors.left: parent.left |
2745 | 54 | anchors.right: parent.right | 54 | anchors.right: parent.right |
2746 | 55 | 55 | ||
2748 | 56 | ListItem.Standard { | 56 | SettingsListItems.SingleValue { |
2749 | 57 | text: i18n.tr("Name") | 57 | text: i18n.tr("Name") |
2753 | 58 | control: Label { | 58 | value: networkName |
2751 | 59 | text: networkName | ||
2752 | 60 | } | ||
2754 | 61 | } | 59 | } |
2755 | 62 | 60 | ||
2757 | 63 | ListItem.Standard { | 61 | SettingsListItems.SingleValue { |
2758 | 64 | id: lastLabel | 62 | id: lastLabel |
2759 | 65 | text: i18n.tr("Last connected") | 63 | text: i18n.tr("Last connected") |
2766 | 66 | control: Label { | 64 | value: networkDetails.lastUsed.length !== 0 ? |
2767 | 67 | id: lastField | 65 | networkDetails.lastUsed : i18n.tr("Never") |
2762 | 68 | |||
2763 | 69 | text: networkDetails.lastUsed.length !== 0 ? | ||
2764 | 70 | networkDetails.lastUsed : i18n.tr("Never") | ||
2765 | 71 | } | ||
2768 | 72 | } | 66 | } |
2769 | 73 | 67 | ||
2771 | 74 | ListItem.Standard { | 68 | SettingsListItems.Standard { |
2772 | 75 | id: passwordLabel | 69 | id: passwordLabel |
2773 | 76 | text: i18n.tr("Password") | 70 | text: i18n.tr("Password") |
2774 | 77 | visible: networkDetails.password.length !== 0 | 71 | visible: networkDetails.password.length !== 0 |
2776 | 78 | control: TextInput { | 72 | |
2777 | 73 | TextInput { | ||
2778 | 79 | id: passwordField | 74 | id: passwordField |
2779 | 80 | readOnly: true | 75 | readOnly: true |
2780 | 81 | text: networkDetails.password | 76 | text: networkDetails.password |
2781 | @@ -84,28 +79,30 @@ | |||
2782 | 84 | } | 79 | } |
2783 | 85 | } | 80 | } |
2784 | 86 | 81 | ||
2786 | 87 | ListItem.Standard { | 82 | SettingsListItems.Standard { |
2787 | 88 | id: passwordVisible | 83 | id: passwordVisible |
2788 | 89 | text: i18n.tr("Show password") | 84 | text: i18n.tr("Show password") |
2789 | 90 | visible: networkDetails.password.length !== 0 | 85 | visible: networkDetails.password.length !== 0 |
2791 | 91 | control: Switch { | 86 | |
2792 | 87 | Switch { | ||
2793 | 92 | id: passwordVisibleSwitch | 88 | id: passwordVisibleSwitch |
2794 | 93 | } | 89 | } |
2795 | 94 | } | 90 | } |
2796 | 95 | 91 | ||
2798 | 96 | ListItem.Divider {} | 92 | SettingsListItems.SingleControl { |
2799 | 97 | 93 | ||
2811 | 98 | Button { | 94 | Button { |
2812 | 99 | objectName: "forgetNetwork" | 95 | objectName: "forgetNetwork" |
2813 | 100 | text : i18n.tr("Forget this network") | 96 | text : i18n.tr("Forget this network") |
2814 | 101 | anchors { | 97 | anchors { |
2815 | 102 | left: parent.left | 98 | left: parent.left |
2816 | 103 | right: parent.right | 99 | right: parent.right |
2817 | 104 | margins: units.gu(2) | 100 | margins: units.gu(2) |
2818 | 105 | } | 101 | } |
2819 | 106 | onClicked : { | 102 | onClicked : { |
2820 | 107 | DbusHelper.forgetConnection(dbusPath); | 103 | DbusHelper.forgetConnection(dbusPath); |
2821 | 108 | pageStack.pop(); | 104 | pageStack.pop(); |
2822 | 105 | } | ||
2823 | 109 | } | 106 | } |
2824 | 110 | } | 107 | } |
2825 | 111 | } | 108 | } |
2826 | 112 | 109 | ||
2827 | === modified file 'plugins/wifi/NetworkDetailsBrief.qml' | |||
2828 | --- plugins/wifi/NetworkDetailsBrief.qml 2015-08-10 13:31:45 +0000 | |||
2829 | +++ plugins/wifi/NetworkDetailsBrief.qml 2015-11-23 13:42:19 +0000 | |||
2830 | @@ -21,8 +21,8 @@ | |||
2831 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
2832 | 22 | import QtQuick.Layouts 1.1 | 22 | import QtQuick.Layouts 1.1 |
2833 | 23 | import SystemSettings 1.0 | 23 | import SystemSettings 1.0 |
2834 | 24 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2835 | 24 | import Ubuntu.Components 1.3 | 25 | import Ubuntu.Components 1.3 |
2836 | 25 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2837 | 26 | import Ubuntu.SystemSettings.Wifi 1.0 | 26 | import Ubuntu.SystemSettings.Wifi 1.0 |
2838 | 27 | 27 | ||
2839 | 28 | ItemPage { | 28 | ItemPage { |
2840 | @@ -48,27 +48,28 @@ | |||
2841 | 48 | anchors.left: parent.left | 48 | anchors.left: parent.left |
2842 | 49 | anchors.right: parent.right | 49 | anchors.right: parent.right |
2843 | 50 | 50 | ||
2857 | 51 | ListItem.Divider {} | 51 | SettingsListItems.SingleControl { |
2858 | 52 | 52 | Button { | |
2859 | 53 | Button { | 53 | text : i18n.tr("Forget this network") |
2860 | 54 | text : i18n.tr("Forget this network") | 54 | anchors { |
2861 | 55 | anchors { | 55 | left: parent.left |
2862 | 56 | left: parent.left | 56 | right: parent.right |
2863 | 57 | right: parent.right | 57 | margins: units.gu(2) |
2864 | 58 | margins: units.gu(2) | 58 | } |
2865 | 59 | } | 59 | onClicked: { |
2866 | 60 | onClicked: { | 60 | if (DbusHelper.forgetActiveDevice()) { |
2867 | 61 | if (DbusHelper.forgetActiveDevice()) { | 61 | accessPoint.checked = false; |
2868 | 62 | accessPoint.checked = false; | 62 | accessPoint.checkedChanged(false) |
2869 | 63 | accessPoint.checkedChanged(false) | 63 | } |
2870 | 64 | } | 64 | } |
2871 | 65 | } | 65 | } |
2872 | 66 | } | 66 | } |
2873 | 67 | 67 | ||
2875 | 68 | ListItem.Standard { | 68 | SettingsListItems.Standard { |
2876 | 69 | text: i18n.tr("IP address") | 69 | text: i18n.tr("IP address") |
2877 | 70 | id: addressItem | 70 | id: addressItem |
2879 | 71 | control: TextField { | 71 | |
2880 | 72 | TextField { | ||
2881 | 72 | text: DbusHelper.wifiIp4Address | 73 | text: DbusHelper.wifiIp4Address |
2882 | 73 | readOnly: true | 74 | readOnly: true |
2883 | 74 | horizontalAlignment: TextInput.AlignRight | 75 | horizontalAlignment: TextInput.AlignRight |
2884 | 75 | 76 | ||
2885 | === modified file 'plugins/wifi/PageComponent.qml' | |||
2886 | --- plugins/wifi/PageComponent.qml 2015-08-10 13:31:45 +0000 | |||
2887 | +++ plugins/wifi/PageComponent.qml 2015-11-23 13:42:19 +0000 | |||
2888 | @@ -16,8 +16,8 @@ | |||
2889 | 16 | 16 | ||
2890 | 17 | import QtQuick 2.4 | 17 | import QtQuick 2.4 |
2891 | 18 | import SystemSettings 1.0 | 18 | import SystemSettings 1.0 |
2892 | 19 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2893 | 19 | import Ubuntu.Components 1.3 | 20 | import Ubuntu.Components 1.3 |
2894 | 20 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2895 | 21 | import Ubuntu.Components.Popups 1.3 | 21 | import Ubuntu.Components.Popups 1.3 |
2896 | 22 | import Ubuntu.SystemSettings.Wifi 1.0 | 22 | import Ubuntu.SystemSettings.Wifi 1.0 |
2897 | 23 | import QMenuModel 0.1 | 23 | import QMenuModel 0.1 |
2898 | @@ -81,7 +81,6 @@ | |||
2899 | 81 | right: parent.right | 81 | right: parent.right |
2900 | 82 | } | 82 | } |
2901 | 83 | height: loader.height | 83 | height: loader.height |
2902 | 84 | visible: height > 0 | ||
2903 | 85 | 84 | ||
2904 | 86 | Loader { | 85 | Loader { |
2905 | 87 | id: loader | 86 | id: loader |
2906 | @@ -124,16 +123,7 @@ | |||
2907 | 124 | } | 123 | } |
2908 | 125 | } | 124 | } |
2909 | 126 | 125 | ||
2920 | 127 | ListItem.Divider {} | 126 | SettingsListItems.Standard { |
2911 | 128 | |||
2912 | 129 | ListItem.SingleValue { | ||
2913 | 130 | objectName: "previousNetwork" | ||
2914 | 131 | text: i18n.tr("Previous networks") | ||
2915 | 132 | progression: true | ||
2916 | 133 | onClicked: pageStack.push(Qt.resolvedUrl("PreviousNetworks.qml")) | ||
2917 | 134 | } | ||
2918 | 135 | |||
2919 | 136 | ListItem.SingleValue { | ||
2921 | 137 | objectName: "connectToHiddenNetwork" | 127 | objectName: "connectToHiddenNetwork" |
2922 | 138 | text: i18n.tr("Connect to hidden network…") | 128 | text: i18n.tr("Connect to hidden network…") |
2923 | 139 | visible : wifibase.wifiEnabled | 129 | visible : wifibase.wifiEnabled |
2924 | @@ -143,6 +133,12 @@ | |||
2925 | 143 | } | 133 | } |
2926 | 144 | } | 134 | } |
2927 | 145 | 135 | ||
2928 | 136 | SettingsListItems.StandardProgression { | ||
2929 | 137 | objectName: "previousNetwork" | ||
2930 | 138 | text: i18n.tr("Previous networks") | ||
2931 | 139 | onClicked: pageStack.push(Qt.resolvedUrl("PreviousNetworks.qml")) | ||
2932 | 140 | } | ||
2933 | 141 | |||
2934 | 146 | Loader { | 142 | Loader { |
2935 | 147 | id: otherNetworLoader | 143 | id: otherNetworLoader |
2936 | 148 | asynchronous: false | 144 | asynchronous: false |
2937 | 149 | 145 | ||
2938 | === modified file 'plugins/wifi/PreviousNetworks.qml' | |||
2939 | --- plugins/wifi/PreviousNetworks.qml 2015-08-10 13:31:45 +0000 | |||
2940 | +++ plugins/wifi/PreviousNetworks.qml 2015-11-23 13:42:19 +0000 | |||
2941 | @@ -16,8 +16,8 @@ | |||
2942 | 16 | 16 | ||
2943 | 17 | import QtQuick 2.4 | 17 | import QtQuick 2.4 |
2944 | 18 | import SystemSettings 1.0 | 18 | import SystemSettings 1.0 |
2945 | 19 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
2946 | 19 | import Ubuntu.Components 1.3 | 20 | import Ubuntu.Components 1.3 |
2947 | 20 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
2948 | 21 | import Ubuntu.SystemSettings.Wifi 1.0 | 21 | import Ubuntu.SystemSettings.Wifi 1.0 |
2949 | 22 | import QMenuModel 0.1 | 22 | import QMenuModel 0.1 |
2950 | 23 | 23 | ||
2951 | @@ -54,9 +54,8 @@ | |||
2952 | 54 | duration: UbuntuAnimation.SnapDuration | 54 | duration: UbuntuAnimation.SnapDuration |
2953 | 55 | } | 55 | } |
2954 | 56 | } | 56 | } |
2956 | 57 | delegate: ListItem.Standard { | 57 | delegate: SettingsListItems.StandardProgression { |
2957 | 58 | text: name | 58 | text: name |
2958 | 59 | progression: true | ||
2959 | 60 | onClicked: { | 59 | onClicked: { |
2960 | 61 | pageStack.push(Qt.resolvedUrl("NetworkDetails.qml"), | 60 | pageStack.push(Qt.resolvedUrl("NetworkDetails.qml"), |
2961 | 62 | {networkName : name, password : password, lastUsed : lastUsed, | 61 | {networkName : name, password : password, lastUsed : lastUsed, |
2962 | 63 | 62 | ||
2963 | === modified file 'plugins/wifi/SectionMenuItem.qml' | |||
2964 | --- plugins/wifi/SectionMenuItem.qml 2015-08-10 13:31:45 +0000 | |||
2965 | +++ plugins/wifi/SectionMenuItem.qml 2015-11-23 13:42:19 +0000 | |||
2966 | @@ -18,37 +18,22 @@ | |||
2967 | 18 | */ | 18 | */ |
2968 | 19 | 19 | ||
2969 | 20 | import QtQuick 2.4 | 20 | import QtQuick 2.4 |
2970 | 21 | import SystemSettings 1.0 | ||
2971 | 21 | import Ubuntu.Components 1.3 | 22 | import Ubuntu.Components 1.3 |
2985 | 22 | import Ubuntu.Components.ListItems 1.3 as ListItem | 23 | |
2986 | 23 | 24 | SettingsItemTitle { | |
2987 | 24 | BaseMenuItem { | 25 | property alias busy: indicator.running |
2988 | 25 | id: menuItem | 26 | |
2989 | 26 | property alias text: header.text | 27 | ActivityIndicator { |
2990 | 27 | property bool busy: false | 28 | id: indicator |
2978 | 28 | |||
2979 | 29 | implicitHeight: text !== "" ? header.height : 0 | ||
2980 | 30 | |||
2981 | 31 | ListItem.Header { | ||
2982 | 32 | id: header | ||
2983 | 33 | |||
2984 | 34 | height: units.gu(4) | ||
2991 | 35 | anchors { | 29 | anchors { |
2993 | 36 | left: parent.left | 30 | top: parent.top |
2994 | 31 | topMargin: units.gu(3) | ||
2995 | 37 | right: parent.right | 32 | right: parent.right |
3011 | 38 | top: parent.top | 33 | rightMargin: units.gu(2) |
3012 | 39 | } | 34 | } |
3013 | 40 | visible: text != "" | 35 | height: parent.height - (anchors.topMargin * 1.25) |
3014 | 41 | 36 | width: height | |
3015 | 42 | ActivityIndicator { | 37 | visible: running |
3001 | 43 | id: indicator | ||
3002 | 44 | running: busy | ||
3003 | 45 | anchors { | ||
3004 | 46 | margins: units.gu(0.5) | ||
3005 | 47 | right: parent.right | ||
3006 | 48 | } | ||
3007 | 49 | height: parent.height - (anchors.margins * 2) | ||
3008 | 50 | width: height | ||
3009 | 51 | anchors.verticalCenter: parent.verticalCenter | ||
3010 | 52 | } | ||
3016 | 53 | } | 38 | } |
3017 | 54 | } | 39 | } |
3018 | 55 | 40 | ||
3019 | === modified file 'plugins/wifi/StandardMenuItem.qml' | |||
3020 | --- plugins/wifi/StandardMenuItem.qml 2015-08-10 13:31:45 +0000 | |||
3021 | +++ plugins/wifi/StandardMenuItem.qml 2015-11-23 13:42:19 +0000 | |||
3022 | @@ -28,34 +28,12 @@ | |||
3023 | 28 | 28 | ||
3024 | 29 | signal activate() | 29 | signal activate() |
3025 | 30 | 30 | ||
3032 | 31 | onCheckedChanged: { | 31 | layout.subtitle.text: checked ? i18n.tr("Connected") : "" |
3027 | 32 | // Can't rely on binding. Checked is assigned on click. | ||
3028 | 33 | if (checkable) { | ||
3029 | 34 | checkbox.checked = checked; | ||
3030 | 35 | } | ||
3031 | 36 | } | ||
3033 | 37 | 32 | ||
3034 | 33 | progressionVisible: checked | ||
3035 | 38 | onClicked: { | 34 | onClicked: { |
3057 | 39 | if (checkable) { | 35 | if (!checked) { |
3058 | 40 | checkbox.clicked(); | 36 | menuItem.activate(); |
3059 | 41 | } else { | 37 | } |
3039 | 42 | menuItem.activate(); | ||
3040 | 43 | } | ||
3041 | 44 | } | ||
3042 | 45 | |||
3043 | 46 | control: CheckBox { | ||
3044 | 47 | id: checkbox | ||
3045 | 48 | |||
3046 | 49 | Component.onCompleted: { | ||
3047 | 50 | checked = menuItem.checked; | ||
3048 | 51 | } | ||
3049 | 52 | |||
3050 | 53 | // FIXME : should use Checkbox.toggled signal | ||
3051 | 54 | // lp:~nick-dedekind/ubuntu-ui-toolkit/checkbox.toggled | ||
3052 | 55 | onClicked: { | ||
3053 | 56 | menuItem.activate(); | ||
3054 | 57 | } | ||
3055 | 58 | |||
3056 | 59 | visible: checkable | ||
3060 | 60 | } | 38 | } |
3061 | 61 | } | 39 | } |
3062 | 62 | 40 | ||
3063 | === modified file 'plugins/wifi/SwitchMenuItem.qml' | |||
3064 | --- plugins/wifi/SwitchMenuItem.qml 2015-08-10 13:31:45 +0000 | |||
3065 | +++ plugins/wifi/SwitchMenuItem.qml 2015-11-23 13:42:19 +0000 | |||
3066 | @@ -33,7 +33,7 @@ | |||
3067 | 33 | switcher.checked = checked; | 33 | switcher.checked = checked; |
3068 | 34 | } | 34 | } |
3069 | 35 | 35 | ||
3071 | 36 | control: Switch { | 36 | Switch { |
3072 | 37 | id: switcher | 37 | id: switcher |
3073 | 38 | 38 | ||
3074 | 39 | Component.onCompleted: { | 39 | Component.onCompleted: { |
3075 | 40 | 40 | ||
3076 | === modified file 'src/CMakeLists.txt' | |||
3077 | --- src/CMakeLists.txt 2014-10-31 14:53:32 +0000 | |||
3078 | +++ src/CMakeLists.txt 2015-11-23 13:42:19 +0000 | |||
3079 | @@ -20,7 +20,7 @@ | |||
3080 | 20 | ) | 20 | ) |
3081 | 21 | 21 | ||
3082 | 22 | set(QML_SOURCES | 22 | set(QML_SOURCES |
3084 | 23 | qml/CategoryGrid.qml | 23 | qml/CategorySection.qml |
3085 | 24 | qml/EntryComponent.qml | 24 | qml/EntryComponent.qml |
3086 | 25 | qml/MainWindow.qml | 25 | qml/MainWindow.qml |
3087 | 26 | qml/UncategorizedItemsView.qml | 26 | qml/UncategorizedItemsView.qml |
3088 | 27 | 27 | ||
3089 | === modified file 'src/SystemSettings/qmldir' | |||
3090 | --- src/SystemSettings/qmldir 2014-10-31 08:45:10 +0000 | |||
3091 | +++ src/SystemSettings/qmldir 2015-11-23 13:42:19 +0000 | |||
3092 | @@ -1,3 +1,4 @@ | |||
3093 | 1 | module SystemSettings | 1 | module SystemSettings |
3094 | 2 | |||
3095 | 2 | ItemPage 1.0 ItemPage.qml | 3 | ItemPage 1.0 ItemPage.qml |
3096 | 3 | SettingsItemTitle 1.0 SettingsItemTitle.qml | 4 | SettingsItemTitle 1.0 SettingsItemTitle.qml |
3097 | 4 | 5 | ||
3098 | === renamed file 'src/qml/CategoryGrid.qml' => 'src/qml/CategorySection.qml' | |||
3099 | --- src/qml/CategoryGrid.qml 2015-08-10 13:31:45 +0000 | |||
3100 | +++ src/qml/CategorySection.qml 2015-11-23 13:42:19 +0000 | |||
3101 | @@ -1,6 +1,8 @@ | |||
3102 | 1 | import QtQuick 2.4 | 1 | import QtQuick 2.4 |
3103 | 2 | import SystemSettings 1.0 | ||
3104 | 3 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
3105 | 2 | import Ubuntu.Components 1.3 | 4 | import Ubuntu.Components 1.3 |
3107 | 3 | import Ubuntu.Components.ListItems 1.3 as ListItem | 5 | |
3108 | 4 | 6 | ||
3109 | 5 | Column { | 7 | Column { |
3110 | 6 | anchors { | 8 | anchors { |
3111 | @@ -14,32 +16,17 @@ | |||
3112 | 14 | 16 | ||
3113 | 15 | objectName: "categoryGrid-" + category | 17 | objectName: "categoryGrid-" + category |
3114 | 16 | 18 | ||
3116 | 17 | ListItem.Standard { | 19 | SettingsItemTitle { |
3117 | 18 | id: header | 20 | id: header |
3118 | 19 | |||
3119 | 20 | highlightWhenPressed: false | ||
3120 | 21 | showDivider: false | ||
3121 | 22 | text: categoryName | 21 | text: categoryName |
3122 | 23 | visible: repeater.count > 0 | 22 | visible: repeater.count > 0 |
3123 | 24 | } | 23 | } |
3124 | 25 | 24 | ||
3142 | 26 | Grid { | 25 | Column { |
3143 | 27 | property int itemWidth: units.gu(12) | 26 | id: col |
3144 | 28 | 27 | anchors { | |
3145 | 29 | // The amount of whitespace, including column spacing | 28 | left: parent.left |
3146 | 30 | property int space: parent.width - columns * itemWidth | 29 | right: parent.right |
3130 | 31 | |||
3131 | 32 | // The column spacing is 1/n of the left/right margins | ||
3132 | 33 | property int n: 4 | ||
3133 | 34 | |||
3134 | 35 | columnSpacing: space / ((2 * n) + (columns - 1)) | ||
3135 | 36 | rowSpacing: units.gu(3) | ||
3136 | 37 | width: (columns * itemWidth) + columnSpacing * (columns - 1) | ||
3137 | 38 | anchors.horizontalCenter: parent.horizontalCenter | ||
3138 | 39 | columns: { | ||
3139 | 40 | var items = Math.floor(parent.width / itemWidth) | ||
3140 | 41 | var count = repeater.count | ||
3141 | 42 | return count < items ? count : items | ||
3147 | 43 | } | 30 | } |
3148 | 44 | 31 | ||
3149 | 45 | Repeater { | 32 | Repeater { |
3150 | @@ -49,7 +36,10 @@ | |||
3151 | 49 | 36 | ||
3152 | 50 | delegate: Loader { | 37 | delegate: Loader { |
3153 | 51 | id: loader | 38 | id: loader |
3155 | 52 | width: parent.itemWidth | 39 | anchors { |
3156 | 40 | left: col.left | ||
3157 | 41 | right: col.right | ||
3158 | 42 | } | ||
3159 | 53 | sourceComponent: model.item.entryComponent | 43 | sourceComponent: model.item.entryComponent |
3160 | 54 | active: model.item.visible | 44 | active: model.item.visible |
3161 | 55 | Connections { | 45 | Connections { |
3162 | @@ -66,5 +56,4 @@ | |||
3163 | 66 | } | 56 | } |
3164 | 67 | } | 57 | } |
3165 | 68 | } | 58 | } |
3166 | 69 | ListItem.ThinDivider { visible: header.visible } | ||
3167 | 70 | } | 59 | } |
3168 | 71 | 60 | ||
3169 | === modified file 'src/qml/EntryComponent.qml' | |||
3170 | --- src/qml/EntryComponent.qml 2015-08-10 13:31:45 +0000 | |||
3171 | +++ src/qml/EntryComponent.qml 2015-11-23 13:42:19 +0000 | |||
3172 | @@ -1,7 +1,7 @@ | |||
3173 | 1 | /* | 1 | /* |
3174 | 2 | * This file is part of system-settings | 2 | * This file is part of system-settings |
3175 | 3 | * | 3 | * |
3177 | 4 | * Copyright (C) 2013 Canonical Ltd. | 4 | * Copyright (C) 2013-2015 Canonical Ltd. |
3178 | 5 | * | 5 | * |
3179 | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> | 6 | * Contact: Alberto Mardegan <alberto.mardegan@canonical.com> |
3180 | 7 | * | 7 | * |
3181 | @@ -19,58 +19,14 @@ | |||
3182 | 19 | */ | 19 | */ |
3183 | 20 | 20 | ||
3184 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
3185 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
3186 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
3187 | 23 | import Ubuntu.Settings.Components 0.1 | ||
3188 | 24 | 24 | ||
3190 | 25 | Item { | 25 | SettingsListItems.IconProgression { |
3191 | 26 | id: root | 26 | id: root |
3192 | 27 | 27 | ||
3193 | 28 | signal clicked | ||
3194 | 29 | |||
3195 | 30 | height: button.height | ||
3196 | 31 | |||
3197 | 32 | objectName: "entryComponent-" + model.item.baseName | 28 | objectName: "entryComponent-" + model.item.baseName |
3198 | 33 | 29 | ||
3241 | 34 | AbstractButton { | 30 | text: i18n.dtr(model.item.translations, model.displayName) |
3242 | 35 | id: button | 31 | iconSource: model.icon |
3201 | 36 | anchors.left: parent.left | ||
3202 | 37 | anchors.right: parent.right | ||
3203 | 38 | onClicked: root.clicked() | ||
3204 | 39 | |||
3205 | 40 | height: col.height | ||
3206 | 41 | |||
3207 | 42 | Column { | ||
3208 | 43 | id: col | ||
3209 | 44 | anchors.left: parent.left | ||
3210 | 45 | anchors.right: parent.right | ||
3211 | 46 | |||
3212 | 47 | Icon { | ||
3213 | 48 | id: icon | ||
3214 | 49 | anchors.horizontalCenter: parent.horizontalCenter | ||
3215 | 50 | width: height | ||
3216 | 51 | height: units.gu(4) | ||
3217 | 52 | source: model.icon | ||
3218 | 53 | } | ||
3219 | 54 | |||
3220 | 55 | Label { | ||
3221 | 56 | anchors.horizontalCenter: parent.horizontalCenter | ||
3222 | 57 | text: i18n.dtr(model.item.translations, model.displayName) | ||
3223 | 58 | width: col.width | ||
3224 | 59 | horizontalAlignment: Text.AlignHCenter | ||
3225 | 60 | fontSize: "small" | ||
3226 | 61 | wrapMode: Text.WrapAtWordBoundaryOrAnywhere | ||
3227 | 62 | } | ||
3228 | 63 | } | ||
3229 | 64 | } | ||
3230 | 65 | |||
3231 | 66 | UbuntuShape { | ||
3232 | 67 | z: -1 | ||
3233 | 68 | visible: button.pressed | ||
3234 | 69 | anchors{ | ||
3235 | 70 | fill: root | ||
3236 | 71 | margins: -units.gu(0.25) | ||
3237 | 72 | } | ||
3238 | 73 | backgroundColor: UbuntuColors.darkGrey | ||
3239 | 74 | opacity: 0.15 | ||
3240 | 75 | } | ||
3243 | 76 | } | 32 | } |
3244 | 77 | 33 | ||
3245 | === modified file 'src/qml/MainWindow.qml' | |||
3246 | --- src/qml/MainWindow.qml 2015-08-10 13:31:45 +0000 | |||
3247 | +++ src/qml/MainWindow.qml 2015-11-23 13:42:19 +0000 | |||
3248 | @@ -19,8 +19,8 @@ | |||
3249 | 19 | */ | 19 | */ |
3250 | 20 | 20 | ||
3251 | 21 | import QtQuick 2.4 | 21 | import QtQuick 2.4 |
3252 | 22 | import SystemSettings.ListItems 1.0 as SettingsListItems | ||
3253 | 22 | import Ubuntu.Components 1.3 | 23 | import Ubuntu.Components 1.3 |
3254 | 23 | import Ubuntu.Components.ListItems 1.3 as ListItem | ||
3255 | 24 | import SystemSettings 1.0 | 24 | import SystemSettings 1.0 |
3256 | 25 | 25 | ||
3257 | 26 | MainView { | 26 | MainView { |
3258 | @@ -112,6 +112,16 @@ | |||
3259 | 112 | visible: false | 112 | visible: false |
3260 | 113 | flickable: mainFlickable | 113 | flickable: mainFlickable |
3261 | 114 | 114 | ||
3262 | 115 | head.actions: [ | ||
3263 | 116 | Action { | ||
3264 | 117 | iconName: "search" | ||
3265 | 118 | onTriggered: { | ||
3266 | 119 | pluginManager.filter = ""; | ||
3267 | 120 | search.visible = !search.visible; | ||
3268 | 121 | } | ||
3269 | 122 | } | ||
3270 | 123 | ] | ||
3271 | 124 | |||
3272 | 115 | Flickable { | 125 | Flickable { |
3273 | 116 | id: mainFlickable | 126 | id: mainFlickable |
3274 | 117 | anchors.fill: parent | 127 | anchors.fill: parent |
3275 | @@ -125,9 +135,11 @@ | |||
3276 | 125 | anchors.left: parent.left | 135 | anchors.left: parent.left |
3277 | 126 | anchors.right: parent.right | 136 | anchors.right: parent.right |
3278 | 127 | 137 | ||
3280 | 128 | ListItem.SingleControl { | 138 | SettingsListItems.SingleControl { |
3281 | 129 | id: search | 139 | id: search |
3283 | 130 | control: TextField { | 140 | visible: false |
3284 | 141 | TextField { | ||
3285 | 142 | id: searchField | ||
3286 | 131 | width: parent.width - units.gu(4) | 143 | width: parent.width - units.gu(4) |
3287 | 132 | placeholderText: i18n.tr("Search") | 144 | placeholderText: i18n.tr("Search") |
3288 | 133 | objectName: "searchTextField" | 145 | objectName: "searchTextField" |
3289 | @@ -135,23 +147,24 @@ | |||
3290 | 135 | onDisplayTextChanged: | 147 | onDisplayTextChanged: |
3291 | 136 | pluginManager.filter = displayText | 148 | pluginManager.filter = displayText |
3292 | 137 | } | 149 | } |
3293 | 150 | onVisibleChanged: if (visible) searchField.forceActiveFocus() | ||
3294 | 138 | } | 151 | } |
3295 | 139 | 152 | ||
3296 | 140 | UncategorizedItemsView { | 153 | UncategorizedItemsView { |
3297 | 141 | model: pluginManager.itemModel("uncategorized-top") | 154 | model: pluginManager.itemModel("uncategorized-top") |
3298 | 142 | } | 155 | } |
3299 | 143 | 156 | ||
3301 | 144 | CategoryGrid { | 157 | CategorySection { |
3302 | 145 | category: "network" | 158 | category: "network" |
3303 | 146 | categoryName: i18n.tr("Network") | 159 | categoryName: i18n.tr("Network") |
3304 | 147 | } | 160 | } |
3305 | 148 | 161 | ||
3307 | 149 | CategoryGrid { | 162 | CategorySection { |
3308 | 150 | category: "personal" | 163 | category: "personal" |
3309 | 151 | categoryName: i18n.tr("Personal") | 164 | categoryName: i18n.tr("Personal") |
3310 | 152 | } | 165 | } |
3311 | 153 | 166 | ||
3313 | 154 | CategoryGrid { | 167 | CategorySection { |
3314 | 155 | category: "system" | 168 | category: "system" |
3315 | 156 | categoryName: i18n.tr("System") | 169 | categoryName: i18n.tr("System") |
3316 | 157 | } | 170 | } |
3317 | 158 | 171 | ||
3318 | === modified file 'src/ui.qrc' | |||
3319 | --- src/ui.qrc 2014-01-31 15:07:01 +0000 | |||
3320 | +++ src/ui.qrc 2015-11-23 13:42:19 +0000 | |||
3321 | @@ -1,6 +1,6 @@ | |||
3322 | 1 | <!DOCTYPE RCC><RCC version="1.0"> | 1 | <!DOCTYPE RCC><RCC version="1.0"> |
3323 | 2 | <qresource> | 2 | <qresource> |
3325 | 3 | <file>qml/CategoryGrid.qml</file> | 3 | <file>qml/CategorySection.qml</file> |
3326 | 4 | <file>qml/EntryComponent.qml</file> | 4 | <file>qml/EntryComponent.qml</file> |
3327 | 5 | <file>qml/MainWindow.qml</file> | 5 | <file>qml/MainWindow.qml</file> |
3328 | 6 | <file>qml/UncategorizedItemsView.qml</file> | 6 | <file>qml/UncategorizedItemsView.qml</file> |
3329 | 7 | 7 | ||
3330 | === modified file 'tests/autopilot/ubuntu_system_settings/tests/indicatornetwork.py' | |||
3331 | --- tests/autopilot/ubuntu_system_settings/tests/indicatornetwork.py 2015-08-17 15:39:14 +0000 | |||
3332 | +++ tests/autopilot/ubuntu_system_settings/tests/indicatornetwork.py 2015-11-23 13:42:19 +0000 | |||
3333 | @@ -17,6 +17,8 @@ | |||
3334 | 17 | BUS_NAME = 'com.canonical.indicator.network' | 17 | BUS_NAME = 'com.canonical.indicator.network' |
3335 | 18 | MAIN_IFACE = 'org.gtk.Actions' | 18 | MAIN_IFACE = 'org.gtk.Actions' |
3336 | 19 | MAIN_OBJ = '/com/canonical/indicator/network' | 19 | MAIN_OBJ = '/com/canonical/indicator/network' |
3337 | 20 | MENU_IFACE = 'org.gtk.Menus' | ||
3338 | 21 | PHONE_WIFI_OBJ = '/com/canonical/indicator/network/phone_wifi_settings' | ||
3339 | 20 | SYSTEM_BUS = False | 22 | SYSTEM_BUS = False |
3340 | 21 | 23 | ||
3341 | 22 | NOT_IMPLEMENTED = '''raise dbus.exceptions.DBusException( | 24 | NOT_IMPLEMENTED = '''raise dbus.exceptions.DBusException( |
3342 | @@ -41,8 +43,12 @@ | |||
3343 | 41 | return list(self.actions) | 43 | return list(self.actions) |
3344 | 42 | 44 | ||
3345 | 43 | 45 | ||
3348 | 44 | def set_state(self, action_name, parameters, platform_data): | 46 | def start(self, groups): |
3349 | 45 | eval(NOT_IMPLEMENTED) | 47 | return dbusmock.get_object(MAIN_OBJ).menus |
3350 | 48 | |||
3351 | 49 | |||
3352 | 50 | def end(self, groups): | ||
3353 | 51 | pass | ||
3354 | 46 | 52 | ||
3355 | 47 | 53 | ||
3356 | 48 | @dbus.service.method(dbusmock.MOCK_IFACE, | 54 | @dbus.service.method(dbusmock.MOCK_IFACE, |
3357 | @@ -62,12 +68,87 @@ | |||
3358 | 62 | mock.describe = describe | 68 | mock.describe = describe |
3359 | 63 | mock.describe_all = describe_all | 69 | mock.describe_all = describe_all |
3360 | 64 | mock.list_actions = list_actions | 70 | mock.list_actions = list_actions |
3361 | 65 | mock.set_state = set_state | ||
3362 | 66 | 71 | ||
3363 | 67 | mock.actions = parameters.get('actions', { | 72 | mock.actions = parameters.get('actions', { |
3364 | 68 | 'wifi.enable': (True, '', [True]), | 73 | 'wifi.enable': (True, '', [True]), |
3365 | 74 | 'accesspoint.0': (True, '', [True]), | ||
3366 | 75 | 'accesspoint.0::strength': (True, '', [44]), | ||
3367 | 76 | 'accesspoint.1': (True, '', [False]), | ||
3368 | 77 | 'accesspoint.1::strength': (True, '', [100]), | ||
3369 | 78 | 'accesspoint.2': (True, '', [False]), | ||
3370 | 79 | 'accesspoint.2::strength': (True, '', [74]), | ||
3371 | 80 | 'accesspoint.3': (False, '', [False]), | ||
3372 | 69 | }) | 81 | }) |
3373 | 70 | 82 | ||
3374 | 83 | mock.menus = parameters.get('menus', dbus.Array([ | ||
3375 | 84 | ( | ||
3376 | 85 | dbus.UInt32(0), dbus.UInt32(0), | ||
3377 | 86 | [ | ||
3378 | 87 | { | ||
3379 | 88 | 'action': 'indicator.wifi.enable', | ||
3380 | 89 | 'x-canonical-type': 'com.canonical.indicator.switch', | ||
3381 | 90 | 'label': 'Wi-Fi' | ||
3382 | 91 | }, | ||
3383 | 92 | { | ||
3384 | 93 | 'x-canonical-type': 'com.canonical.indicator.section', | ||
3385 | 94 | 'label': 'Available Wi-Fi networks' | ||
3386 | 95 | }, | ||
3387 | 96 | { | ||
3388 | 97 | ':section': dbus.Struct( | ||
3389 | 98 | (dbus.UInt32(0), dbus.UInt32(1)), signature='(uu)' | ||
3390 | 99 | ) | ||
3391 | 100 | } | ||
3392 | 101 | ] | ||
3393 | 102 | ), | ||
3394 | 103 | ( | ||
3395 | 104 | dbus.UInt32(0), dbus.UInt32(1), | ||
3396 | 105 | [ | ||
3397 | 106 | { | ||
3398 | 107 | 'x-canonical-wifi-ap-is-secure': True, | ||
3399 | 108 | 'x-canonical-wifi-ap-is-enterprise': False, | ||
3400 | 109 | 'label': 'Secure', | ||
3401 | 110 | 'x-canonical-type': | ||
3402 | 111 | 'unity.widgets.systemsettings.tablet.accesspoint', | ||
3403 | 112 | 'x-canonical-wifi-ap-strength-action': | ||
3404 | 113 | 'indicator.accesspoint.0::strength', | ||
3405 | 114 | 'action': 'indicator.accesspoint.0', | ||
3406 | 115 | 'x-canonical-wifi-ap-is-adhoc': False | ||
3407 | 116 | }, | ||
3408 | 117 | { | ||
3409 | 118 | 'x-canonical-wifi-ap-is-secure': False, | ||
3410 | 119 | 'x-canonical-wifi-ap-is-enterprise': False, | ||
3411 | 120 | 'label': 'Insecure', | ||
3412 | 121 | 'x-canonical-type': | ||
3413 | 122 | 'unity.widgets.systemsettings.tablet.accesspoint', | ||
3414 | 123 | 'x-canonical-wifi-ap-strength-action': | ||
3415 | 124 | 'indicator.accesspoint.1::strength', | ||
3416 | 125 | 'action': 'indicator.accesspoint.1', | ||
3417 | 126 | 'x-canonical-wifi-ap-is-adhoc': False | ||
3418 | 127 | }, | ||
3419 | 128 | { | ||
3420 | 129 | 'x-canonical-wifi-ap-is-secure': True, | ||
3421 | 130 | 'x-canonical-wifi-ap-is-enterprise': True, | ||
3422 | 131 | 'label': 'Enterprise', | ||
3423 | 132 | 'x-canonical-type': | ||
3424 | 133 | 'unity.widgets.systemsettings.tablet.accesspoint', | ||
3425 | 134 | 'x-canonical-wifi-ap-strength-action': | ||
3426 | 135 | 'indicator.accesspoint.2::strength', | ||
3427 | 136 | 'action': 'indicator.accesspoint.2', | ||
3428 | 137 | 'x-canonical-wifi-ap-is-adhoc': False | ||
3429 | 138 | }, | ||
3430 | 139 | { | ||
3431 | 140 | 'x-canonical-wifi-ap-is-secure': False, | ||
3432 | 141 | 'x-canonical-wifi-ap-is-enterprise': False, | ||
3433 | 142 | 'label': 'Unknown', | ||
3434 | 143 | 'x-canonical-type': | ||
3435 | 144 | 'unknown-type', | ||
3436 | 145 | 'action': 'indicator.accesspoint.3', | ||
3437 | 146 | 'x-canonical-wifi-ap-is-adhoc': False | ||
3438 | 147 | } | ||
3439 | 148 | ] | ||
3440 | 149 | ) | ||
3441 | 150 | ], signature='a(uuaa{sv})')) | ||
3442 | 151 | |||
3443 | 71 | mock.AddMethods( | 152 | mock.AddMethods( |
3444 | 72 | MAIN_IFACE, | 153 | MAIN_IFACE, |
3445 | 73 | [ | 154 | [ |
3446 | @@ -85,9 +166,23 @@ | |||
3447 | 85 | ( | 166 | ( |
3448 | 86 | 'List', '', 'as', | 167 | 'List', '', 'as', |
3449 | 87 | 'ret = self.list_actions(self)' | 168 | 'ret = self.list_actions(self)' |
3450 | 88 | ), | ||
3451 | 89 | ( | ||
3452 | 90 | 'SetState', 'sva{sv}', '', | ||
3453 | 91 | 'self.set_state(self, args[0], args[1], args[2])' | ||
3454 | 92 | ) | 169 | ) |
3455 | 93 | ]) | 170 | ]) |
3456 | 171 | |||
3457 | 172 | mock.AddObject( | ||
3458 | 173 | PHONE_WIFI_OBJ, | ||
3459 | 174 | MENU_IFACE, {}, [ | ||
3460 | 175 | ( | ||
3461 | 176 | 'Start', 'au', 'a(uuaa{sv})', | ||
3462 | 177 | 'ret = self.start(self, args[0])' | ||
3463 | 178 | ), | ||
3464 | 179 | ( | ||
3465 | 180 | 'End', 'au', '', | ||
3466 | 181 | 'ret = self.end(self, args[0])' | ||
3467 | 182 | ) | ||
3468 | 183 | ] | ||
3469 | 184 | ) | ||
3470 | 185 | |||
3471 | 186 | phone_wifi_obj = dbusmock.get_object(PHONE_WIFI_OBJ) | ||
3472 | 187 | phone_wifi_obj.start = start | ||
3473 | 188 | phone_wifi_obj.end = end |
FAILED: Continuous integration, rev:1576 jenkins. qa.ubuntu. com/job/ ubuntu- system- settings- ci/2501/ jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- vivid-touch/ 5239/console jenkins. qa.ubuntu. com/job/ ubuntu- system- settings- vivid-amd64- ci/275 jenkins. qa.ubuntu. com/job/ ubuntu- system- settings- vivid-i386- ci/684 jenkins. qa.ubuntu. com/job/ generic- deb-autopilot- runner- vivid-touch/ 4159/console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 5259 jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- vivid-armhf/ 5259/artifact/ work/output/ *zip*/output. zip s-jenkins. ubuntu- ci:8080/ job/touch- flash-device/ 25238
http://
Executed test runs:
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- system- settings- ci/2501/ rebuild
http://