Merge lp:~rsalveti/ubuntu-system-settings/agent-rework-rtm into lp:ubuntu-system-settings

Proposed by Ricardo Salveti
Status: Superseded
Proposed branch: lp:~rsalveti/ubuntu-system-settings/agent-rework-rtm
Merge into: lp:ubuntu-system-settings
Diff against target: 77116 lines (+62962/-597) (has conflicts)
93 files modified
CMakeLists.txt (+24/-10)
debian/changelog (+949/-0)
debian/control (+32/-0)
plugins/about/PageComponent.qml (+9/-0)
plugins/about/Storage.qml (+11/-0)
plugins/about/click.cpp (+56/-0)
plugins/about/click.h (+6/-0)
plugins/about/storageabout.cpp (+10/-1)
plugins/about/storageabout.h (+7/-0)
plugins/bluetooth/PageComponent.qml (+170/-0)
plugins/bluetooth/agent.cpp (+4/-0)
plugins/bluetooth/agentadaptor.h (+1/-1)
plugins/bluetooth/bluetooth.cpp (+37/-1)
plugins/bluetooth/bluetooth.h (+4/-0)
plugins/bluetooth/dbus-shared.h (+1/-0)
plugins/bluetooth/devicemodel.cpp (+28/-2)
plugins/bluetooth/devicemodel.h (+1/-1)
plugins/cellular/Components/DataMultiSim.qml (+9/-1)
plugins/cellular/Components/NoSim.qml (+47/-0)
plugins/cellular/Components/RadioSingleSim.qml (+90/-0)
plugins/cellular/Components/SimEditor.qml (+24/-0)
plugins/cellular/CustomApnEditor.qml (+328/-0)
plugins/language/PageComponent.qml (+17/-0)
plugins/phone/MultiSim.qml (+138/-0)
plugins/phone/PageComponent.qml (+28/-0)
plugins/security-privacy/LockSecurity.qml (+61/-0)
plugins/security-privacy/PhoneLocking.qml (+4/-0)
plugins/security-privacy/SimPin.qml (+392/-0)
plugins/sound/PageComponent.qml (+31/-0)
plugins/system-update/PageComponent.qml (+482/-2)
plugins/system-update/download_tracker.cpp (+23/-4)
plugins/system-update/download_tracker.h (+9/-0)
plugins/system-update/network/network.cpp (+39/-0)
plugins/wifi/NetworkDetails.qml (+5/-0)
plugins/wifi/NetworkDetailsBrief.qml (+82/-0)
plugins/wifi/OtherNetwork.qml (+387/-116)
plugins/wifi/PageComponent.qml (+17/-0)
po/CMakeLists.txt (+4/-0)
po/am.po (+2790/-1)
po/be.po (+2702/-6)
po/ca.po (+2794/-13)
po/ca@valencia.po (+3029/-0)
po/de.po (+2916/-8)
po/el.po (+2780/-3)
po/en_AU.po (+2764/-6)
po/es.po (+328/-57)
po/fa.po (+196/-56)
po/fr.po (+927/-57)
po/gl.po (+2709/-14)
po/he.po (+2700/-49)
po/hu.po (+2682/-17)
po/is.po (+1012/-54)
po/it.po (+2876/-6)
po/pa.po (+2747/-2)
po/pl.po (+2872/-3)
po/pt.po (+2798/-1)
po/ro.po (+1285/-0)
po/ru.po (+2781/-17)
po/tr.po (+2858/-1)
po/ubuntu-system-settings.pot (+2897/-32)
po/zh_CN.po (+2752/-0)
po/zh_TW.po (+2160/-54)
push-helper/software_updates_helper.py (+154/-0)
src/qml/CategoryGrid.qml (+4/-0)
tests/autopilot/ubuntu_system_settings/__init__.py (+557/-0)
tests/autopilot/ubuntu_system_settings/tests/__init__.py (+45/-1)
tests/autopilot/ubuntu_system_settings/tests/test_datetime.py (+5/-0)
tests/autopilot/ubuntu_system_settings/tests/test_wifi.py (+162/-0)
wizard/CMakeLists.txt.OTHER (+51/-0)
wizard/PageList.cpp.OTHER (+111/-0)
wizard/Utils/CMakeLists.txt.OTHER (+27/-0)
wizard/Utils/plugin.cpp.OTHER (+41/-0)
wizard/Utils/system.cpp (+114/-0)
wizard/Utils/system.h (+57/-0)
wizard/main.cpp.OTHER (+93/-0)
wizard/qml/Components/CheckableSetting.qml (+80/-0)
wizard/qml/Components/Page.qml.OTHER (+107/-0)
wizard/qml/Components/StackButton.qml.OTHER (+54/-0)
wizard/qml/Pages/10-welcome.qml.OTHER (+93/-0)
wizard/qml/Pages/20-sim.qml.OTHER (+75/-0)
wizard/qml/Pages/30-passwd-type.qml.OTHER (+119/-0)
wizard/qml/Pages/40-wifi.qml.OTHER (+216/-0)
wizard/qml/Pages/50-location.qml (+96/-0)
wizard/qml/Pages/60-reporting.qml.OTHER (+52/-0)
wizard/qml/Pages/80-finished.qml.OTHER (+55/-0)
wizard/qml/Pages/here-terms.qml (+117/-0)
wizard/qml/Pages/passwd-confirm.qml (+79/-0)
wizard/qml/Pages/passwd-set.qml (+87/-0)
wizard/qml/main.qml.OTHER (+246/-0)
wizard/test.sh.OTHER (+18/-0)
wizard/ubuntu-system-settings-wizard-cleanup.conf.OTHER (+20/-0)
wizard/ubuntu-system-settings-wizard-set-lang.conf (+30/-0)
wizard/ubuntu-system-settings-wizard.conf.OTHER (+75/-0)
Text conflict in CMakeLists.txt
Text conflict in debian/changelog
Text conflict in debian/control
Text conflict in plugins/about/PageComponent.qml
Text conflict in plugins/about/Storage.qml
Text conflict in plugins/about/click.cpp
Text conflict in plugins/about/click.h
Text conflict in plugins/about/storageabout.cpp
Text conflict in plugins/about/storageabout.h
Text conflict in plugins/bluetooth/PageComponent.qml
Text conflict in plugins/bluetooth/agent.cpp
Text conflict in plugins/bluetooth/bluetooth.cpp
Text conflict in plugins/bluetooth/bluetooth.h
Text conflict in plugins/bluetooth/devicemodel.cpp
Text conflict in plugins/cellular/Components/DataMultiSim.qml
Text conflict in plugins/cellular/Components/NoSim.qml
Text conflict in plugins/cellular/Components/RadioSingleSim.qml
Text conflict in plugins/cellular/Components/SimEditor.qml
Text conflict in plugins/cellular/CustomApnEditor.qml
Text conflict in plugins/language/PageComponent.qml
Text conflict in plugins/phone/MultiSim.qml
Text conflict in plugins/phone/PageComponent.qml
Text conflict in plugins/security-privacy/LockSecurity.qml
Text conflict in plugins/security-privacy/PhoneLocking.qml
Text conflict in plugins/security-privacy/SimPin.qml
Text conflict in plugins/sound/PageComponent.qml
Text conflict in plugins/system-update/PageComponent.qml
Text conflict in plugins/system-update/download_tracker.cpp
Text conflict in plugins/system-update/download_tracker.h
Text conflict in plugins/system-update/network/network.cpp
Text conflict in plugins/wifi/NetworkDetails.qml
Text conflict in plugins/wifi/NetworkDetailsBrief.qml
Text conflict in plugins/wifi/OtherNetwork.qml
Text conflict in plugins/wifi/PageComponent.qml
Text conflict in po/CMakeLists.txt
Text conflict in po/am.po
Text conflict in po/be.po
Text conflict in po/ca.po
Text conflict in po/ca@valencia.po
Text conflict in po/de.po
Text conflict in po/el.po
Text conflict in po/en_AU.po
Text conflict in po/es.po
Text conflict in po/fa.po
Text conflict in po/fr.po
Text conflict in po/gl.po
Text conflict in po/he.po
Text conflict in po/hu.po
Text conflict in po/is.po
Text conflict in po/it.po
Text conflict in po/pa.po
Text conflict in po/pl.po
Text conflict in po/pt.po
Text conflict in po/ro.po
Text conflict in po/ru.po
Text conflict in po/tr.po
Text conflict in po/ubuntu-system-settings.pot
Text conflict in po/zh_CN.po
Text conflict in po/zh_TW.po
Text conflict in push-helper/software_updates_helper.py
Text conflict in src/qml/CategoryGrid.qml
Text conflict in tests/autopilot/ubuntu_system_settings/__init__.py
Text conflict in tests/autopilot/ubuntu_system_settings/tests/__init__.py
Text conflict in tests/autopilot/ubuntu_system_settings/tests/test_datetime.py
Text conflict in tests/autopilot/ubuntu_system_settings/tests/test_wifi.py
Conflict adding files to wizard.  Created directory.
Conflict because wizard is not versioned, but has versioned children.  Versioned directory.
Contents conflict in wizard/CMakeLists.txt
Contents conflict in wizard/PageList.cpp
Conflict adding files to wizard/Utils.  Created directory.
Conflict because wizard/Utils is not versioned, but has versioned children.  Versioned directory.
Contents conflict in wizard/Utils/CMakeLists.txt
Contents conflict in wizard/Utils/plugin.cpp
Contents conflict in wizard/main.cpp
Conflict adding files to wizard/qml.  Created directory.
Conflict because wizard/qml is not versioned, but has versioned children.  Versioned directory.
Conflict adding files to wizard/qml/Components.  Created directory.
Conflict because wizard/qml/Components is not versioned, but has versioned children.  Versioned directory.
Contents conflict in wizard/qml/Components/Page.qml
Contents conflict in wizard/qml/Components/StackButton.qml
Conflict adding files to wizard/qml/Pages.  Created directory.
Conflict because wizard/qml/Pages is not versioned, but has versioned children.  Versioned directory.
Contents conflict in wizard/qml/Pages/10-welcome.qml
Contents conflict in wizard/qml/Pages/20-sim.qml
Contents conflict in wizard/qml/Pages/30-passwd-type.qml
Contents conflict in wizard/qml/Pages/40-wifi.qml
Contents conflict in wizard/qml/Pages/60-reporting.qml
Contents conflict in wizard/qml/Pages/80-finished.qml
Contents conflict in wizard/qml/main.qml
Contents conflict in wizard/test.sh
Contents conflict in wizard/ubuntu-system-settings-wizard-cleanup.conf
Contents conflict in wizard/ubuntu-system-settings-wizard.conf
To merge this branch: bzr merge lp:~rsalveti/ubuntu-system-settings/agent-rework-rtm
Reviewer Review Type Date Requested Status
Ubuntu Touch System Settings Pending
Review via email: mp+251208@code.launchpad.net

Commit message

Make an adapter-wide agent available for pairing requests initiated from a remote device. (LP: #1366061)

Description of the change

Make an adapter-wide agent available for pairing requests initiated from a remote device. (LP: #1366061)

Backport of: https://code.launchpad.net/~mathieu-tl/ubuntu-system-settings/agent-rework/+merge/250889

To post a comment you must log in.

Unmerged revisions

998. By Ricardo Salveti

Register an agent on the adapter as well

997. By CI Train Bot Account

Releasing 0.3+15.04.20150219~rtm-0ubuntu1

996. By Michael Terry

Wait for libqofono to finish initializing before we decide whether to skip the wizard's SIM page or not.

libqofono recently became asynchronous, which the wizard was not prepared for. Fixes: #1423565
Approved by: Jonas G. Drange

995. By CI Train Bot Account

Releasing 0.3+15.04.20150218.1~rtm-0ubuntu1

994. By Ken VanDine

Removed conflicting ConnectivityMixin to fix smoke testing
 Fixes: #1423205
Approved by: Jonas G. Drange

993. By CI Train Bot Account

Releasing 0.3+15.04.20150218~rtm-0ubuntu1

992. By Mathieu Trudel-Lapierre

Use the address instead of name in main device list if name isn't available.
Approved by: Ken VanDine

991. By CI Train Bot Account

Releasing 0.3+15.04.20150217~rtm-0ubuntu1

990. By Jonas G. Drange

[cellular] makes the apn editor somewhat compatible to libqofono 0.7 Fixes: #1379850

989. By Jonas G. Drange

[cellular] using libqofono-0.7 and including functionality for enabling users to change what modem has 3G Fixes: #1379850

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2014-11-19 18:05:48 +0000
+++ CMakeLists.txt 2015-02-27 05:54:50 +0000
@@ -77,16 +77,30 @@
77add_subdirectory(plugins)77add_subdirectory(plugins)
78add_subdirectory(src)78add_subdirectory(src)
79add_subdirectory(tests)79add_subdirectory(tests)
8080<<<<<<< TREE
81configure_file(${DESKTOP_FILE}.in.in ${DESKTOP_FILE}.in @ONLY)81
82add_custom_target(${DESKTOP_FILE} ALL82configure_file(${DESKTOP_FILE}.in.in ${DESKTOP_FILE}.in @ONLY)
83 COMMENT "Merging translations into ${DESKTOP_FILE}"83add_custom_target(${DESKTOP_FILE} ALL
84 COMMAND ${INTLTOOL_MERGE} -d -u ${CMAKE_SOURCE_DIR}/po84 COMMENT "Merging translations into ${DESKTOP_FILE}"
85 ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}.in ${DESKTOP_FILE})85 COMMAND ${INTLTOOL_MERGE} -d -u ${CMAKE_SOURCE_DIR}/po
8686 ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}.in ${DESKTOP_FILE})
87install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}87
88 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)88install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}
8989 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
90
91=======
92add_subdirectory(wizard)
93
94configure_file(${DESKTOP_FILE}.in.in ${DESKTOP_FILE}.in @ONLY)
95add_custom_target(${DESKTOP_FILE} ALL
96 COMMENT "Merging translations into ${DESKTOP_FILE}"
97 COMMAND ${INTLTOOL_MERGE} -d -u ${CMAKE_SOURCE_DIR}/po
98 ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}.in ${DESKTOP_FILE})
99
100install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${DESKTOP_FILE}
101 DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
102
103>>>>>>> MERGE-SOURCE
90install(FILES ubuntu-system-settings.url-dispatcher DESTINATION share/url-dispatcher/urls)104install(FILES ubuntu-system-settings.url-dispatcher DESTINATION share/url-dispatcher/urls)
91install(FILES screenshot.png DESTINATION ${SETTINGS_SHARE_DIR})105install(FILES screenshot.png DESTINATION ${SETTINGS_SHARE_DIR})
92install(FILES system-settings.png DESTINATION ${SETTINGS_SHARE_DIR})106install(FILES system-settings.png DESTINATION ${SETTINGS_SHARE_DIR})
93107
=== modified file 'debian/changelog'
--- debian/changelog 2015-02-23 19:58:56 +0000
+++ debian/changelog 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1ubuntu-system-settings (0.3+15.04.20150223-0ubuntu1) vivid; urgency=medium2ubuntu-system-settings (0.3+15.04.20150223-0ubuntu1) vivid; urgency=medium
23
3 [ Leo Arias ]4 [ Leo Arias ]
@@ -1178,6 +1179,954 @@
11781179
1179 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 15 Aug 2014 16:45:51 +00001180 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 15 Aug 2014 16:45:51 +0000
11801181
1182=======
1183ubuntu-system-settings (0.3+15.04.20150219~rtm-0ubuntu1) 14.09; urgency=medium
1184
1185 [ Michael Terry ]
1186 * Wait for libqofono to finish initializing before we decide whether
1187 to skip the wizard's SIM page or not.
1188
1189 -- CI Train Bot <ci-train-bot@canonical.com> Thu, 19 Feb 2015 17:21:09 +0000
1190
1191ubuntu-system-settings (0.3+15.04.20150218.1~rtm-0ubuntu1) 14.09; urgency=medium
1192
1193 [ Ken VanDine ]
1194 * Removed conflicting ConnectivityMixin to fix smoke testing (LP:
1195 #1423205)
1196
1197 -- CI Train Bot <ci-train-bot@canonical.com> Wed, 18 Feb 2015 18:07:18 +0000
1198
1199ubuntu-system-settings (0.3+15.04.20150218~rtm-0ubuntu1) 14.09; urgency=medium
1200
1201 [ CI Train Bot ]
1202 * New rebuild forced.
1203
1204 [ Mathieu Trudel-Lapierre ]
1205 * Use the address instead of name in main device list if name isn't
1206 available.
1207
1208 -- CI Train Bot <ci-train-bot@canonical.com> Wed, 18 Feb 2015 15:12:33 +0000
1209
1210ubuntu-system-settings (0.3+15.04.20150217~rtm-0ubuntu1) 14.09; urgency=medium
1211
1212 [ CI Train Bot ]
1213 * Resync trunk
1214 * Resync trunk
1215 * Resync trunk
1216 * Resync trunk
1217 * Resync trunk
1218 * Resync trunk
1219 * Resync trunk
1220 * Resync trunk
1221 * Resync trunk
1222
1223 [ jonas-drange ]
1224 * [cellular] using libqofono-0.7 and including functionality for
1225 enabling users to change what modem has 3G (LP: #1379850)
1226 * [cellular] makes the apn editor somewhat compatible to libqofono 0.7
1227 (LP: #1379850)
1228
1229 -- CI Train Bot <ci-train-bot@canonical.com> Tue, 17 Feb 2015 12:55:31 +0000
1230
1231ubuntu-system-settings (0.3+15.04.20150204.1~rtm-0ubuntu1) 14.09; urgency=medium
1232
1233 [ jonas-drange ]
1234 * [sound] let user toggle other vibrate setting
1235
1236 [ Ubuntu daily release ]
1237 * New rebuild forced
1238
1239 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 04 Feb 2015 15:19:16 +0000
1240
1241ubuntu-system-settings (0.3+15.04.20150204~rtm-0ubuntu1) 14.09; urgency=medium
1242
1243 [ Ken VanDine ]
1244 * Revoke any cached authorizations before trying to change password
1245 mode. This makes sure that we authenticate the user again even if we
1246 just did so (for UX consistency).
1247 * [about] properly display IMEI values for no devices ("None"), one
1248 device and multiple devices. Remove test now redundant. (LP:
1249 #1205294)
1250 * [security/privacy] add connectivity binding and let user unlock a
1251 given SIM (LP: #1378883)
1252
1253 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 04 Feb 2015 17:38:10 +0000
1254
1255ubuntu-system-settings (0.3+15.04.20150203.1~rtm-0ubuntu1) 14.09; urgency=medium
1256
1257 [ Ken VanDine ]
1258 * initialize m_lastFullCharge as NULL
1259 * Use device-state from indicator-power to determine charging status.
1260 QtSystemsInfo doesn't support UPower 0.99. (LP: #1416096)
1261
1262 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 03 Feb 2015 16:08:56 +0000
1263
1264ubuntu-system-settings (0.3+15.04.20150128.1~rtm-0ubuntu1) 14.09; urgency=low
1265
1266 [ Ubuntu daily release ]
1267 * New rebuild forced
1268
1269 [ Alberto Mardegan ]
1270 * Security: ignore older requests when building the applications'
1271 grants
1272
1273 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 28 Jan 2015 09:56:05 +0000
1274
1275ubuntu-system-settings (0.3+15.04.20150123.1~rtm-0ubuntu1) 14.09; urgency=low
1276
1277 [ Andrea Cimitan ]
1278 * Fix continue button in wifi wizard page, adds qml-module-
1279 qtsysteminfo as ubuntu-system-settings-wizard dep (LP: #1363400)
1280
1281 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 23 Jan 2015 18:19:35 +0000
1282
1283ubuntu-system-settings (0.3+15.04.20150123~rtm-0ubuntu1) 14.09; urgency=low
1284
1285 [ Ken VanDine ]
1286 * [brightness] ensure properties are not use undefined (LP: #1385467)
1287
1288 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 23 Jan 2015 14:54:16 +0000
1289
1290ubuntu-system-settings (0.3+15.04.20150122~rtm-0ubuntu1) 14.09; urgency=low
1291
1292 [ Ken VanDine ]
1293 * [cellular/carriers] new Carrier & APN entry, as well as a major
1294 refactor of carrier selection code warranted by the design change.
1295 (LP: #1388044)
1296 * [bluetooth] Show bluetooth address instead of name while it's not
1297 detected; to be updated once available. (LP: #1382767)
1298
1299 [ jonas-drange ]
1300 * Make currently active connection forgettable.
1301
1302 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 22 Jan 2015 01:39:48 +0000
1303
1304ubuntu-system-settings (0.3+15.04.20150120~rtm-0ubuntu1) 14.09; urgency=low
1305
1306 [ Manuel de la Peña ]
1307 * Fix click downloads pause by ensuring that the settings works
1308 accordingly. (LP: #1398310)
1309
1310 [ Ubuntu daily release ]
1311 * New rebuild forced
1312
1313 [ Manuel de la Pena ]
1314 * Fix click downloads pause by ensuring that the settings works
1315 accordingly. (LP: #1398310)
1316
1317 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 20 Jan 2015 15:04:46 +0000
1318
1319ubuntu-system-settings (0.3+15.04.20150114.1~rtm-0ubuntu1) 14.09; urgency=low
1320
1321 [ Ken VanDine ]
1322 * Added missing depends for qml-module-ubuntu-connectivity (LP:
1323 #1410968)
1324
1325 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 14 Jan 2015 21:01:31 +0000
1326
1327ubuntu-system-settings (0.3+15.04.20150114~rtm-0ubuntu1) 14.09; urgency=low
1328
1329 [ Ken VanDine ]
1330 * Tiny step towards improved use of the preferred page-object model,
1331 hopefully making some tests more reliable. (LP: #1409809)
1332
1333 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 14 Jan 2015 02:51:38 +0000
1334
1335ubuntu-system-settings (0.3+15.04.20150112~rtm-0ubuntu1) 14.09; urgency=low
1336
1337 [ Ken VanDine ]
1338 * [security] replace inputmask for validator and maximum length (LP:
1339 #1357548)
1340
1341 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 12 Jan 2015 21:51:55 +0000
1342
1343ubuntu-system-settings (0.3+15.04.20150109~rtm-0ubuntu1) 14.09; urgency=low
1344
1345 [ jonas-drange ]
1346 * [about] use networkinfo to pull the wifi device MAC (LP: #1399723)
1347
1348 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 09 Jan 2015 14:45:20 +0000
1349
1350ubuntu-system-settings (0.3+15.04.20150107~rtm-0ubuntu1) 14.09; urgency=low
1351
1352 [ Ken VanDine ]
1353 * [about] use SingleValueStacked for all information bits in the
1354 version panel
1355
1356 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 07 Jan 2015 15:07:19 +0000
1357
1358ubuntu-system-settings (0.3+15.04.20150106~rtm-0ubuntu1) 14.09; urgency=low
1359
1360 [ Ken VanDine ]
1361 * [system-update] remember the latest SystemUpdate downloaded and
1362 compare the version when checking again and set updateReady
1363 appropriately. This fixes the handling of downloaded updates when
1364 auto-download is false. (LP: #1392051)
1365 * [orientation] String change to Rotation Lock
1366
1367 [ Ted Gould ]
1368 * Make silent mode use the action state in the sound user service (LP:
1369 #1382089, #1388804, #1395709)
1370
1371 [ Ubuntu daily release ]
1372 * New rebuild forced
1373
1374 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 06 Jan 2015 21:41:04 +0000
1375
1376ubuntu-system-settings (0.3+15.04.20141211~rtm-0ubuntu1) 14.09; urgency=low
1377
1378 [ Ken VanDine ]
1379 * [cellular] split "Cellular Data" and "Connection type" into two
1380 separate pieces in the UI for both single and multi SIM (LP:
1381 #1378812, #1377455)
1382
1383 [ jonas-drange ]
1384 * [cellular] Use a repeater to lay out two separate ItemSelectors for
1385 modems, making sure it works well between connMan power cycles (LP:
1386 #1377455)
1387
1388 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 11 Dec 2014 14:24:35 +0000
1389
1390ubuntu-system-settings (0.3+15.04.20141210~rtm-0ubuntu1) 14.09; urgency=low
1391
1392 [ Ken VanDine ]
1393 * Support UPower 0.99 (LP: #1337200, #1390629)
1394
1395 [ Ubuntu daily release ]
1396 * New rebuild forced
1397
1398 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 10 Dec 2014 23:53:31 +0000
1399
1400ubuntu-system-settings (0.3+15.04.20141209~rtm-0ubuntu1) 14.09; urgency=low
1401
1402 [ Ken VanDine ]
1403 * [battery] don't control wifi state with libnm, use the
1404 QDBusActionGroup from indicator-network (LP: #1391940)
1405 * Update the translations template during the build (LP: #1399212)
1406 * Use the SliderMenu component instead of the Slider component to
1407 fixed value binding issues
1408
1409 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 09 Dec 2014 14:16:59 +0000
1410
1411ubuntu-system-settings (0.3+15.04.20141202~rtm-0ubuntu1) 14.09; urgency=low
1412
1413 [ Ken VanDine ]
1414 * Refreshed ubuntu-system-settings.pot
1415
1416 [ Michael Terry ]
1417 * When the power button is held down, show the shutdown dialog like we
1418 do in the unity8 shell. (LP: #1381731)
1419
1420 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 02 Dec 2014 19:41:37 +0000
1421
1422ubuntu-system-settings (0.3+15.04.20141112.1~rtm-0ubuntu1) 14.09; urgency=low
1423
1424 [ Ken VanDine ]
1425 * Backport fix for Switch/Check binding (LP: #1336715) (LP: #1336715)
1426
1427 [ Sebastien Bacher ]
1428 * Tweaks to try to make the section headers and titles closer to the
1429 design. Use a custom component, with tweaked margins and disabled
1430 tap effects, for that.
1431
1432 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 12 Nov 2014 16:28:25 +0000
1433
1434ubuntu-system-settings (0.3+14.10.20141104~rtm-0ubuntu1) 14.09; urgency=low
1435
1436 [ Ken VanDine ]
1437 * [battery] don't use a colored icon (LP: #1351383)
1438
1439 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 04 Nov 2014 14:38:52 +0000
1440
1441ubuntu-system-settings (0.3+14.10.20141103~rtm-0ubuntu1) 14.09; urgency=low
1442
1443 [ Michael Terry ]
1444 * Add a Continue button when choosing a passphrase. And fix a few
1445 other design nits with choosing a password.
1446
1447 [ Ubuntu daily release ]
1448 * New rebuild forced
1449
1450 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 03 Nov 2014 19:58:15 +0000
1451
1452ubuntu-system-settings (0.3+14.10.20141029~rtm-0ubuntu1) 14.09; urgency=low
1453
1454 [ Ken VanDine ]
1455 * Refactored to use a singleton for UpdateManager shared in both QML
1456 and CPP. Don't load the dynamic visibility items while creating the
1457 item model, defer that to the loader. (LP: #1317007)
1458
1459 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 29 Oct 2014 13:31:03 +0000
1460
1461ubuntu-system-settings (0.3+14.10.20141028~rtm-0ubuntu1) 14.09; urgency=low
1462
1463 [ Ken VanDine ]
1464 * Fix a typo in the HERE terms link.
1465
1466 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 28 Oct 2014 14:50:00 +0000
1467
1468ubuntu-system-settings (0.3+14.10.20141022-0ubuntu1) utopic; urgency=low
1469
1470 [ CI bot ]
1471 * Resync trunk
1472
1473 [ Michael Zanetti ]
1474 * update code to reset launcher after launcher backend implementation
1475 was reworked (LP: #1376707)
1476
1477 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 22 Oct 2014 21:34:27 +0000
1478
1479ubuntu-system-settings (0.3+14.10.20141021.1-0ubuntu1) utopic; urgency=low
1480
1481 [ Sebastien Bacher ]
1482 * [storage] translator comment for the string "%1 free" (LP: #1377929)
1483 * [system-update] ellipsize labels if needed (LP: #1376286)
1484 * [sound] Use the correct low icon (LP: #1376286)
1485
1486 [ Lars Uebernickel ]
1487 * notification-manager: fix issues with GVariant API usage
1488
1489 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 21 Oct 2014 15:24:55 +0000
1490
1491ubuntu-system-settings (0.3+14.10.20141021-0ubuntu1) utopic; urgency=low
1492
1493 [ jonas-drange ]
1494 * [security/privacy] allow user to change HERE and location detection
1495 settings. (LP: #1375322)
1496
1497 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 21 Oct 2014 13:23:03 +0000
1498
1499ubuntu-system-settings (0.3+14.10.20141017~rtm-0ubuntu1) 14.09; urgency=low
1500
1501 [ Ken VanDine ]
1502 * Updated the pot file.
1503
1504 [ jonas-drange ]
1505 * [cellular] indirectly recreate ConnectionManager interface's dbus
1506 proxy so it reports the true value of 'Powered' after flight mode
1507 (LP: #1376957)
1508
1509 [ Iain Lane ]
1510 * [sound] Make listSounds take a list of directories and list all of
1511 the files in them, instead of assuming "/custom" all the time.
1512
1513 [ Ubuntu daily release ]
1514 * New rebuild forced
1515
1516 [ Sebastien Bacher ]
1517 * [sound] list custom ringtones as well (LP: #1381528)
1518
1519 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 17 Oct 2014 14:57:51 +0000
1520
1521ubuntu-system-settings (0.3+14.10.20141014-0ubuntu1) utopic; urgency=low
1522
1523 [ Ken VanDine ]
1524 * Add an APN editor. (LP: #1225174)
1525
1526 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 14 Oct 2014 07:52:12 +0000
1527
1528ubuntu-system-settings (0.3+14.10.20141010-0ubuntu1) utopic; urgency=low
1529
1530 [ Michael Terry ]
1531 * Complete the unlock security screens and update a host of other
1532 small design issues. (LP: #1365034, LP: #1348362) (LP: #1365034,
1533 #1348362)
1534
1535 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 10 Oct 2014 18:02:19 +0000
1536
1537ubuntu-system-settings (0.3+14.10.20141009-0ubuntu1) utopic; urgency=low
1538
1539 [ Diego Sarmentero ]
1540 * Improves in network backend. Detect network connection and show
1541 "Connect to the internet..." message or retry on netword detected. .
1542 * Detect account added on online accounts (LP: #1362149)
1543
1544 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 09 Oct 2014 15:09:57 +0000
1545
1546ubuntu-system-settings (0.3+14.10.20141007-0ubuntu1) utopic; urgency=low
1547
1548 [ jonas-drange ]
1549 * [wifi/phone] dynamically chooses what SIM to use when there's only
1550 one present. (LP: #1375832)
1551
1552 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 07 Oct 2014 18:21:03 +0000
1553
1554ubuntu-system-settings (0.3+14.10.20141003-0ubuntu1) utopic; urgency=low
1555
1556 [ Iain Lane ]
1557 * [storage/about] Use a QSharedPointer to manage freeing of the
1558 counter which we use to display all of the collected sizes at once.
1559 If the measuring process was cancelled, we were freeing it multiple
1560 times - once for each outstanding size measurement. This led to a
1561 crash. (LP: #1375988)
1562 * [security-privacy] Link with gobject, uses symbols from this
1563 library. Prevents "[…]libUbuntuSecurityPrivacyPanel.so contains an
1564 unresolvable reference to symbol
1565 g_signal_handlers_disconnect_matched: it's probably a plugin"
1566 warnings.
1567
1568 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 03 Oct 2014 13:52:42 +0000
1569
1570ubuntu-system-settings (0.3+14.10.20141002-0ubuntu1) utopic; urgency=low
1571
1572 [ jonas-drange ]
1573 * [cellular] react to application.state changes and update potential
1574 out-of-date default SIM settings (LP: #1364103)
1575 * [wifi] let removed networks update the previous network model so
1576 that we can reuse the model (and not pop the pagestack twice,
1577 causing this ux issue) (LP: #1370389)
1578
1579 [ Sebastien Bacher ]
1580 * [location] use a flickable so the list can be scrolled (LP:
1581 #1374017)
1582 * [security] get localized application names from the trust-store (LP:
1583 #1374018)
1584
1585 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 02 Oct 2014 14:05:35 +0000
1586
1587ubuntu-system-settings (0.3+14.10.20141001-0ubuntu1) utopic; urgency=low
1588
1589 [ Ken VanDine ]
1590 * Fixed handling of the Downloading/Installing label based on actual
1591 state. . Forward updateProgress signals for system updates. Layout
1592 fixes (LP: #1312587)
1593 * Use new splash screen (LP: #1376242)
1594 * Improved tracking download states
1595 * Use new target_build_number from system-image-dbus to determine
1596 visibility of the update notification (LP: #1355803)
1597
1598 [ CI bot ]
1599 * Resync trunk
1600
1601 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 01 Oct 2014 16:01:54 +0000
1602
1603ubuntu-system-settings (0.3+14.10.20140926-0ubuntu1) utopic; urgency=low
1604
1605 [ Sebastien Bacher ]
1606 * [storage] use libclick rather than calling the command line (LP:
1607 #1368967)
1608 * [storage] tweaks to the disk informations, limit the free space to
1609 the user available one (excluding the system partitions), don't list
1610 the external mounts, that's described in the design and is going to
1611 require work on the categories computation to give correct values
1612 (LP: #1284247)
1613 * [about] display the free space value next to the storage label (LP:
1614 #1335144)
1615
1616 [ Albert Astals ]
1617 * Add i18n.tr
1618
1619 [ jonas-drange ]
1620 * [wifi] connect to hidden network is now a dialog (LP: #1366005)
1621
1622 [ Ken VanDine ]
1623 * Provide more keywords to make search useful (LP: #1370219) (LP:
1624 #1370219)
1625 * [background] set sourceSize in the image preview to work around an
1626 issue loading large images (LP: #1373462)
1627
1628 [ CI bot ]
1629 * Resync trunk
1630
1631 [ Mathieu Trudel-Lapierre ]
1632 * [bluetooth] Properly handle device types for connection and
1633 disconnection. (LP: #1369964)
1634
1635 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 26 Sep 2014 15:32:57 +0000
1636
1637ubuntu-system-settings (0.3+14.10.20140925-0ubuntu1) utopic; urgency=low
1638
1639 [ Michael Terry ]
1640 * Add a translator comment for what HERE means. (LP: #1368838) (LP:
1641 #1368838)
1642 * Prevent a crash in unity8 when the wizard also crashes or stops
1643 early. (LP: #1355892) (LP: #1355892)
1644
1645 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 25 Sep 2014 00:22:52 +0000
1646
1647ubuntu-system-settings (0.3+14.10.20140924.1-0ubuntu1) utopic; urgency=low
1648
1649 [ Michael Terry ]
1650 * Prevent the buttons of the wizard's password page from overlapping
1651 its content when the OSK appears. (LP: #1368346) (LP: #1368346)
1652
1653 [ Ken VanDine ]
1654 * Set the version information in the SystemUpdate constructor (LP:
1655 #1371810) (LP: #1371810)
1656 * [reset] Don't bail out on an isValid() check on the SystemImage
1657 QDBusInterface, the docs say isValid() may not be reliable for
1658 remote interfaces (LP: #1370815) (LP: #1370815)
1659 * Fixed reference error for count on the various device models (LP:
1660 #1362517) (LP: #1362517)
1661 * [background] Use the ContentPeerPicker to select sources for
1662 backgrounds (LP: #1356542) (LP: #1356542)
1663
1664 [ Iain Lane ]
1665 * Don't check if the timedated interface is valid before calling
1666 SetTime on it, it might have timed out and we should reactivate it
1667 in that case.
1668 * [about] Fix developerMode property to be QMLish - read & write
1669 instead of separate "read" and "toggle" properties.
1670 * [about] Don't display a frame for icons that can't be found,
1671 improving the visual appearance. Also return the correct path for
1672 click packages which use the icon theme.
1673
1674 [ Sebastien Bacher ]
1675 * [storage] handle the scope click .ini and get the correct icons (LP:
1676 #1368920)
1677
1678 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 24 Sep 2014 16:47:25 +0000
1679
1680ubuntu-system-settings (0.3+14.10.20140924-0ubuntu1) utopic; urgency=low
1681
1682 [ Albert Astals ]
1683 * make pot
1684
1685 [ Oliver Grawert ]
1686 * fix LP: #1365903, add a watch to Developer Mode page so the page
1687 gets refreshed when going back through the page stack, also fix the
1688 page id and bounds (LP: #1365903)
1689
1690 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 24 Sep 2014 11:10:54 +0000
1691
1692ubuntu-system-settings (0.3+14.10.20140917.1-0ubuntu2) UNRELEASED; urgency=medium
1693
1694 * Some packaging fixes
1695 - > is not a valid relationship. It should be >>
1696 - Don't recommend suru-icon-theme since we also depend on it
1697 - Bump S-V to 3.9.6 which for example allows the images we ship in
1698 /usr/lib/
1699 - Override binary-no-manpage lintian warnings. We're not going to get man
1700 pages for u-s-s any time soon
1701
1702 -- Iain Lane <iain.lane@canonical.com> Wed, 24 Sep 2014 12:12:26 +0100
1703
1704ubuntu-system-settings (0.3+14.10.20140917.1-0ubuntu1) utopic; urgency=low
1705
1706 [ Ken VanDine ]
1707 * Make UpdateManager a singleton and refresh the availableUpdates
1708 count when the model updates (LP: #1325629) (LP: #1325629)
1709
1710 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 17 Sep 2014 14:04:04 +0000
1711
1712ubuntu-system-settings (0.3+14.10.20140917-0ubuntu1) utopic; urgency=low
1713
1714 [ Ken VanDine ]
1715 * Include an icon instead of using the themed icon (LP: #1365408) (LP:
1716 #1365408)
1717
1718 [ Mathieu Trudel-Lapierre ]
1719 * [bluetooth] don't try to enable Discoverable if the device isn't
1720 powered yet. (LP: #1355904)
1721
1722 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 17 Sep 2014 02:19:38 +0000
1723
1724ubuntu-system-settings (0.3+14.10.20140915.1-0ubuntu1) utopic; urgency=low
1725
1726 [ Ken VanDine ]
1727 * When activated by a url request for a specific panel, clear the
1728 pageStack to maintain the natural navigation instead of pushing a
1729 new page on top of a page from a the previous panel (LP: #1362025)
1730 (LP: #1362025, #1359953)
1731
1732 [ Lars Uebernickel ]
1733 * Use Icon instead of StatusIcon
1734
1735 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 15 Sep 2014 23:26:16 +0000
1736
1737ubuntu-system-settings (0.3+14.10.20140915-0ubuntu1) utopic; urgency=low
1738
1739 [ CI bot ]
1740 * Resync trunk
1741
1742 [ John R. Lenton ]
1743 * Take the system settings push helper closer to implementing the spec
1744 at https://wiki.ubuntu.com/SoftwareUpdates#Prompting (LP: #1363972)
1745
1746 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 15 Sep 2014 13:54:48 +0000
1747
1748ubuntu-system-settings (0.3+14.10.20140913-0ubuntu1) utopic; urgency=low
1749
1750 [ Ken VanDine ]
1751 * Don't try to tweak the bottomMargin for the OSK, it was trying to
1752 calculate it based on an undefined component so failing. It
1753 shouldn't be needed anyway.
1754
1755 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Sat, 13 Sep 2014 02:46:25 +0000
1756
1757ubuntu-system-settings (0.3+14.10.20140912-0ubuntu1) utopic; urgency=low
1758
1759 [ jonas-drange ]
1760 * [wifi] "Other Network" -> "Connect to hidden network" (LP: #1365984)
1761 * [wifi] fix bad looking buttons in "Other Networks" panel (LP:
1762 #1362127)
1763
1764 [ Jussi Pakkanen ]
1765 * Hide entry to connect to hidden network when wifi is off. (LP:
1766 #1365960)
1767
1768 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 12 Sep 2014 20:43:55 +0000
1769
1770ubuntu-system-settings (0.3+14.10.20140911.3-0ubuntu1) utopic; urgency=low
1771
1772 [ Ken VanDine ]
1773 * Fixed tests for the dialpad settings failing on mako
1774 * Don't call downloadUpdate when we see a system update ready, the
1775 service does that for us (LP: #1368294) (LP: #1368294)
1776 * Translate desktop file (LP: #1318008) (LP: #1318008)
1777
1778 [ Martin Pitt ]
1779 * update POT
1780
1781 [ Sebastien Bacher ]
1782 * [system-update] open the ubuntuone subpanel rather than the list
1783 (LP: #1348580)
1784 * [security-privacy] use ngettext strings when needed (LP: #1368159)
1785 * Increase vertical spacing in the settings grid (LP: #1348579)
1786
1787 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 11 Sep 2014 21:08:06 +0000
1788
1789ubuntu-system-settings (0.3+14.10.20140911.1-0ubuntu1) utopic; urgency=low
1790
1791 [ jonas-drange ]
1792 * [background] always keep custom images, and remove press-and-hold
1793 action. (LP: #1365167)
1794 * [wifi] do not use predictive text for network name input (LP:
1795 #1365992)
1796 * [language] workaround for transition bug in keyboard layout menu
1797 (LP: #1350809)
1798 * [wifi] factory was setting the icon property, which was causing the
1799 icon to not render (LP: #1364366)
1800
1801 [ Alejandro J. Cura ]
1802 * Fixing the refreshing of the apps scope (LP: #1360369)
1803
1804 [ Sebastien Bacher ]
1805 * [sound] use the correct backend to control the keyboard sound toggle
1806 (LP: #1366208)
1807
1808 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 11 Sep 2014 04:15:10 +0000
1809
1810ubuntu-system-settings (0.3+14.10.20140911-0ubuntu1) utopic; urgency=low
1811
1812 [ Ken VanDine ]
1813 * Don't call downloadUpdate for system updates that are already
1814 downloading (LP: #1365646) (LP: #1311219, #1365646)
1815
1816 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 11 Sep 2014 00:42:18 +0000
1817
1818ubuntu-system-settings (0.3+14.10.20140909-0ubuntu1) utopic; urgency=low
1819
1820 [ Ken VanDine ]
1821 * Notify the user if the phone needs to be plug to power for update.
1822
1823 [ Sebastien Bacher ]
1824 * [system-update] don't draw a frame around ubuntu updates (LP:
1825 #1367136)
1826
1827 [ Mathieu Trudel-Lapierre ]
1828 * Also allow Speakers and Carkits as valid audio devices to pair.
1829
1830 [ Michael Terry ]
1831 * Allow switch from PIN code to passphrase and back using the same
1832 password. (LP: #1357043) (LP: #1357043)
1833 * Fix false-negatives from AccountsService when switching from swipe
1834 to password (LP: #1363405) (LP: #1363405)
1835
1836 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 09 Sep 2014 16:40:09 +0000
1837
1838ubuntu-system-settings (0.3+14.10.20140908.1-0ubuntu1) utopic; urgency=low
1839
1840 [ Ricardo Salveti de Araujo ]
1841 * sound: setting default audio role for ringtone and messages
1842
1843 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 08 Sep 2014 21:41:34 +0000
1844
1845ubuntu-system-settings (0.3+14.10.20140908-0ubuntu1) utopic; urgency=low
1846
1847 [ Michael Terry ]
1848 * Don't crash when destructing the Wizard.Utils.System plugin. This
1849 fixes the crash on wizard exit and the crash when pressing back on
1850 the HERE license.
1851
1852 [ CI bot ]
1853 * Resync trunk
1854
1855 [ Sebastien Bacher ]
1856 * [developer-mode] working scrolling and correct spacing
1857 * Use standard items for the categories and don't display dividers
1858 (LP: #1365563)
1859 * [orientation-lock] don't display a frame around the icon (LP:
1860 #1365450)
1861
1862 [ jonas-drange ]
1863 * [about/versions] create reusable component of singlevalue items that
1864 have long values (LP: #1363927)
1865
1866 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 08 Sep 2014 14:58:34 +0000
1867
1868ubuntu-system-settings (0.3+14.10.20140905.1-0ubuntu1) utopic; urgency=low
1869
1870 [ David Barth ]
1871 * Enable location panel, display contols for authorized applications.
1872
1873 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 05 Sep 2014 09:01:36 +0000
1874
1875ubuntu-system-settings (0.3+14.10.20140904.2-0ubuntu1) utopic; urgency=low
1876
1877 [ Ken VanDine ]
1878 * Tweak the depends for accountsservice-ubuntu-schemas to handle a "~"
1879 version
1880
1881 [ CI bot ]
1882 * Resync trunk
1883
1884 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 04 Sep 2014 21:04:28 +0000
1885
1886ubuntu-system-settings (0.3+14.10.20140904.1-0ubuntu1) utopic; urgency=low
1887
1888 [ Guillermo Gonzalez ]
1889 * Basic unittest for the push-helper script
1890
1891 [ Mathieu Trudel-Lapierre ]
1892 * Downgrade qFatal failure to register bluetooth agent to a qCritical.
1893
1894 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 04 Sep 2014 04:39:47 +0000
1895
1896ubuntu-system-settings (0.3+14.10.20140904-0ubuntu1) utopic; urgency=low
1897
1898 [ Andrea Cimitan ]
1899 * Various fixes for wifi wizard page (LP: #1362296)
1900
1901 [ Sebastien Bacher ]
1902 * [security] don't mark "%1" string as translatable
1903 * [security] give a translation context to the 'None' string (LP:
1904 #1362143)
1905 * [licenses] display an error when the copyright can't be read (LP:
1906 #1206150)
1907
1908 [ Michael Terry ]
1909 * Avoid another race condition when switching password types by
1910 completing all DBus operations synchronously as we exit the
1911 policykit agent. LP: 1361137 (LP: #1361137)
1912 * Fix the OSK not working on first boot. When the wizard closes, shut
1913 down maliit-server and the indicators so that unity8 can start them
1914 itself. LP: 1362679 (LP: #1362679)
1915
1916 [ jonas-drange ]
1917 * [about] print out phone numbers for dual sims as well
1918 * [about/wifi] adding mac addresses for bt and wifi, and ip for wifi
1919 (LP: #1356239)
1920 * [language] explain to the user that a reboot is necessary for the
1921 change to take effect (LP: #1240875)
1922
1923 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 04 Sep 2014 00:59:05 +0000
1924
1925ubuntu-system-settings (0.3+14.10.20140902.2-0ubuntu1) utopic; urgency=low
1926
1927 [ Michael Terry ]
1928 * Make the HERE license optional, clearly mark it as a HERE license
1929 instead of an Ubuntu license, and connect it to the HERE backend.
1930
1931 [ CI bot ]
1932 * Resync trunk
1933
1934 [ Martin Pitt ]
1935 * POT update
1936
1937 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 02 Sep 2014 23:27:15 +0000
1938
1939ubuntu-system-settings (0.3+14.10.20140829.2-0ubuntu1) utopic; urgency=low
1940
1941 [ Ken VanDine ]
1942 * Added setting for dialpad sounds to both the sound and phone panels.
1943
1944 [ CI bot ]
1945 * Resync trunk
1946
1947 [ Diego Sarmentero ]
1948 * Fix out of sync image download. Refresh scope after installation
1949 (LP: #1324923)
1950
1951 [ Sebastien Bacher ]
1952 * [battery] refresh the graph on a minute basis
1953 * [notifications] use normal text style and ubuntushaped icons
1954
1955 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 29 Aug 2014 20:48:28 +0000
1956
1957ubuntu-system-settings (0.3+14.10.20140829.1-0ubuntu1) utopic; urgency=low
1958
1959 [ Michael Terry ]
1960 * When changing to swipe mode, it was possible that our policykit
1961 agent would not unregister itself, making the next attempt to change
1962 modes appear to work, but in truth fail. Also, no longer ask for a
1963 password to switch to swipe mode if policykit has a cached
1964 authentication for us. (LP: #1350381)
1965
1966 [ Sebastien Bacher ]
1967 * [security] tweak some pin locking details to match the design better
1968
1969 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 29 Aug 2014 05:19:18 +0000
1970
1971ubuntu-system-settings (0.3+14.10.20140828.3-0ubuntu1) utopic; urgency=low
1972
1973 [ Michael Terry ]
1974 * Implement the "When locked, allow:" portion of the Security &
1975 Privacy panel, so now the user can control whether the launcher
1976 and/or indicators are available while locked. (LP: #1358340) (LP:
1977 #1358340)
1978
1979 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 28 Aug 2014 18:11:51 +0000
1980
1981ubuntu-system-settings (0.3+14.10.20140828.2-0ubuntu1) utopic; urgency=low
1982
1983 [ Michael Terry ]
1984 * Update look and feel of wizard to more closely match the visual
1985 design.
1986
1987 [ Jussi Pakkanen ]
1988 * Minor cleanups.
1989
1990 [ Roberto Alsina ]
1991 * Don't crash the push helper in locales that have no .mo file (LP:
1992 #1357506)
1993
1994 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Thu, 28 Aug 2014 13:55:40 +0000
1995
1996ubuntu-system-settings (0.3+14.10.20140827.3-0ubuntu1) utopic; urgency=low
1997
1998 [ Ken VanDine ]
1999 * SIM PIN lock implementation
2000
2001 [ jonas-drange ]
2002 * [main panel] add visual feedback on press
2003 * [cellular] uses modemtechnologies property from ofono to populate
2004 technology preference options (LP: #1346790)
2005
2006 [ Sebastien Bacher ]
2007 * [language] workaround inconsistent languages casing (LP: #1362123)
2008 * [background] Display the default background selected (LP: #1349329)
2009 * [storage] display translated names (LP: #1360207)
2010 * [updates] don't display animations when clicking on update rows (LP:
2011 #1360364)
2012 * [background] don't use an icon in the headerbar (LP: #1362122)
2013
2014 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 27 Aug 2014 22:19:17 +0000
2015
2016ubuntu-system-settings (0.3+14.10.20140827.1-0ubuntu1) utopic; urgency=low
2017
2018 [ Mathieu Trudel-Lapierre ]
2019 * Fix PIN code or passcode requests by properly matching the tag for
2020 the original request. (LP: #1355152)
2021
2022 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Wed, 27 Aug 2014 15:27:50 +0000
2023
2024ubuntu-system-settings (0.3+14.10.20140826.1-0ubuntu1) utopic; urgency=low
2025
2026 [ Martin Pitt ]
2027 * Update PO template
2028
2029 [ Sebastien Bacher ]
2030 * Include extra files for translations (LP: #1359267)
2031
2032 [ jonas-drange ]
2033 * [main panel] show rotation lock, point to correct setting
2034
2035 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 26 Aug 2014 15:48:48 +0000
2036
2037ubuntu-system-settings (0.3+14.10.20140826-0ubuntu1) utopic; urgency=low
2038
2039 [ Ken VanDine ]
2040 * Hide sleep locks immediately setting, which isn't implemented yet
2041 (LP: #1361297) (LP: #1361297)
2042
2043 [ Sebastien Bacher ]
2044 * [system-update] rework the ui to use a column rather than anchors,
2045 the layout is quite dynamic and it should be easier to position and
2046 stack widgets this way (LP: #1343172)
2047
2048 [ Michael Terry ]
2049 * After selecting the language, update the session environment
2050 immediately and restart indicators so that their notifications (like
2051 wifi prompt) are translated. (LP: #1354325)
2052
2053 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 26 Aug 2014 00:55:20 +0000
2054
2055ubuntu-system-settings (0.3+14.10.20140825-0ubuntu1) utopic; urgency=low
2056
2057 [ Ken VanDine ]
2058 * Added autopilot tests for security-privacy
2059
2060 [ jonas-drange ]
2061 * [phone] adding dual sim functionality to phone panel
2062
2063 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 25 Aug 2014 15:19:31 +0000
2064
2065ubuntu-system-settings (0.3+14.10.20140822.1-0ubuntu1) utopic; urgency=low
2066
2067 [ Charles Kerr ]
2068 * In the welcome wizard, refresh the text in the 'no sim card' and
2069 'all done' pages to match the latest from design.
2070
2071 [ Michael Terry ]
2072 * Add a location page and a terms and conditions page for the HERE
2073 service.
2074
2075 [ Ken VanDine ]
2076 * Settings for idle/lock timeout (LP: #1230345)
2077 * Added flickable to fix scrolling (LP: #1354161)
2078
2079 [ Jussi Pakkanen ]
2080 * Fix a bunch of compiler warnings.
2081
2082 [ jonas-drange ]
2083 * [cellular] displays cellular UIs based on how many SIMs are present.
2084 (LP: #1357393)
2085
2086 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 22 Aug 2014 18:57:00 +0000
2087
2088ubuntu-system-settings (0.3+14.10.20140819.1-0ubuntu1) utopic; urgency=low
2089
2090 [ Sebastien Bacher ]
2091 * [system-updates] set flickable to null, workaround an issue with the
2092 page widget (the panel opens with a listview on top, which the page
2093 use, but then a button is added between those and that's not well
2094 handled) (LP: #1356292)
2095
2096 [ Leo Arias ]
2097 * Made the wizard security options translatable. (LP: #1357605)
2098
2099 [ jonas-drange ]
2100 * [cellular] fix bug where the ui reverts tech pref to 2G and where
2101 ofono rejects 'any' (LP: #1355053)
2102
2103 [ Ken VanDine ]
2104 * Disable predictive text for the SIM name editor, it isn't terribly
2105 useful there and currently causes the field to get blocked when the
2106 keyboard is raised.
2107
2108 [ Martin Pitt ]
2109 * Mark for using language packs.
2110
2111 [ Alberto Mardegan ]
2112 * Other App Access: get icon from click package Improve the logic for
2113 retrieving the icon. (LP: #1356938)
2114
2115 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 19 Aug 2014 15:26:55 +0000
2116
2117ubuntu-system-settings (0.3+14.10.20140815-0ubuntu1) utopic; urgency=low
2118
2119 [ Michael Terry ]
2120 * Make the wizard properly handle devices with zero, one, or two SIM
2121 modem slots. Previously it assumed exactly one slot. (LP: #1332583)
2122
2123 [ jonas-drange ]
2124 * [main panel] point rotation lock at new backend and add (skipped)
2125 tests (LP: #1288332)
2126
2127 -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 15 Aug 2014 16:45:51 +0000
2128
2129>>>>>>> MERGE-SOURCE
1181ubuntu-system-settings (0.3+14.10.20140814.1-0ubuntu1) utopic; urgency=low2130ubuntu-system-settings (0.3+14.10.20140814.1-0ubuntu1) utopic; urgency=low
11822131
1183 [ CI bot ]2132 [ CI bot ]
11842133
=== modified file 'debian/control'
--- debian/control 2015-02-17 15:32:54 +0000
+++ debian/control 2015-02-27 05:54:50 +0000
@@ -40,12 +40,16 @@
40 pep8,40 pep8,
41 python3-pep8,41 python3-pep8,
42 pyflakes,42 pyflakes,
43<<<<<<< TREE
43 python3,44 python3,
44 python3-gi,45 python3-gi,
45 python3-dbus,46 python3-dbus,
46 python3-xdg,47 python3-xdg,
47 gir1.2-glib-2.048 gir1.2-glib-2.0
48Standards-Version: 3.9.649Standards-Version: 3.9.6
50=======
51Standards-Version: 3.9.6
52>>>>>>> MERGE-SOURCE
49Homepage: https://launchpad.net/ubuntu-system-settings53Homepage: https://launchpad.net/ubuntu-system-settings
50# If you aren't a member of ~system-settings-touch but need to upload packaging54# If you aren't a member of ~system-settings-touch but need to upload packaging
51# changes, just go ahead. ~system-settings-touch will notice and sync up the55# changes, just go ahead. ~system-settings-touch will notice and sync up the
@@ -71,12 +75,18 @@
71 qmenumodel-qml,75 qmenumodel-qml,
72 qtdeclarative5-folderlistmodel-plugin,76 qtdeclarative5-folderlistmodel-plugin,
73 qml-module-qtmultimedia | qml-module-qtmultimedia-gles,77 qml-module-qtmultimedia | qml-module-qtmultimedia-gles,
78 qml-module-ubuntu-connectivity,
74 qtdeclarative5-gsettings1.0 (>=0.1+14.10.20140801.1),79 qtdeclarative5-gsettings1.0 (>=0.1+14.10.20140801.1),
75 qtdeclarative5-ofono0.2 (>=0.70~),80 qtdeclarative5-ofono0.2 (>=0.70~),
76 qtdeclarative5-systeminfo-plugin,81 qtdeclarative5-systeminfo-plugin,
77 qtdeclarative5-ubuntu-content1,82 qtdeclarative5-ubuntu-content1,
83<<<<<<< TREE
78 qtdeclarative5-ubuntu-settings-components (>> 0.2),84 qtdeclarative5-ubuntu-settings-components (>> 0.2),
79 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1.1347) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1.1347),85 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1.1347) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1.1347),
86=======
87 qtdeclarative5-ubuntu-settings-components (>> 0.2),
88 qtdeclarative5-ubuntu-ui-toolkit-plugin (>= 1.1.1239) | qtdeclarative5-ubuntu-ui-toolkit-plugin-gles (>= 1.1.1239),
89>>>>>>> MERGE-SOURCE
80 suru-icon-theme,90 suru-icon-theme,
81 whoopsie-preferences (>= 0.9),91 whoopsie-preferences (>= 0.9),
82 libsystemsettings1 (= ${binary:Version}),92 libsystemsettings1 (= ${binary:Version}),
@@ -88,10 +98,15 @@
88 python3,98 python3,
89 python3-gi,99 python3-gi,
90 python3-dbus,100 python3-dbus,
101<<<<<<< TREE
91 python3-xdg,102 python3-xdg,
92 gir1.2-glib-2.0,103 gir1.2-glib-2.0,
93 qml-module-ubuntu-connectivity104 qml-module-ubuntu-connectivity
94Recommends: ubuntu-system-settings-online-accounts,105Recommends: ubuntu-system-settings-online-accounts,
106=======
107 gir1.2-glib-2.0
108Recommends: ubuntu-system-settings-online-accounts,
109>>>>>>> MERGE-SOURCE
95 ubuntu-touch-sounds,110 ubuntu-touch-sounds,
96Conflicts: ubuntu-system-settings-example111Conflicts: ubuntu-system-settings-example
97# ubuntu-push-client shipped the system settings push helper until 0.60:112# ubuntu-push-client shipped the system settings push helper until 0.60:
@@ -102,6 +117,23 @@
102 Ubuntu Touch images, it's designed for phones, tablets and convergent117 Ubuntu Touch images, it's designed for phones, tablets and convergent
103 devices.118 devices.
104119
120<<<<<<< TREE
121=======
122Package: ubuntu-system-settings-wizard
123Architecture: any
124Depends: ${misc:Depends},
125 ${shlibs:Depends},
126 qml-module-qtsysteminfo,
127 ubuntu-system-settings (= ${binary:Version}),
128 unity8 (>= 8.01),
129Recommends: qtdeclarative5-qtmir-plugin (>= 0.4)
130Conflicts: ubuntu-system-settings (<< 0.3)
131Breaks: ubuntu-system-settings (<< 0.3)
132Description: Welcome Wizard for Ubuntu Touch
133 This package contains the Welcome Wizard used on the Ubuntu Touch images,
134 it's designed for phones, tablets and convergent devices.
135
136>>>>>>> MERGE-SOURCE
105Package: libsystemsettings1137Package: libsystemsettings1
106Section: libs138Section: libs
107Architecture: any139Architecture: any
108140
=== modified file 'plugins/about/PageComponent.qml'
--- plugins/about/PageComponent.qml 2015-02-23 10:08:30 +0000
+++ plugins/about/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -39,6 +39,10 @@
39 id: backendInfos39 id: backendInfos
40 }40 }
4141
42 StorageInfo {
43 id: storageInfo
44 }
45
42 DeviceInfo {46 DeviceInfo {
43 id: deviceInfos47 id: deviceInfos
44 }48 }
@@ -164,8 +168,13 @@
164 id: storageItem168 id: storageItem
165 objectName: "storageItem"169 objectName: "storageItem"
166 text: i18n.tr("Storage")170 text: i18n.tr("Storage")
171<<<<<<< TREE
167 /* TRANSLATORS: that's the free disk space, indicated in the most appropriate storage unit */172 /* TRANSLATORS: that's the free disk space, indicated in the most appropriate storage unit */
168 value: i18n.tr("%1 free").arg(Utilities.formatSize(backendInfos.getFreeSpace("/home")))173 value: i18n.tr("%1 free").arg(Utilities.formatSize(backendInfos.getFreeSpace("/home")))
174=======
175 /* TRANSLATORS: that's the free disk space, indicated in the most appropriate storage unit */
176 value: i18n.tr("%1 free").arg(backendInfos.formatSize(storageInfo.availableDiskSpace("/home")))
177>>>>>>> MERGE-SOURCE
169 progression: true178 progression: true
170 onClicked: pageStack.push(Qt.resolvedUrl("Storage.qml"))179 onClicked: pageStack.push(Qt.resolvedUrl("Storage.qml"))
171 }180 }
172181
=== modified file 'plugins/about/Storage.qml'
--- plugins/about/Storage.qml 2015-02-18 15:35:11 +0000
+++ plugins/about/Storage.qml 2015-02-27 05:54:50 +0000
@@ -40,10 +40,17 @@
40 for (var i = 0; i < systemDrives.length; i++) {40 for (var i = 0; i < systemDrives.length; i++) {
41 var drive = systemDrives[i]41 var drive = systemDrives[i]
42 var path = backendInfo.getDevicePath(drive)42 var path = backendInfo.getDevicePath(drive)
43<<<<<<< TREE
43 /* only deal with the device's storage for now, external mounts44 /* only deal with the device's storage for now, external mounts
44 handling would require being smarter on the categories45 handling would require being smarter on the categories
45 computation as well and is not in the current design */46 computation as well and is not in the current design */
46 if (backendInfo.isInternal(drive) &&47 if (backendInfo.isInternal(drive) &&
48=======
49 /* only deal with the device's storage for now, external mounts
50 handling would require being smarter on the categories
51 computation as well and is not in the current design */
52 if ((type === StorageInfo.InternalDrive) &&
53>>>>>>> MERGE-SOURCE
47 paths.indexOf(path) == -1 && // Haven't seen this device before54 paths.indexOf(path) == -1 && // Haven't seen this device before
48 path.charAt(0) === "/") { // Has a real mount point55 path.charAt(0) === "/") { // Has a real mount point
49 drives.push(drive)56 drives.push(drive)
@@ -61,7 +68,11 @@
61 }68 }
62 /* Limit the free space to the user available one (see bug #1374134) */69 /* Limit the free space to the user available one (see bug #1374134) */
63 property real freediskSpace: {70 property real freediskSpace: {
71<<<<<<< TREE
64 return backendInfo.getFreeSpace("/home")72 return backendInfo.getFreeSpace("/home")
73=======
74 return storageInfo.availableDiskSpace("/home")
75>>>>>>> MERGE-SOURCE
65 }76 }
6677
67 property real usedByUbuntu: diskSpace -78 property real usedByUbuntu: diskSpace -
6879
=== modified file 'plugins/about/click.cpp'
--- plugins/about/click.cpp 2014-10-31 08:34:19 +0000
+++ plugins/about/click.cpp 2015-02-27 05:54:50 +0000
@@ -43,10 +43,16 @@
43 *43 *
44 * Will set with information from the first desktop or ini file found and parsed.44 * Will set with information from the first desktop or ini file found and parsed.
45 */45 */
46<<<<<<< TREE
46void ClickModel::populateFromDesktopOrIniFile (Click *newClick,47void ClickModel::populateFromDesktopOrIniFile (Click *newClick,
47 QVariantMap hooks,48 QVariantMap hooks,
48 QDir directory,49 QDir directory,
49 QString name)50 QString name)
51=======
52void ClickModel::populateFromDesktopOrIniFile (Click *newClick,
53 QVariantMap hooks,
54 QDir directory)
55>>>>>>> MERGE-SOURCE
50{56{
51 QVariantMap appHooks;57 QVariantMap appHooks;
52 GKeyFile *appinfo = g_key_file_new();58 GKeyFile *appinfo = g_key_file_new();
@@ -65,6 +71,7 @@
65 if (!appHooks.isEmpty() &&71 if (!appHooks.isEmpty() &&
66 (appHooks.contains("desktop") || appHooks.contains("scope")) &&72 (appHooks.contains("desktop") || appHooks.contains("scope")) &&
67 directory.exists()) {73 directory.exists()) {
74<<<<<<< TREE
6875
69 if (appHooks.contains("scope"))76 if (appHooks.contains("scope"))
70 {77 {
@@ -103,6 +110,50 @@
103 g_debug ("Desktop or ini file: %s", desktopOrIniFileName);110 g_debug ("Desktop or ini file: %s", desktopOrIniFileName);
104111
105112
113=======
114
115 if (appHooks.contains("scope"))
116 {
117 keyGroup = "ScopeConfig";
118 keyName = "DisplayName";
119
120 QDir scopeDirectory(
121 directory.absoluteFilePath(appHooks.value("scope", "").toString()));
122 scopeDirectory.setNameFilters(QStringList()<<"*.ini");
123
124 QStringList iniEntry(scopeDirectory.entryList());
125
126 if (iniEntry.isEmpty())
127 goto out;
128
129 QFile desktopOrIniFile(scopeDirectory.absoluteFilePath(iniEntry[0]));
130 desktopOrIniFileName =
131 g_strdup(desktopOrIniFile.fileName().toLocal8Bit().constData());
132 if (!desktopOrIniFile.exists())
133 goto out;
134
135 /* replace directory so the icon is correctly loaded */
136 directory = scopeDirectory;
137 }
138 else
139 {
140 keyGroup = G_KEY_FILE_DESKTOP_GROUP;
141 keyName = G_KEY_FILE_DESKTOP_KEY_NAME;
142
143 QFile desktopOrIniFile(directory.absoluteFilePath(
144 appHooks.value("desktop", "undefined").toString()));
145
146 desktopOrIniFileName =
147 g_strdup(desktopOrIniFile.fileName().toLocal8Bit().constData());
148
149 if (!desktopOrIniFile.exists())
150 goto out;
151 }
152
153 g_debug ("Desktop or ini file: %s", desktopOrIniFileName);
154
155
156>>>>>>> MERGE-SOURCE
106157
107 gboolean loaded = g_key_file_load_from_file(appinfo,158 gboolean loaded = g_key_file_load_from_file(appinfo,
108 desktopOrIniFileName,159 desktopOrIniFileName,
@@ -189,9 +240,14 @@
189240
190 if (hooks.isValid()) {241 if (hooks.isValid()) {
191 QVariantMap allHooks(hooks.toMap());242 QVariantMap allHooks(hooks.toMap());
243<<<<<<< TREE
192 // The desktop or ini file contains an icon and the display name244 // The desktop or ini file contains an icon and the display name
193 populateFromDesktopOrIniFile(&newClick, allHooks, directory,245 populateFromDesktopOrIniFile(&newClick, allHooks, directory,
194 manifest.value("name", "").toString());246 manifest.value("name", "").toString());
247=======
248 // The desktop or ini file contains an icon and the display name
249 populateFromDesktopOrIniFile(&newClick, allHooks, directory);
250>>>>>>> MERGE-SOURCE
195 }251 }
196252
197 newClick.installSize = manifest.value("installed-size",253 newClick.installSize = manifest.value("installed-size",
198254
=== modified file 'plugins/about/click.h'
--- plugins/about/click.h 2014-10-31 08:34:19 +0000
+++ plugins/about/click.h 2015-02-27 05:54:50 +0000
@@ -56,10 +56,16 @@
56 quint64 getClickSize() const;56 quint64 getClickSize() const;
5757
58private:58private:
59<<<<<<< TREE
59 void populateFromDesktopOrIniFile(Click *newClick,60 void populateFromDesktopOrIniFile(Click *newClick,
60 QVariantMap hooks,61 QVariantMap hooks,
61 QDir directory,62 QDir directory,
62 QString name);63 QString name);
64=======
65 void populateFromDesktopOrIniFile(Click *newClick,
66 QVariantMap hooks,
67 QDir directory);
68>>>>>>> MERGE-SOURCE
63 Click buildClick(QVariantMap manifest);69 Click buildClick(QVariantMap manifest);
64 QList<Click> buildClickList();70 QList<Click> buildClickList();
6571
6672
=== modified file 'plugins/about/storageabout.cpp'
--- plugins/about/storageabout.cpp 2015-02-18 12:06:06 +0000
+++ plugins/about/storageabout.cpp 2015-02-27 05:54:50 +0000
@@ -344,10 +344,19 @@
344QString StorageAbout::getDevicePath(const QString mount_point)344QString StorageAbout::getDevicePath(const QString mount_point)
345{345{
346 QString s_mount_point;346 QString s_mount_point;
347 GUnixMountEntry * g_mount_point = nullptr;347<<<<<<< TREE
348 GUnixMountEntry * g_mount_point = nullptr;
349=======
350
351 GUnixMountEntry * g_mount_point = nullptr;
352>>>>>>> MERGE-SOURCE
348353
349 if (!mount_point.isNull() && !mount_point.isEmpty()) {354 if (!mount_point.isNull() && !mount_point.isEmpty()) {
355<<<<<<< TREE
350 g_mount_point = g_unix_mount_at(mount_point.toLocal8Bit(), nullptr);356 g_mount_point = g_unix_mount_at(mount_point.toLocal8Bit(), nullptr);
357=======
358 g_mount_point = g_unix_mount_at(mount_point.toLocal8Bit(), nullptr);
359>>>>>>> MERGE-SOURCE
351 }360 }
352361
353 if (g_mount_point) {362 if (g_mount_point) {
354363
=== modified file 'plugins/about/storageabout.h'
--- plugins/about/storageabout.h 2015-02-19 02:08:15 +0000
+++ plugins/about/storageabout.h 2015-02-27 05:54:50 +0000
@@ -91,9 +91,16 @@
91 READ ubuntuBuildID91 READ ubuntuBuildID
92 CONSTANT)92 CONSTANT)
9393
94<<<<<<< TREE
94 Q_PROPERTY(bool developerMode95 Q_PROPERTY(bool developerMode
95 READ getDeveloperMode96 READ getDeveloperMode
96 WRITE setDeveloperMode)97 WRITE setDeveloperMode)
98=======
99 Q_PROPERTY(bool developerMode
100 READ getDeveloperMode
101 WRITE setDeveloperMode
102 CONSTANT)
103>>>>>>> MERGE-SOURCE
97104
98public:105public:
99 explicit StorageAbout(QObject *parent = 0);106 explicit StorageAbout(QObject *parent = 0);
100107
=== modified file 'plugins/bluetooth/PageComponent.qml'
--- plugins/bluetooth/PageComponent.qml 2015-02-10 11:19:53 +0000
+++ plugins/bluetooth/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -29,11 +29,16 @@
2929
30ItemPage {30ItemPage {
31 id: root31 id: root
32<<<<<<< TREE
32 title: i18n.tr("Bluetooth")33 title: i18n.tr("Bluetooth")
33 objectName: "bluetoothPage"34 objectName: "bluetoothPage"
3435
35 property var dialogPopupId36 property var dialogPopupId
3637
38=======
39 title: i18n.tr("Bluetooth")
40
41>>>>>>> MERGE-SOURCE
37 UbuntuBluetoothPanel { id: backend }42 UbuntuBluetoothPanel { id: backend }
3843
39 Component {44 Component {
@@ -73,6 +78,7 @@
73 onPinCodeNeeded: {78 onPinCodeNeeded: {
74 var request_tag = tag79 var request_tag = tag
75 var popup = PopupUtils.open(providePinCodeDialog, root, {name: device.name})80 var popup = PopupUtils.open(providePinCodeDialog, root, {name: device.name})
81<<<<<<< TREE
76 popup.canceled.connect(function() {target.providePinCode(request_tag, false, "")})82 popup.canceled.connect(function() {target.providePinCode(request_tag, false, "")})
77 popup.provided.connect(function(pinCode) {target.providePinCode(request_tag, true, pinCode)})83 popup.provided.connect(function(pinCode) {target.providePinCode(request_tag, true, pinCode)})
78 }84 }
@@ -93,6 +99,10 @@
93 onPairingDone: {99 onPairingDone: {
94 if (root.dialogPopupId)100 if (root.dialogPopupId)
95 PopupUtils.close(root.dialogPopupId)101 PopupUtils.close(root.dialogPopupId)
102=======
103 popup.canceled.connect(function() {target.providePinCode(request_tag, false, "")})
104 popup.provided.connect(function(pinCode) {target.providePinCode(request_tag, true, pinCode)})
105>>>>>>> MERGE-SOURCE
96 }106 }
97 }107 }
98108
@@ -238,6 +248,7 @@
238248
239 Column {249 Column {
240 id: connectedList250 id: connectedList
251<<<<<<< TREE
241 anchors {252 anchors {
242 left: parent.left253 left: parent.left
243 right: parent.right254 right: parent.right
@@ -262,6 +273,31 @@
262 }273 }
263 progression: true274 progression: true
264 }275 }
276=======
277 anchors {
278 left: parent.left
279 right: parent.right
280 }
281 visible: bluetoothActionGroup.enabled && (connectedRepeater.count > 0)
282
283 Repeater {
284 id: connectedRepeater
285 model: backend.connectedDevices
286 delegate: ListItem.Standard {
287 iconSource: iconPath
288 iconFrame: false
289 text: getDisplayName(type, displayName)
290 control: ActivityIndicator {
291 visible: connection == Device.Connecting
292 running: true
293 }
294 onClicked: {
295 backend.setSelectedDevice(addressName);
296 pageStack.push(connectedDevicePage);
297 }
298 progression: true
299 }
300>>>>>>> MERGE-SOURCE
265 }301 }
266 }302 }
267303
@@ -279,6 +315,7 @@
279315
280 Column {316 Column {
281 id: disconnectedList317 id: disconnectedList
318<<<<<<< TREE
282 anchors {319 anchors {
283 left: parent.left320 left: parent.left
284 right: parent.right321 right: parent.right
@@ -298,6 +335,27 @@
298 pageStack.push(connectedDevicePage);335 pageStack.push(connectedDevicePage);
299 }336 }
300 progression: true337 progression: true
338=======
339 anchors {
340 left: parent.left
341 right: parent.right
342 }
343 visible: bluetoothActionGroup.enabled && (disconnectedRepeater.count > 0)
344
345 Repeater {
346 id: disconnectedRepeater
347 model: backend.disconnectedDevices
348 delegate: ListItem.Standard {
349 iconSource: iconPath
350 iconFrame: false
351 text: getDisplayName(type, displayName)
352 enabled: backend.isSupportedType(type)
353 onClicked: {
354 backend.setSelectedDevice(addressName);
355 pageStack.push(connectedDevicePage);
356 }
357 progression: true
358>>>>>>> MERGE-SOURCE
301 }359 }
302 }360 }
303 }361 }
@@ -353,6 +411,7 @@
353411
354 Flickable {412 Flickable {
355 anchors.fill: parent413 anchors.fill: parent
414<<<<<<< TREE
356 contentHeight: contentItem.childrenRect.height415 contentHeight: contentItem.childrenRect.height
357 boundsBehavior: (contentHeight > root.height) ?416 boundsBehavior: (contentHeight > root.height) ?
358 Flickable.DragAndOvershootBounds :417 Flickable.DragAndOvershootBounds :
@@ -463,6 +522,117 @@
463 }522 }
464 enabled: backend.selectedDevice && backend.selectedDevice.path.length > 0 ? true : false523 enabled: backend.selectedDevice && backend.selectedDevice.path.length > 0 ? true : false
465 }524 }
525=======
526 contentHeight: contentItem.childrenRect.height
527 boundsBehavior: (contentHeight > root.height) ?
528 Flickable.DragAndOvershootBounds :
529 Flickable.StopAtBounds
530 /* Set the direction to workaround https://bugreports.qt-project.org/browse/QTBUG-31905
531 otherwise the UI might end up in a situation where scrolling doesn't work */
532 flickableDirection: Flickable.VerticalFlick
533
534 Column {
535 anchors {
536 left: parent.left
537 right: parent.right
538 }
539
540 ListItem.SingleValue {
541 text: i18n.tr("Name")
542 value: backend.selectedDevice &&
543 backend.selectedDevice.name.length > 0 ?
544 backend.selectedDevice.name :
545 i18n.tr("None")
546 }
547 ListItem.Standard {
548 Rectangle {
549 color: "transparent"
550 anchors.fill: parent
551 anchors.topMargin: units.gu(1)
552 anchors.leftMargin: units.gu(2)
553 anchors.rightMargin: units.gu(2)
554
555 Label {
556 anchors {
557 top: parent.top
558 left: parent.left
559 topMargin: units.gu(1)
560 }
561 height: units.gu(3)
562 text: i18n.tr("Type")
563 }
564 Image {
565 anchors {
566 right: deviceType.left
567 rightMargin: units.gu(1)
568 }
569 height: units.gu(4)
570 width: units.gu(4)
571 source: backend.selectedDevice ? backend.selectedDevice.iconName : ""
572 }
573 Label {
574 id: deviceType
575 anchors {
576 top: parent.top
577 right: parent.right
578 topMargin: units.gu(1)
579 }
580 height: units.gu(3)
581 text: getTypeString(backend.selectedDevice ? backend.selectedDevice.type : Device.OTHER)
582 }
583 }
584 }
585 ListItem.SingleValue {
586 text: i18n.tr("Status")
587 value: getStatusString(backend.selectedDevice ? backend.selectedDevice.connection : Device.Disconnected)
588 }
589 ListItem.SingleValue {
590 text: i18n.tr("Signal Strength")
591 value: getSignalString(backend.selectedDevice ? backend.selectedDevice.strength : Device.None)
592 }
593 ListItem.Standard {
594 id: trustedCheck
595 text: i18n.tr("Connect automatically when detected:")
596 control: CheckBox {
597 property bool serverChecked: backend.selectedDevice ? backend.selectedDevice.trusted : false
598 onServerCheckedChanged: checked = serverChecked
599 Component.onCompleted: checked = serverChecked
600 onTriggered: {
601 if (backend.selectedDevice) {
602 backend.selectedDevice.trusted = checked;
603 }
604 }
605 }
606 }
607 ListItem.SingleControl {
608 control: Button {
609 text: backend.selectedDevice && (backend.selectedDevice.connection == Device.Connected || backend.selectedDevice.connection == Device.Connecting) ? i18n.tr("Disconnect") : i18n.tr("Connect")
610 width: parent.width - units.gu(8)
611 onClicked: {
612 if (backend.selectedDevice
613 && (backend.selectedDevice.connection == Device.Connected
614 || backend.selectedDevice.connection == Device.Connecting)) {
615 backend.disconnectDevice();
616 } else {
617 backend.stopDiscovery()
618 backend.connectDevice(backend.selectedDevice.address);
619 }
620 pageStack.pop();
621 }
622 visible: backend.selectedDevice ? true : false
623 }
624 }
625 ListItem.SingleControl {
626 control: Button {
627 text: i18n.tr("Forget this device")
628 width: parent.width - units.gu(8)
629 onClicked: {
630 backend.removeDevice();
631 pageStack.pop();
632 }
633 enabled: backend.selectedDevice && backend.selectedDevice.path.length > 0 ? true : false
634 }
635>>>>>>> MERGE-SOURCE
466 }636 }
467 }637 }
468 }638 }
469639
=== modified file 'plugins/bluetooth/agent.cpp'
--- plugins/bluetooth/agent.cpp 2015-02-04 16:32:54 +0000
+++ plugins/bluetooth/agent.cpp 2015-02-27 05:54:50 +0000
@@ -22,6 +22,10 @@
2222
23#include <cassert>23#include <cassert>
2424
25<<<<<<< TREE
26=======
27
28>>>>>>> MERGE-SOURCE
25/***29/***
26****30****
27***/31***/
2832
=== modified file 'plugins/bluetooth/agent.h'
=== modified file 'plugins/bluetooth/agentadaptor.h'
--- plugins/bluetooth/agentadaptor.h 2015-02-04 10:48:47 +0000
+++ plugins/bluetooth/agentadaptor.h 2015-02-27 05:54:50 +0000
@@ -62,7 +62,7 @@
62" </interface>\n"62" </interface>\n"
63 "")63 "")
64public:64public:
65 AgentAdaptor(QObject *parent);65 explicit AgentAdaptor(QObject *parent);
66 virtual ~AgentAdaptor();66 virtual ~AgentAdaptor();
6767
68public: // PROPERTIES68public: // PROPERTIES
6969
=== modified file 'plugins/bluetooth/bluetooth.cpp'
--- plugins/bluetooth/bluetooth.cpp 2015-02-10 11:19:53 +0000
+++ plugins/bluetooth/bluetooth.cpp 2015-02-27 05:54:50 +0000
@@ -39,8 +39,13 @@
39{39{
40 // export our Agent to handle pairing requests40 // export our Agent to handle pairing requests
41 new AgentAdaptor(&m_agent);41 new AgentAdaptor(&m_agent);
42<<<<<<< TREE
42 if(!m_dbus.registerObject(DBUS_AGENT_PATH, &m_agent))43 if(!m_dbus.registerObject(DBUS_AGENT_PATH, &m_agent))
43 qCritical() << "Couldn't register agent at" << DBUS_AGENT_PATH;44 qCritical() << "Couldn't register agent at" << DBUS_AGENT_PATH;
45=======
46 if(!m_dbus.registerObject(DBUS_ADAPTER_AGENT_PATH, &m_agent))
47 qCritical() << "Couldn't register agent at" << DBUS_ADAPTER_AGENT_PATH;
48>>>>>>> MERGE-SOURCE
4449
45 m_connectedDevices.filterOnConnections(Device::Connection::Connected |50 m_connectedDevices.filterOnConnections(Device::Connection::Connected |
46 Device::Connection::Connecting |51 Device::Connection::Connecting |
@@ -157,6 +162,7 @@
157void Bluetooth::disconnectDevice()162void Bluetooth::disconnectDevice()
158{163{
159 if (m_selectedDevice) {164 if (m_selectedDevice) {
165<<<<<<< TREE
160 auto type = m_selectedDevice->getType();166 auto type = m_selectedDevice->getType();
161 switch ((Device::Type)type) {167 switch ((Device::Type)type) {
162 case Device::Type::Headset:168 case Device::Type::Headset:
@@ -174,6 +180,21 @@
174 qWarning() << "Nothing to disconnect: Unsupported device type.";180 qWarning() << "Nothing to disconnect: Unsupported device type.";
175 break;181 break;
176 }182 }
183=======
184 auto type = m_selectedDevice->getType();
185 switch ((Device::Type)type) {
186 case Device::Type::Headset:
187 case Device::Type::Headphones:
188 case Device::Type::OtherAudio:
189 case Device::Type::Speakers:
190 case Device::Type::Carkit:
191 m_selectedDevice->disconnect(Device::ConnectionMode::Audio);
192 break;
193 default:
194 qWarning() << "Nothing to disconnect: Unsupported device type.";
195 break;
196 }
197>>>>>>> MERGE-SOURCE
177 } else {198 } else {
178 qWarning() << "No selected device to disconnect";199 qWarning() << "No selected device to disconnect";
179 }200 }
@@ -191,6 +212,7 @@
191 }212 }
192213
193 type = device->getType();214 type = device->getType();
215<<<<<<< TREE
194 switch (type) {216 switch (type) {
195 case Device::Type::Headset:217 case Device::Type::Headset:
196 case Device::Type::Headphones:218 case Device::Type::Headphones:
@@ -207,12 +229,26 @@
207 qWarning() << "Nothing to connect: Unsupported device type.";229 qWarning() << "Nothing to connect: Unsupported device type.";
208 return;230 return;
209 }231 }
232=======
233 switch (type) {
234 case Device::Type::Headset:
235 case Device::Type::Headphones:
236 case Device::Type::OtherAudio:
237 case Device::Type::Speakers:
238 case Device::Type::Carkit:
239 connMode = Device::ConnectionMode::Audio;
240 break;
241 default:
242 qWarning() << "Nothing to connect: Unsupported device type.";
243 return;
244 }
245>>>>>>> MERGE-SOURCE
210246
211 if (device->isTrusted()) {247 if (device->isTrusted()) {
212 device->connect(connMode);248 device->connect(connMode);
213 } else {249 } else {
214 m_devices.addConnectAfterPairing(address, connMode);250 m_devices.addConnectAfterPairing(address, connMode);
215 m_devices.createDevice(address);251 m_devices.createDevice(address, &m_agent);
216 }252 }
217}253}
218254
219255
=== modified file 'plugins/bluetooth/bluetooth.h'
--- plugins/bluetooth/bluetooth.h 2015-02-10 11:19:53 +0000
+++ plugins/bluetooth/bluetooth.h 2015-02-27 05:54:50 +0000
@@ -48,8 +48,12 @@
48 NOTIFY selectedDeviceChanged)48 NOTIFY selectedDeviceChanged)
4949
50 Q_PROPERTY (QObject * agent50 Q_PROPERTY (QObject * agent
51<<<<<<< TREE
51 READ getAgent52 READ getAgent
52 CONSTANT)53 CONSTANT)
54=======
55 READ getAgent)
56>>>>>>> MERGE-SOURCE
5357
54 Q_PROPERTY (bool powered58 Q_PROPERTY (bool powered
55 READ isPowered59 READ isPowered
5660
=== modified file 'plugins/bluetooth/dbus-shared.h'
--- plugins/bluetooth/dbus-shared.h 2013-09-23 02:55:58 +0000
+++ plugins/bluetooth/dbus-shared.h 2015-02-27 05:54:50 +0000
@@ -21,6 +21,7 @@
21#define USS_DBUS_SHARED_H21#define USS_DBUS_SHARED_H
2222
23#define DBUS_AGENT_PATH "/com/canonical/SettingsBluetoothAgent"23#define DBUS_AGENT_PATH "/com/canonical/SettingsBluetoothAgent"
24#define DBUS_ADAPTER_AGENT_PATH "/com/canonical/SettingsBluetoothAgent/adapteragent"
24#define DBUS_AGENT_CAPABILITY "DisplayYesNo"25#define DBUS_AGENT_CAPABILITY "DisplayYesNo"
2526
26#endif // USS_DBUS_SHARED_H27#endif // USS_DBUS_SHARED_H
2728
=== modified file 'plugins/bluetooth/device.cpp'
=== modified file 'plugins/bluetooth/device.h'
=== modified file 'plugins/bluetooth/devicemodel.cpp'
--- plugins/bluetooth/devicemodel.cpp 2015-02-18 15:13:40 +0000
+++ plugins/bluetooth/devicemodel.cpp 2015-02-27 05:54:50 +0000
@@ -194,6 +194,12 @@
194 connect(&m_discoverableTimer, SIGNAL(timeout()), this, SLOT(slotEnableDiscoverable()));194 connect(&m_discoverableTimer, SIGNAL(timeout()), this, SLOT(slotEnableDiscoverable()));
195 m_discoverableTimer.start(1000);195 m_discoverableTimer.start(1000);
196196
197 // With the agent registered on the bus, make it known by the adapter
198 QDBusReply<void > reply = m_bluezAdapter->call("RegisterAgent",
199 qVariantFromValue(QDBusObjectPath(DBUS_ADAPTER_AGENT_PATH)),
200 QString(DBUS_AGENT_CAPABILITY));
201 if (!reply.isValid())
202 qWarning() << "Error registering agent for the default adapter:" << reply.error();
197 }203 }
198}204}
199205
@@ -462,12 +468,20 @@
462 call->deleteLater();468 call->deleteLater();
463}469}
464470
465void DeviceModel::createDevice (const QString &address)471void DeviceModel::createDevice (const QString &address, QObject *agent)
466{472{
467 if (m_bluezAdapter) {473 if (m_bluezAdapter) {
474 QString agent_path(DBUS_AGENT_PATH);
475 agent_path.append("/");
476 agent_path.append(address);
477 agent_path.replace(":", "_");
478
479 if(!m_dbus.registerObject(agent_path, agent))
480 qCritical() << "Couldn't register agent at" << agent_path;
481
468 QDBusPendingCall pcall = m_bluezAdapter->asyncCall("CreatePairedDevice",482 QDBusPendingCall pcall = m_bluezAdapter->asyncCall("CreatePairedDevice",
469 address,483 address,
470 qVariantFromValue(QDBusObjectPath(DBUS_AGENT_PATH)),484 qVariantFromValue(QDBusObjectPath(agent_path)),
471 QString(DBUS_AGENT_CAPABILITY));485 QString(DBUS_AGENT_CAPABILITY));
472486
473 QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);487 QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(pcall, this);
@@ -541,6 +555,7 @@
541555
542 switch (role) {556 switch (role) {
543 case Qt::DisplayRole:557 case Qt::DisplayRole:
558<<<<<<< TREE
544 displayName = device->getName();559 displayName = device->getName();
545 560
546 if (displayName.isEmpty())561 if (displayName.isEmpty())
@@ -550,6 +565,17 @@
550 displayName.append("…");565 displayName.append("…");
551566
552 ret = displayName;567 ret = displayName;
568=======
569 displayName = device->getName();
570
571 if (displayName.isEmpty())
572 displayName = device->getAddress();
573
574 if (!device->isPaired())
575 displayName.append("…");
576
577 ret = displayName;
578>>>>>>> MERGE-SOURCE
553 break;579 break;
554580
555 case IconRole:581 case IconRole:
556582
=== modified file 'plugins/bluetooth/devicemodel.h'
--- plugins/bluetooth/devicemodel.h 2014-08-11 09:18:12 +0000
+++ plugins/bluetooth/devicemodel.h 2015-02-27 05:54:50 +0000
@@ -69,7 +69,7 @@
69 bool isDiscovering() const { return m_isDiscovering; }69 bool isDiscovering() const { return m_isDiscovering; }
70 bool isDiscoverable() const { return m_isDiscoverable; }70 bool isDiscoverable() const { return m_isDiscoverable; }
71 void addConnectAfterPairing(const QString &address, Device::ConnectionMode mode);71 void addConnectAfterPairing(const QString &address, Device::ConnectionMode mode);
72 void createDevice(const QString &address);72 void createDevice(const QString &address, QObject *agent);
73 void removeDevice(const QString &path);73 void removeDevice(const QString &path);
74 void stopDiscovery();74 void stopDiscovery();
75 void startDiscovery();75 void startDiscovery();
7676
=== modified file 'plugins/cellular/Components/DataMultiSim.qml'
--- plugins/cellular/Components/DataMultiSim.qml 2015-01-20 12:23:34 +0000
+++ plugins/cellular/Components/DataMultiSim.qml 2015-02-27 05:54:50 +0000
@@ -35,12 +35,20 @@
35 }35 }
3636
37 height: childrenRect.height37 height: childrenRect.height
38<<<<<<< TREE
3839
39 SettingsItemTitle { text: i18n.tr("Cellular data:") }40 SettingsItemTitle { text: i18n.tr("Cellular data:") }
41=======
42>>>>>>> MERGE-SOURCE
4043
41 ListItem.ItemSelector {44 ListItem.ItemSelector {
42 id: use45 id: use
43 objectName: "data"46<<<<<<< TREE
47 objectName: "data"
48=======
49 objectName: "data"
50 text: i18n.tr("Cellular data:")
51>>>>>>> MERGE-SOURCE
44 expanded: true52 expanded: true
45 model: {53 model: {
46 // create a model of 'off' and all sim paths54 // create a model of 'off' and all sim paths
4755
=== modified file 'plugins/cellular/Components/DefaultSim.qml'
=== modified file 'plugins/cellular/Components/NoSim.qml'
--- plugins/cellular/Components/NoSim.qml 2015-02-13 09:50:19 +0000
+++ plugins/cellular/Components/NoSim.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * Copyright (C) 2014 Canonical Ltd3 * Copyright (C) 2014 Canonical Ltd
3 *4 *
@@ -48,3 +49,49 @@
48 wrapMode: Text.WordWrap49 wrapMode: Text.WordWrap
49 }50 }
50}51}
52=======
53/*
54 * Copyright (C) 2014 Canonical Ltd
55 *
56 * This program is free software: you can redistribute it and/or modify
57 * it under the terms of the GNU General Public License version 3 as
58 * published by the Free Software Foundation.
59 *
60 * This program is distributed in the hope that it will be useful,
61 * but WITHOUT ANY WARRANTY; without even the implied warranty of
62 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
63 * GNU General Public License for more details.
64 *
65 * You should have received a copy of the GNU General Public License
66 * along with this program. If not, see <http://www.gnu.org/licenses/>.
67 *
68 * Authors:
69 * Jonas G. Drange <jonas.drange@canonical.com>
70 *
71*/
72import QtQuick 2.0
73import Ubuntu.Components 0.1
74import Ubuntu.Components.ListItems 0.1 as ListItem
75
76Column {
77
78 objectName: "noSim"
79
80 ListItem.Standard {
81 text: i18n.tr("Cellular data:")
82 enabled: false
83 control: Switch {
84 checked: false
85 }
86 }
87
88 ListItem.Standard {
89 text: i18n.tr("Data roaming")
90 enabled: false
91 showDivider: false
92 control: Switch {
93 checked: false
94 }
95 }
96}
97>>>>>>> MERGE-SOURCE
5198
=== modified file 'plugins/cellular/Components/RadioSingleSim.qml'
--- plugins/cellular/Components/RadioSingleSim.qml 2015-01-21 20:44:20 +0000
+++ plugins/cellular/Components/RadioSingleSim.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * Copyright (C) 2014 Canonical Ltd3 * Copyright (C) 2014 Canonical Ltd
3 *4 *
@@ -89,3 +90,92 @@
89 }90 }
90 }91 }
91}92}
93=======
94/*
95 * Copyright (C) 2014 Canonical Ltd
96 *
97 * This program is free software: you can redistribute it and/or modify
98 * it under the terms of the GNU General Public License version 3 as
99 * published by the Free Software Foundation.
100 *
101 * This program is distributed in the hope that it will be useful,
102 * but WITHOUT ANY WARRANTY; without even the implied warranty of
103 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
104 * GNU General Public License for more details.
105 *
106 * You should have received a copy of the GNU General Public License
107 * along with this program. If not, see <http://www.gnu.org/licenses/>.
108 *
109 * Authors:
110 * Jonas G. Drange <jonas.drange@canonical.com>
111 *
112*/
113import QtQuick 2.0
114import Ubuntu.Components 0.1
115import Ubuntu.Components.ListItems 0.1 as ListItem
116
117Column {
118 id: radioSingleSim
119 height: childrenRect.height
120
121 property bool enabled: sim.radioSettings.technologyPreference !== ""
122
123 ListItem.ItemSelector {
124 id: selector
125 showDivider: false
126 expanded: true
127
128 // an empty string is not a valid preference, which means
129 // we disregard the interace and disable the selector
130 enabled: parent.enabled
131 model: sim.radioSettings.modemTechnologies
132 delegate: OptionSelectorDelegate {
133 objectName: sim.path + "_radio_" + modelData
134 text: sim.techToString(modelData)
135 showDivider: false
136 }
137 selectedIndex:
138 sim.radioSettings.technologyPreference !== "" ?
139 model.indexOf(sim.radioSettings.technologyPreference) : -1
140
141 onDelegateClicked: {
142 if (model[index] === 'umts_enable') {
143 sim.radioSettings.technologyPreference = 'umts';
144 radioSingleSim.parent.umtsModemChanged(sim, sim.connMan.powered ? sim.path : "");
145 sim.mtkSettings.has3G = true;
146 } else {
147 sim.radioSettings.technologyPreference = model[index];
148 }
149 }
150
151 Connections {
152 target: sim.radioSettings
153
154 onTechnologyPreferenceChanged: selector.selectedIndex =
155 sim.radioSettings.modemTechnologies.indexOf(preference)
156
157 onModemTechnologiesChanged: {
158 if ((technologies.indexOf('umts') === -1)
159 && (sim.mtkSettings.has3G === false)) {
160 selector.model = sim.addUmtsEnableToModel(technologies);
161 } else {
162 selector.model = technologies;
163 }
164 selector.selectedIndex = sim.radioSettings.technologyPreference !== "" ?
165 selector.model.indexOf(sim.radioSettings.technologyPreference) : -1
166 }
167 ignoreUnknownSignals: true
168 }
169
170 Component.onCompleted: {
171 if ((sim.radioSettings.modemTechnologies.indexOf('umts') === -1)
172 && (sim.mtkSettings.has3G === false)) {
173 selector.model = sim.addUmtsEnableToModel(
174 sim.radioSettings.modemTechnologies);
175 } else {
176 selector.model = sim.radioSettings.modemTechnologies;
177 }
178 }
179 }
180}
181>>>>>>> MERGE-SOURCE
92182
=== modified file 'plugins/cellular/Components/SimEditor.qml'
--- plugins/cellular/Components/SimEditor.qml 2014-10-31 18:14:35 +0000
+++ plugins/cellular/Components/SimEditor.qml 2015-02-27 05:54:50 +0000
@@ -68,6 +68,7 @@
68 }68 }
69 ]69 ]
7070
71<<<<<<< TREE
71 NumberAnimation {72 NumberAnimation {
72 id: scrollerAnimation73 id: scrollerAnimation
73 duration: UbuntuAnimation.SnapDuration74 duration: UbuntuAnimation.SnapDuration
@@ -86,6 +87,29 @@
86 }87 }
8788
88 SettingsItemTitle { text: i18n.tr("Edit SIM Name") }89 SettingsItemTitle { text: i18n.tr("Edit SIM Name") }
90=======
91 NumberAnimation {
92 id: scrollerAnimation
93 duration: UbuntuAnimation.SnapDuration
94 easing: UbuntuAnimation.StandardEasing
95 target: root.flickable
96 property: "contentY"
97 }
98
99 function openedEditor () {
100 var flickable = scrollerAnimation.target;
101 var maxFlick = Math.max(0, flickable.contentHeight - root.height);
102 scrollerAnimation.from = flickable.contentY;
103 scrollerAnimation.to = Math.min(y, maxFlick) - units.gu(9); // header
104 scrollerAnimation.start();
105 nameField.forceActiveFocus();
106 }
107
108 ListItem.Standard {
109 id: std
110 text: i18n.tr("Edit SIM Name")
111 }
112>>>>>>> MERGE-SOURCE
89113
90 ListItem.ExpandablesColumn {114 ListItem.ExpandablesColumn {
91 anchors {115 anchors {
92116
=== modified file 'plugins/cellular/CustomApnEditor.qml'
--- plugins/cellular/CustomApnEditor.qml 2015-02-16 14:02:22 +0000
+++ plugins/cellular/CustomApnEditor.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * This file is part of system-settings3 * This file is part of system-settings
3 *4 *
@@ -323,3 +324,330 @@
323 } // the contents324 } // the contents
324 } // the flickable325 } // the flickable
325}326}
327=======
328/*
329 * This file is part of system-settings
330 *
331 * Copyright (C) 2014 Canonical Ltd.
332 *
333 * Contact: Pat McGowan <pat.mcgowan@canonical.com>
334 *
335 * This program is free software: you can redistribute it and/or modify it
336 * under the terms of the GNU General Public License version 3, as published
337 * by the Free Software Foundation.
338 *
339 * This program is distributed in the hope that it will be useful, but
340 * WITHOUT ANY WARRANTY; without even the implied warranties of
341 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
342 * PURPOSE. See the GNU General Public License for more details.
343 *
344 * You should have received a copy of the GNU General Public License along
345 * with this program. If not, see <http://www.gnu.org/licenses/>.
346 */
347
348import QtQuick 2.0
349import QtQuick.Layouts 1.1
350import SystemSettings 1.0
351import Ubuntu.Components 1.1
352import Ubuntu.Components.ListItems 1.0 as ListItem
353
354ItemPage {
355 objectName: "customapnPage"
356 id: root
357
358 // "internet" or "mms"
359 property var type
360
361 // dict of "type" : ctx
362 property var contexts;
363
364 /// work around LP(#1361919)
365 property var activateCb;
366
367 QtObject {
368 id: d
369 property var typeText : type === "internet" ? i18n.tr("Internet") : i18n.tr("MMS")
370 property bool isMms : type === "mms"
371
372 property bool isValid : false
373
374 function validateFields() {
375 if (apnName.text === "") {
376 isValid = false;
377 return
378 }
379 if (isMms) {
380 if (mmsc.text === "") {
381 isValid = false;
382 return;
383 }
384 /// @todo validate proxy
385 /// @todo force port to be integer and validate it's value
386 }
387
388 // @todo the rest
389 isValid = true;
390 }
391 }
392
393 //TRANSLATORS: %1 is either i18n.tr("Internet") or i18n.tr("MMS")
394 title: i18n.tr("Custom %1 APN").arg(d.typeText)
395
396 // workaround of getting the following error on startup:
397 // WARNING - ... : QML Page: Binding loop detected for property "flickable"
398 flickable: null
399 Component.onCompleted: {
400 flickable: scrollWidget
401
402 var ctx;
403 if (d.isMms) {
404 ctx = contexts["mms"];
405 if (ctx === undefined) {
406 // @bug LP(:#1362795)
407 return;
408 }
409 } else {
410 ctx = contexts["internet"]
411 }
412
413 apnName.text = ctx.accessPointName;
414 userName.text = ctx.username;
415 pword.text = ctx.password;
416 mmsc.text = ctx.messageCenter;
417 var proxyText = ctx.messageProxy.split(":");
418 proxy.text = proxyText[0] !== undefined ? proxyText[0] : "";
419 port.text = proxyText[1] !== undefined ? proxyText[1] : "";
420 /// @todo protocol values
421
422 if (d.isMms) {
423 /// @todo disabled for now
424 doBoth.checked = false;
425 return;
426 var internetApn = contexts["internet"]
427 if (ctx.accessPointName === internetApn.accessPointName &&
428 ctx.username == internetApn.username &&
429 ctx.password == internetApn.password
430 /* auth + procol */) {
431 doBoth.checked = true;
432 }
433 else
434 doBoth.checked = false;
435 }
436 }
437
438 Flickable {
439 id: scrollWidget
440 anchors {
441 top: parent.top
442 left: parent.left
443 right: parent.right
444 bottom: parent.bottom
445 margins: units.gu(2)
446 }
447 contentWidth: parent.width
448 clip: true
449 contentHeight: theContents.height
450 boundsBehavior: (contentHeight > height) ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
451 flickableDirection: Flickable.VerticalFlick
452
453 ColumnLayout {
454 id: theContents
455 anchors {
456 left: parent.left
457 right: parent.right
458 }
459 spacing: units.gu(2)
460
461 ListItem.Standard {
462 id: sameSwitch
463 anchors {
464 left: parent.left
465 right: parent.right
466 }
467 /// @todo disable for now
468 //visible: d.isMms
469 visible: false
470 text: i18n.tr("Same APN as for Internet")
471 control: Switch {
472 id: doBoth
473 checked: false
474 anchors.verticalCenter: parent.verticalCenter
475 onClicked: {
476 if (checked) {
477 var internetApn = contexts["internet"]
478 apnName.text = internetApn.accessPointName;
479 userName.text = internetApn.username;
480 pword.text = internetApn.password;
481 }
482 }
483 }
484 }
485
486 GridLayout {
487 id: theGrid
488 columns: 2
489 columnSpacing: units.gu(1)
490 rowSpacing: units.gu(1)
491 anchors{
492 right: parent.right
493 left:parent.left
494 }
495
496 Label {
497 //TRANSLATORS: %1 is either i18n.tr("Internet") or i18n.tr("MMS")
498 text: i18n.tr("%1 APN").arg(d.typeText)
499 }
500 TextField {
501 id: apnName
502 enabled: !doBoth.checked
503 onTextChanged: d.validateFields()
504 inputMethodHints: Qt.ImhUrlCharactersOnly | Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
505 }
506
507 Label {
508 text: i18n.tr("MMSC")
509 visible: d.isMms
510 }
511 TextField {
512 id: mmsc
513 visible: d.isMms
514 onTextChanged: d.validateFields()
515 inputMethodHints: Qt.ImhUrlCharactersOnly | Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
516 }
517 Label {
518 text: i18n.tr("Proxy")
519 visible: d.isMms
520 }
521 TextField {
522 id: proxy
523 visible: d.isMms
524 onTextChanged: d.validateFields()
525 inputMethodHints: Qt.ImhUrlCharactersOnly | Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
526 }
527 Label {
528 text: "Port"
529 visible: d.isMms
530 }
531 TextField {
532 id: port
533 visible: d.isMms
534 maximumLength: 4
535 onTextChanged: d.validateFields()
536 inputMethodHints: Qt.ImhDigitsOnly | Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
537 }
538
539 Label {
540 text: i18n.tr("Username")
541 }
542 TextField {
543 id: userName
544 enabled: !doBoth.checked
545 inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
546 }
547
548 Label {
549 text: i18n.tr("Password")
550 }
551 TextField {
552 id: pword
553 enabled: !doBoth.checked
554 inputMethodHints: Qt.ImhNoAutoUppercase | Qt.ImhNoPredictiveText
555 }
556 /// @todo support for ipv6 will be added after RTM
557 }
558
559 Item {
560 id: buttonRectangle
561
562 height: cancelButton.height + units.gu(2)
563
564 anchors {
565 left: parent.left
566 right: parent.right
567 }
568
569 Button {
570 id: cancelButton
571
572 text: i18n.tr("Cancel")
573
574 anchors {
575 left: parent.left
576 right: parent.horizontalCenter
577 bottom: parent.bottom
578 topMargin: units.gu(1)
579 rightMargin: units.gu(1)
580 bottomMargin: units.gu(1)
581 }
582
583 onClicked: {
584 pageStack.pop()
585 }
586 }
587
588 Button {
589 id: confirmButton
590
591 text: d.isMms ? i18n.tr("Save") : i18n.tr("Activate")
592
593 anchors {
594 left: parent.horizontalCenter
595 right: parent.right
596 bottom: parent.bottom
597 topMargin: units.gu(1)
598 leftMargin: units.gu(1)
599 rightMargin: units.gu(4)
600 bottomMargin: units.gu(1)
601 }
602
603 enabled: d.isValid;
604
605 onClicked: {
606 var ctx;
607 if (d.isMms)
608 ctx = contexts["mms"];
609 else
610 ctx = contexts["internet"];
611
612 /// @bug LP(:#1362795)
613 if (d.isMms && ctx === undefined) {
614 var mmsData = ({})
615 mmsData["accessPointName"] = apnName.text;
616 mmsData["username"] = userName.text;
617 mmsData["password"] = pword.text;
618 mmsData["messageCenter"] = mmsc.text
619 var proxyValue = "";
620 if (proxy.text !== "") {
621 proxyValue = proxy.text;
622 if (port.text !== "")
623 proxyValue = proxyValue + ":" + port.text;
624 }
625 mmsData["messageProxy"] = proxyValue;
626 activateCb("mms", undefined, mmsData);
627 pageStack.pop();
628 return;
629 }
630 ctx.accessPointName = apnName.text;
631 ctx.username = userName.text;
632 ctx.password = pword.text;
633 if (d.isMms) {
634 ctx.messageCenter = mmsc.text;
635 var proxyValue = "";
636 if (proxy.text !== "") {
637 proxyValue = proxy.text;
638 if (port.text !== "")
639 proxyValue = proxyValue + ":" + port.text;
640 }
641 ctx.messageProxy = proxyValue
642 }
643 /// @todo map protocol values
644
645 activateCb(ctx.type, ctx.contextPath);
646 pageStack.pop();
647 }
648 }
649 } // item for buttons
650 } // the contents
651 } // the flickable
652}
653>>>>>>> MERGE-SOURCE
326654
=== modified file 'plugins/language/DisplayLanguage.qml'
=== modified file 'plugins/language/PageComponent.qml'
--- plugins/language/PageComponent.qml 2014-11-04 12:08:12 +0000
+++ plugins/language/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -61,6 +61,7 @@
61 SpellChecking {}61 SpellChecking {}
62 }62 }
6363
64<<<<<<< TREE
64 Component {65 Component {
65 id: rebootNecessaryNotification66 id: rebootNecessaryNotification
6667
@@ -76,6 +77,22 @@
76 }77 }
77 }78 }
7879
80=======
81 Component {
82 id: rebootNecessaryNotification
83
84 RebootNecessary {
85
86 onReboot: {
87 plugin.reboot();
88 }
89 onRevert: {
90 plugin.currentLanguage = to;
91 }
92 }
93 }
94
95>>>>>>> MERGE-SOURCE
79 GSettings {96 GSettings {
80 id: settings97 id: settings
8198
8299
=== modified file 'plugins/notifications/PageComponent.qml'
=== modified file 'plugins/phone/MultiSim.qml'
--- plugins/phone/MultiSim.qml 2014-10-31 18:16:35 +0000
+++ plugins/phone/MultiSim.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * Copyright (C) 2014 Canonical Ltd3 * Copyright (C) 2014 Canonical Ltd
3 *4 *
@@ -130,3 +131,140 @@
130 }131 }
131132
132}133}
134=======
135/*
136 * Copyright (C) 2014 Canonical Ltd
137 *
138 * This program is free software: you can redistribute it and/or modify
139 * it under the terms of the GNU General Public License version 3 as
140 * published by the Free Software Foundation.
141 *
142 * This program is distributed in the hope that it will be useful,
143 * but WITHOUT ANY WARRANTY; without even the implied warranty of
144 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
145 * GNU General Public License for more details.
146 *
147 * You should have received a copy of the GNU General Public License
148 * along with this program. If not, see <http://www.gnu.org/licenses/>.
149 *
150 * Authors:
151 * Ken Vandine <ken.vandine@canonical.com>
152 * Jonas G. Drange <jonas.drange@canonical.com>
153 *
154*/
155import QtQuick 2.0
156import GSettings 1.0
157import Ubuntu.Components 1.1
158import Ubuntu.Components.ListItems 0.1 as ListItem
159
160Column {
161
162 property var sims
163
164 ListItem.Standard {
165 text: sims[0].title
166 }
167
168 ListItem.Standard {
169 objectName: "callFwdSim1"
170 text: i18n.tr("Call forwarding")
171 progression: true
172 onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {
173 sim: sims[0],
174 headerTitle: sims[0].title
175 })
176 }
177
178 ListItem.Standard {
179 objectName: "callWaitSim1"
180 text: i18n.tr("Call waiting")
181 progression: true
182 onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {
183 sim: sims[0],
184 headerTitle: sims[0].title
185 })
186 }
187
188 ListItem.Standard {
189 objectName: "simServicesSim1"
190 text: i18n.tr("Services")
191 progression: true
192 enabled: sims[0].simMng.present
193 onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), {
194 carrierString: sims[0].netReg.name,
195 sim: sims[0].simMng,
196 headerTitle: sims[0].title
197 })
198 }
199
200 ListItem.Divider {}
201
202 ListItem.Standard {
203 text: sims[1].title
204 }
205
206 ListItem.Standard {
207 objectName: "callFwdSim2"
208 text: i18n.tr("Call forwarding")
209 progression: true
210 onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {
211 sim: sims[1],
212 headerTitle: sims[1].title
213 })
214 }
215
216 ListItem.Standard {
217 objectName: "callWaitSim2"
218 text: i18n.tr("Call waiting")
219 progression: true
220 onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {
221 sim: sims[1],
222 headerTitle: sims[1].title
223 })
224 }
225
226 ListItem.Standard {
227 objectName: "simServicesSim2"
228 text: i18n.tr("Services")
229 progression: true
230 enabled: sims[1].simMng.present
231 onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), {
232 carrierString: sims[1].netReg.name,
233 sim: sims[1].simMng,
234 headerTitle: sims[1].title
235 })
236 }
237
238
239 GSettings {
240 id: phoneSettings
241 schema.id: "com.ubuntu.phone"
242 Component.onCompleted: {
243 // set default names
244 var simNames = phoneSettings.simNames;
245 var m0 = sims[0].path
246 var m1 = sims[1].path
247 if (!simNames[m0]) {
248 simNames[m0] = "SIM 1";
249 }
250 if (!simNames[m1]) {
251 simNames[m1] = "SIM 2";
252 }
253 phoneSettings.simNames = simNames;
254 }
255 }
256
257 Binding {
258 target: sims[0]
259 property: "name"
260 value: phoneSettings.simNames[modemsSorted[0]]
261 }
262
263 Binding {
264 target: sims[1]
265 property: "name"
266 value: phoneSettings.simNames[modemsSorted[1]]
267 }
268
269}
270>>>>>>> MERGE-SOURCE
133271
=== modified file 'plugins/phone/PageComponent.qml'
--- plugins/phone/PageComponent.qml 2015-01-29 18:26:44 +0000
+++ plugins/phone/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -76,6 +76,7 @@
76 Flickable {76 Flickable {
77 id: flick77 id: flick
78 anchors.fill: parent78 anchors.fill: parent
79<<<<<<< TREE
79 contentWidth: parent.width80 contentWidth: parent.width
80 contentHeight: contentItem.childrenRect.height81 contentHeight: contentItem.childrenRect.height
81 boundsBehavior: (contentHeight > root.height) ?82 boundsBehavior: (contentHeight > root.height) ?
@@ -101,6 +102,33 @@
101 }102 }
102 text: i18n.tr("Dialpad tones")103 text: i18n.tr("Dialpad tones")
103 }104 }
105=======
106 contentWidth: parent.width
107 contentHeight: contentItem.childrenRect.height
108 boundsBehavior: (contentHeight > root.height) ?
109 Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
110
111 Column {
112 anchors { left: parent.left; right: parent.right }
113
114 Loader {
115 id: loader
116 anchors { left: parent.left; right: parent.right }
117 }
118
119 ListItem.Divider {}
120
121 ListItem.Standard {
122 control: Switch {
123 objectName: "dialpadSounds"
124 property bool serverChecked: soundPlugin.dialpadSoundsEnabled
125 onServerCheckedChanged: checked = serverChecked
126 Component.onCompleted: checked = serverChecked
127 onTriggered: soundPlugin.dialpadSoundsEnabled = checked
128 }
129 text: i18n.tr("Dialpad sounds")
130 }
131>>>>>>> MERGE-SOURCE
104 }132 }
105 }133 }
106}134}
107135
=== modified file 'plugins/reset/ResetLauncherHome.qml'
=== modified file 'plugins/security-privacy/LockSecurity.qml'
--- plugins/security-privacy/LockSecurity.qml 2015-02-09 15:46:27 +0000
+++ plugins/security-privacy/LockSecurity.qml 2015-02-27 05:54:50 +0000
@@ -202,6 +202,24 @@
202 UbuntuSecurityPrivacyPanel.Passcode202 UbuntuSecurityPrivacyPanel.Passcode
203 }203 }
204204
205 /* Using bindings since it is, according to documentation,
206 impossible to unset both validator and maximumLength properties */
207 Binding {
208 target: currentInput
209 property: "validator"
210 value: passcodeValidator
211 when: changeSecurityDialog.oldMethod ===
212 UbuntuSecurityPrivacyPanel.Passcode
213 }
214
215 Binding {
216 target: currentInput
217 property: "maximumLength"
218 value: 4
219 when: changeSecurityDialog.oldMethod ===
220 UbuntuSecurityPrivacyPanel.Passcode
221 }
222
205 Label {223 Label {
206 id: incorrect224 id: incorrect
207 text: ""225 text: ""
@@ -243,6 +261,7 @@
243 UbuntuSecurityPrivacyPanel.Passcode ||261 UbuntuSecurityPrivacyPanel.Passcode ||
244 changeSecurityDialog.newMethod ===262 changeSecurityDialog.newMethod ===
245 UbuntuSecurityPrivacyPanel.Passphrase263 UbuntuSecurityPrivacyPanel.Passphrase
264<<<<<<< TREE
246 onTextChanged: { displayMismatchWarning() }265 onTextChanged: { displayMismatchWarning() }
247 }266 }
248267
@@ -262,6 +281,26 @@
262 value: 4281 value: 4
263 when: changeSecurityDialog.newMethod ===282 when: changeSecurityDialog.newMethod ===
264 UbuntuSecurityPrivacyPanel.Passcode283 UbuntuSecurityPrivacyPanel.Passcode
284=======
285 }
286
287 /* Using bindings since it is, according to documentation,
288 impossible to unset both validator and maximumLength properties */
289 Binding {
290 target: newInput
291 property: "validator"
292 value: passcodeValidator
293 when: changeSecurityDialog.newMethod ===
294 UbuntuSecurityPrivacyPanel.Passcode
295 }
296
297 Binding {
298 target: newInput
299 property: "maximumLength"
300 value: 4
301 when: changeSecurityDialog.newMethod ===
302 UbuntuSecurityPrivacyPanel.Passcode
303>>>>>>> MERGE-SOURCE
265 }304 }
266305
267 Label {306 Label {
@@ -319,6 +358,24 @@
319 UbuntuSecurityPrivacyPanel.Passcode358 UbuntuSecurityPrivacyPanel.Passcode
320 }359 }
321360
361 /* Using bindings since it is, according to documentation,
362 impossible to unset both validator and maximumLength properties */
363 Binding {
364 target: confirmInput
365 property: "validator"
366 value: passcodeValidator
367 when: changeSecurityDialog.newMethod ===
368 UbuntuSecurityPrivacyPanel.Passcode
369 }
370
371 Binding {
372 target: confirmInput
373 property: "maximumLength"
374 value: 4
375 when: changeSecurityDialog.newMethod ===
376 UbuntuSecurityPrivacyPanel.Passcode
377 }
378
322 Label {379 Label {
323 id: notMatching380 id: notMatching
324 wrapMode: Text.Wrap381 wrapMode: Text.Wrap
@@ -366,6 +423,7 @@
366 else423 else
367 return i18n.tr("Set")424 return i18n.tr("Set")
368 }425 }
426<<<<<<< TREE
369 /* see https://wiki.ubuntu.com/SecurityAndPrivacySettings#Phone for details */427 /* see https://wiki.ubuntu.com/SecurityAndPrivacySettings#Phone for details */
370 enabled: /* Validate the old method, it's either swipe or a secret which needs428 enabled: /* Validate the old method, it's either swipe or a secret which needs
371 to be valid, 4 digits for the passcode or > 0 for a passphrase */429 to be valid, 4 digits for the passcode or > 0 for a passphrase */
@@ -383,6 +441,9 @@
383 /* or to be swipe */441 /* or to be swipe */
384 changeSecurityDialog.newMethod === UbuntuSecurityPrivacyPanel.Swipe)442 changeSecurityDialog.newMethod === UbuntuSecurityPrivacyPanel.Swipe)
385443
444=======
445 enabled: newInput.acceptableInput
446>>>>>>> MERGE-SOURCE
386 onClicked: {447 onClicked: {
387 changeSecurityDialog.enabled = false448 changeSecurityDialog.enabled = false
388 incorrect.text = ""449 incorrect.text = ""
389450
=== modified file 'plugins/security-privacy/PhoneLocking.qml'
--- plugins/security-privacy/PhoneLocking.qml 2015-02-09 15:42:47 +0000
+++ plugins/security-privacy/PhoneLocking.qml 2015-02-27 05:54:50 +0000
@@ -42,7 +42,11 @@
42 anchors.right: parent.right42 anchors.right: parent.right
4343
44 ListItem.SingleValue {44 ListItem.SingleValue {
45<<<<<<< TREE
45 property string swipe: i18n.ctr("Unlock with swipe", "None")46 property string swipe: i18n.ctr("Unlock with swipe", "None")
47=======
48 property string swipe: qsTr("None", "Unlock with swipe")
49>>>>>>> MERGE-SOURCE
46 property string passcode: i18n.tr("Passcode")50 property string passcode: i18n.tr("Passcode")
47 property string passphrase: i18n.tr("Passphrase")51 property string passphrase: i18n.tr("Passphrase")
4852
4953
=== modified file 'plugins/security-privacy/SimPin.qml'
--- plugins/security-privacy/SimPin.qml 2015-01-28 15:17:09 +0000
+++ plugins/security-privacy/SimPin.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * Copyright (C) 2014 Canonical Ltd.3 * Copyright (C) 2014 Canonical Ltd.
3 *4 *
@@ -388,3 +389,394 @@
388 }389 }
389 }390 }
390}391}
392=======
393/*
394 * Copyright (C) 2014 Canonical Ltd.
395 *
396 * This program is free software: you can redistribute it and/or modify it
397 * under the terms of the GNU General Public License version 3, as published
398 * by the Free Software Foundation.
399 *
400 * This program is distributed in the hope that it will be useful, but
401 * WITHOUT ANY WARRANTY; without even the implied warranties of
402 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
403 * PURPOSE. See the GNU General Public License for more details.
404 *
405 * You should have received a copy of the GNU General Public License along
406 * with this program. If not, see <http://www.gnu.org/licenses/>.
407 *
408 * Authors:
409 * Ken VanDine <ken.vandine@canonical.com>
410 *
411 */
412
413import GSettings 1.0
414import QtQuick 2.0
415import QtQuick.Layouts 1.1
416import Ubuntu.Components 1.1
417import Ubuntu.Components.ListItems 0.1 as ListItem
418import Ubuntu.Components.Popups 0.1
419import SystemSettings 1.0
420import Ubuntu.SystemSettings.SecurityPrivacy 1.0
421import MeeGo.QOfono 0.2
422import "sims.js" as Sims
423
424
425ItemPage {
426 id: root
427 title: i18n.tr("SIM PIN")
428
429 property var sims
430 property var curSim
431
432 Component {
433 id: dialogComponent
434
435 Dialog {
436 id: changePinDialog
437 title: i18n.tr("Change SIM PIN")
438
439 property string errorText: i18n.tr(
440 "Incorrect PIN. %1 attempt remaining.",
441 "Incorrect PIN. %1 attempts remaining.",
442 curSim.pinRetries[OfonoSimManager.SimPin] || 3
443 ).arg(curSim.pinRetries[OfonoSimManager.SimPin] || 3)
444 property int simMin: curSim.minimumPinLength(OfonoSimManager.SimPin)
445 property int simMax: curSim.maximumPinLength(OfonoSimManager.SimPin)
446
447 // This is a bit hacky, but the contents of this dialog get so tall
448 // that on a mako device, they don't fit with the OSK also visible.
449 // So we scrunch up spacing.
450 Binding {
451 target: __foreground
452 property: "itemSpacing"
453 value: units.gu(1)
454 }
455
456 Connections {
457 target: curSim
458 onChangePinComplete: {
459 if (error === OfonoSimManager.FailedError) {
460 console.warn("Change PIN failed with: " + error);
461 incorrect.visible = true;
462 changePinDialog.enabled = true;
463 currentInput.forceActiveFocus();
464 currentInput.selectAll();
465 return;
466 }
467 incorrect.visible = false;
468 changePinDialog.enabled = true;
469 PopupUtils.close(changePinDialog);
470 }
471 }
472
473 Label {
474 text: i18n.tr("Current PIN:")
475 }
476
477 TextField {
478 id: currentInput
479 echoMode: TextInput.Password
480 inputMethodHints: Qt.ImhDialableCharactersOnly
481 maximumLength: simMax
482 }
483
484 Label {
485 id: retries
486 text: i18n.tr("%1 attempt allowed.", "%1 attempts allowed.",
487 curSim.pinRetries[OfonoSimManager.SimPin] || 3).arg(
488 curSim.pinRetries[OfonoSimManager.SimPin] || 3)
489 visible: !incorrect.visible
490 }
491
492 Label {
493 id: incorrect
494 text: errorText
495 visible: false
496 color: "darkred"
497 }
498
499 Label {
500 text: i18n.tr("Choose new PIN:")
501 }
502
503 TextField {
504 id: newInput
505 echoMode: TextInput.Password
506 inputMethodHints: Qt.ImhDialableCharactersOnly
507 maximumLength: simMax
508 }
509
510 Label {
511 text: i18n.tr("Confirm new PIN:")
512 }
513
514 TextField {
515 id: confirmInput
516 echoMode: TextInput.Password
517 inputMethodHints: Qt.ImhDialableCharactersOnly
518 maximumLength: simMax
519
520 // Doesn't get updated if you set this in enabled of confirmButton
521 onTextChanged: confirmButton.enabled =
522 (acceptableInput &&
523 text.length >= simMin &&
524 (text === newInput.text))
525 }
526
527 Label {
528 id: notMatching
529 wrapMode: Text.Wrap
530 text: i18n.tr("PINs don't match. Try again.")
531 visible: (newInput.length === confirmInput.length) &&
532 (newInput.text != confirmInput.text)
533 color: "darkred"
534 }
535
536 RowLayout {
537 spacing: units.gu(1)
538
539 Button {
540 Layout.fillWidth: true
541 color: UbuntuColors.lightGrey
542 text: i18n.tr("Cancel")
543 onClicked: PopupUtils.close(changePinDialog)
544 }
545
546 Button {
547 id: confirmButton
548 Layout.fillWidth: true
549 color: UbuntuColors.green
550 text: i18n.tr("Change")
551 enabled: false
552 onClicked: {
553 changePinDialog.enabled = false
554 var match = (newInput.text === confirmInput.text)
555 notMatching.visible = !match
556 if (!match) {
557 changePinDialog.enabled = true
558 newInput.forceActiveFocus()
559 newInput.selectAll()
560 return
561 }
562 curSim.changePin(OfonoSimManager.SimPin, currentInput.text, newInput.text);
563 }
564 }
565 }
566 }
567 }
568
569 Component {
570 id: lockDialogComponent
571
572 Dialog {
573 id: lockPinDialog
574 objectName: "lockDialogComponent"
575 title: curSim.lockedPins.length > 0 ?
576 i18n.tr("Enter SIM PIN") :
577 i18n.tr("Enter Previous SIM PIN")
578
579 property string errorText: i18n.tr(
580 "Incorrect PIN. %1 attempts remaining."
581 ).arg(curSim.pinRetries[OfonoSimManager.SimPin] || 3)
582
583 property int simMin: curSim.minimumPinLength(OfonoSimManager.SimPin)
584 property int simMax: curSim.maximumPinLength(OfonoSimManager.SimPin)
585
586 // This is a bit hacky, but the contents of this dialog get so tall
587 // that on a mako device, they don't fit with the OSK also visible.
588 // So we scrunch up spacing.
589 Binding {
590 target: __foreground
591 property: "itemSpacing"
592 value: units.gu(1)
593 }
594
595 Connections {
596 target: curSim
597 onLockPinComplete: {
598 if (error === OfonoSimManager.FailedError) {
599 console.warn("Lock PIN failed with: " + error);
600 incorrect.visible = true;
601 lockPinDialog.enabled = true;
602 prevInput.forceActiveFocus();
603 prevInput.selectAll();
604 return;
605 }
606 incorrect.visible = false;
607 lockPinDialog.enabled = true;
608 PopupUtils.close(lockPinDialog);
609 }
610 onUnlockPinComplete: {
611 if (error === OfonoSimManager.FailedError) {
612 console.warn("Unlock PIN failed with: " + error);
613 incorrect.visible = true;
614 lockPinDialog.enabled = true;
615 prevInput.forceActiveFocus();
616 prevInput.selectAll();
617 return;
618 }
619 incorrect.visible = false;
620 lockPinDialog.enabled = true;
621 PopupUtils.close(lockPinDialog);
622 }
623 }
624
625 TextField {
626 id: prevInput
627 objectName: "prevInput"
628 echoMode: TextInput.Password
629 inputMethodHints: Qt.ImhDialableCharactersOnly
630 maximumLength: simMax
631
632 // Doesn't get updated if you set this in enabled of confirmButton
633 onTextChanged: lockButton.enabled =
634 (acceptableInput && text.length >= simMin)
635 }
636
637 Label {
638 horizontalAlignment: Text.AlignHCenter
639 text: i18n.tr("%1 attempts allowed.").arg(
640 curSim.pinRetries[OfonoSimManager.SimPin] || 3)
641 visible: !incorrect.visible
642 width: parent.width
643 }
644
645 Label {
646 id: incorrect
647 text: errorText
648 visible: false
649 color: "darkred"
650 }
651
652 RowLayout {
653 spacing: units.gu(1)
654
655 Button {
656 objectName: "cancelButton"
657 Layout.fillWidth: true
658 color: UbuntuColors.lightGrey
659 text: i18n.tr("Cancel")
660 onClicked: {
661 if (curSim.lockedPins.length < 1)
662 caller.checked = false;
663 else
664 caller.checked = true;
665 PopupUtils.close(lockPinDialog);
666 }
667 }
668
669 Button {
670 id: lockButton
671 objectName: "lockButton"
672 Layout.fillWidth: true
673 color: UbuntuColors.green
674
675 text: curSim.lockedPins.length > 0 ? i18n.tr("Unlock") : i18n.tr("Lock")
676 enabled: false
677 onClicked: {
678 lockPinDialog.enabled = false;
679 if (curSim.lockedPins.length > 0)
680 curSim.unlockPin(OfonoSimManager.SimPin, prevInput.text);
681 else
682 curSim.lockPin(OfonoSimManager.SimPin, prevInput.text);
683 }
684 }
685 }
686 }
687 }
688
689 Column {
690 anchors.left: parent.left
691 anchors.right: parent.right
692
693 Repeater {
694 model: sims.length
695 Column {
696 id: sim
697 anchors {
698 left: parent.left
699 right: parent.right
700 }
701
702 states: [
703 State {
704 name: "locked"
705 when: sims[index].simMng.pinRequired !== OfonoSimManager.NoPin
706 },
707 State {
708 name: "unlocked"
709 when: sims[index].simMng.pinRequired === OfonoSimManager.NoPin
710 }
711 ]
712
713 Connections {
714 target: sims[index].simMng
715 onLockedPinsChanged: {
716 simPinSwitch.checked =
717 sims[index].simMng.lockedPins.length > 0;
718 }
719 }
720
721 ListItem.Standard {
722 text: sims[index].title
723 visible: sims.length > 1
724 }
725
726 ListItem.Standard {
727 text: i18n.tr("SIM PIN")
728 control: Switch {
729 id: simPinSwitch
730 objectName: "simPinSwitch"
731 checked: sims[index].simMng.lockedPins.length > 0
732 onClicked: {
733 curSim = sims[index].simMng;
734 PopupUtils.open(lockDialogComponent, simPinSwitch);
735 }
736 }
737 }
738
739 ListItem.Standard {
740 id: changeControl
741 visible: sim.state === "unlocked"
742 text: i18n.tr("Unlocked")
743 control: Button {
744 enabled: parent.visible
745 text: i18n.tr("Change PIN…")
746 onClicked: {
747 curSim = sims[index].simMng;
748 PopupUtils.open(dialogComponent);
749 }
750 }
751 }
752
753 ListItem.Standard {
754 id: lockControl
755 visible: sim.state === "locked"
756 text: i18n.tr("Locked")
757 control: Button {
758 objectName: "unlock"
759 enabled: sims[index].simMng.pinRequired !== 'none'
760 text: i18n.tr("Unlock…")
761 color: UbuntuColors.green
762 onClicked: Connectivity.unlockModem(sims[index].path)
763 }
764 }
765
766 ListItem.Divider {
767 visible: index < (sims.length - 1)
768 }
769
770 }
771 }
772
773 ListItem.Caption {
774 text: i18n.tr("When a SIM PIN is set, it must be entered to access cellular services after restarting the phone or swapping the SIM.")
775 }
776
777 ListItem.Caption {
778 text: i18n.tr("Entering an incorrect PIN repeatedly may lock the SIM permanently.")
779 }
780 }
781}
782>>>>>>> MERGE-SOURCE
391783
=== modified file 'plugins/sound/PageComponent.qml'
--- plugins/sound/PageComponent.qml 2015-02-11 17:33:51 +0000
+++ plugins/sound/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -158,6 +158,7 @@
158 }158 }
159159
160 ListItem.Standard {160 ListItem.Standard {
161<<<<<<< TREE
161 control: Switch {162 control: Switch {
162 objectName: "dialpadSounds"163 objectName: "dialpadSounds"
163 property bool serverChecked: backendInfo.dialpadSoundsEnabled164 property bool serverChecked: backendInfo.dialpadSoundsEnabled
@@ -169,6 +170,19 @@
169 }170 }
170171
171 SettingsItemTitle {172 SettingsItemTitle {
173=======
174 control: Switch {
175 objectName: "dialpadSounds"
176 property bool serverChecked: backendInfo.dialpadSoundsEnabled
177 onServerCheckedChanged: checked = serverChecked
178 Component.onCompleted: checked = serverChecked
179 onTriggered: backendInfo.dialpadSoundsEnabled = checked
180 }
181 text: i18n.tr("Dialpad sounds")
182 }
183
184 SettingsItemTitle {
185>>>>>>> MERGE-SOURCE
172 text: i18n.tr("Messages:")186 text: i18n.tr("Messages:")
173 }187 }
174188
@@ -213,6 +227,7 @@
213227
214 ListItem.Standard {228 ListItem.Standard {
215 text: i18n.tr("Keyboard sound")229 text: i18n.tr("Keyboard sound")
230 showDivider: false
216231
217 control: Switch {232 control: Switch {
218 objectName: "keyboardSoundSwitch"233 objectName: "keyboardSoundSwitch"
@@ -231,6 +246,7 @@
231 text: i18n.tr("Lock sound")246 text: i18n.tr("Lock sound")
232 visible: showAllUI247 visible: showAllUI
233 }248 }
249<<<<<<< TREE
234250
235 ListItem.Divider {251 ListItem.Divider {
236 visible: showAllUI252 visible: showAllUI
@@ -247,6 +263,21 @@
247 }263 }
248 visible: showAllUI264 visible: showAllUI
249 }265 }
266=======
267
268 ListItem.Divider {}
269
270 ListItem.Standard {
271 text: i18n.tr("Other vibrations")
272 control: Switch {
273 objectName: "otherVibrateSwitch"
274 property bool serverChecked: backendInfo.otherVibrate
275 onServerCheckedChanged: checked = serverChecked
276 Component.onCompleted: checked = serverChecked
277 onTriggered: backendInfo.otherVibrate = checked
278 }
279 }
280>>>>>>> MERGE-SOURCE
250 }281 }
251 }282 }
252}283}
253284
=== modified file 'plugins/system-update/PageComponent.qml'
--- plugins/system-update/PageComponent.qml 2015-02-20 14:40:34 +0000
+++ plugins/system-update/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -45,6 +45,7 @@
45 property bool batterySafeForUpdate: isCharging || chargeLevel > 2545 property bool batterySafeForUpdate: isCharging || chargeLevel > 25
46 property var chargeLevel: indicatorPower.batteryLevel || 046 property var chargeLevel: indicatorPower.batteryLevel || 0
47 property var notificationAction;47 property var notificationAction;
48<<<<<<< TREE
48 property string errorDialogText: ""49 property string errorDialogText: ""
4950
50 onUpdatesAvailableChanged: {51 onUpdatesAvailableChanged: {
@@ -86,6 +87,44 @@
86 root.state = "SEARCHING";87 root.state = "SEARCHING";
87 UpdateManager.checkUpdates();88 UpdateManager.checkUpdates();
88 }89 }
90=======
91 property string errorDialogText: ""
92
93 QDBusActionGroup {
94 id: indicatorPower
95 busType: 1
96 busName: "com.canonical.indicator.power"
97 objectPath: "/com/canonical/indicator/power"
98 property variant batteryLevel: action("battery-level").state
99 property variant deviceState: action("device-state").state
100 Component.onCompleted: start()
101 }
102
103 Connections {
104 id: networkingStatus
105 target: NetworkingStatus
106 onOnlineChanged: {
107 if (NetworkingStatus.online) {
108 activity.running = true;
109 root.state = "SEARCHING";
110 UpdateManager.checkUpdates();
111 } else {
112 activity.running = false;
113 }
114 }
115 }
116
117 Setup {
118 id: uoaConfig
119 applicationId: "ubuntu-system-settings"
120 providerId: "ubuntuone"
121
122 onFinished: {
123 credentialsNotification.visible = false;
124 root.state = "SEARCHING";
125 UpdateManager.checkUpdates();
126 }
127>>>>>>> MERGE-SOURCE
89 }128 }
90129
91 Component {130 Component {
@@ -202,11 +241,14 @@
202241
203 onCredentialsNotFound: {242 onCredentialsNotFound: {
204 credentialsNotification.visible = true;243 credentialsNotification.visible = true;
244<<<<<<< TREE
205 }245 }
206246
207 onCredentialsDeleted: {247 onCredentialsDeleted: {
208 credentialsNotification.visible = false;248 credentialsNotification.visible = false;
209 uoaConfig.exec();249 uoaConfig.exec();
250=======
251>>>>>>> MERGE-SOURCE
210 }252 }
211253
212 onSystemUpdateDownloaded: {254 onSystemUpdateDownloaded: {
@@ -256,6 +298,7 @@
256 id: columnId298 id: columnId
257 anchors {299 anchors {
258 left: parent.left300 left: parent.left
301<<<<<<< TREE
259 right: parent.right302 right: parent.right
260 }303 }
261 height: childrenRect.height304 height: childrenRect.height
@@ -397,7 +440,151 @@
397 console.warn("PAUSE: " + modelData.packageName);440 console.warn("PAUSE: " + modelData.packageName);
398 if (modelData.systemUpdate)441 if (modelData.systemUpdate)
399 return UpdateManager.pauseDownload(modelData.packageName);442 return UpdateManager.pauseDownload(modelData.packageName);
443=======
444 right: parent.right
445 }
446 height: childrenRect.height
447
448 ListItem.Base {
449 id: checkForUpdatesArea
450 objectName: "checkForUpdatesArea"
451 showDivider: false
452 visible: false
453
454 ActivityIndicator {
455 id: activity
456 running: checkForUpdatesArea.visible
457 visible: activity.running
458 anchors {
459 left: parent.left
460 top: parent.top
461 }
462 height: parent.height
463 }
464
465 Label {
466 text: activity.running ? i18n.tr("Checking for updates…") : i18n.tr("Connect to the Internet to check for updates")
467 verticalAlignment: Text.AlignVCenter
468 elide: Text.ElideRight
469 anchors {
470 left: activity.running ? activity.right : parent.left
471 top: parent.top
472 right: btnRetry.left
473 rightMargin: units.gu(2)
474 leftMargin: units.gu(2)
475 }
476 height: parent.height
477 }
478
479 Button {
480 id: btnRetry
481 text: i18n.tr("Retry")
482 color: UbuntuColors.orange
483 anchors {
484 right: parent.right
485 top: parent.top
486 bottom: parent.bottom
487 margins: units.gu(1)
488 }
489 visible: !activity.visible
490
491 onClicked: {
492 activity.running = true;
493 root.state = "SEARCHING";
494 UpdateManager.checkUpdates();
495 }
496 }
497 }
498
499 ListItem.SingleControl {
500 height: installAllButton.visible ? units.gu(8) : units.gu(2)
501 highlightWhenPressed: false
502 control: Button {
503 id: installAllButton
504 objectName: "installAllButton"
505 property string primaryText: includeSystemUpdate ?
506 i18n.tr("Install %1 update…", "Install %1 updates…", root.updatesAvailable).arg(root.updatesAvailable) :
507 i18n.tr("Install %1 update", "Install %1 updates", root.updatesAvailable).arg(root.updatesAvailable)
508 property string secondaryText: i18n.tr("Pause All")
509 color: UbuntuColors.orange
510 text: root.installAll ? secondaryText : primaryText
511 width: parent.width - units.gu(4)
512
513 onClicked: {
514 for (var i=0; i < updateList.count; i++) {
515 updateList.currentIndex = i;
516 var item = updateList.currentItem;
517 var modelItem = UpdateManager.model[i];
518 if (item.installing || item.installed)
519 continue;
520 console.warn("AllClicked: " + modelItem.updateState + " " + modelItem.updateReady + " " + modelItem.selected);
521 if (item.retry) {
522 item.retry = false;
523 UpdateManager.retryDownload(modelItem.packageName);
524 continue;
525 }
526 if (root.installAll && !modelItem.updateReady && modelItem.selected) {
527 item.pause();
528 continue;
529 }
530 console.warn("Past pause");
531 if (!root.installAll && !modelItem.updateReady && modelItem.selected) {
532 item.resume();
533 continue;
534 }
535 console.warn("Past resume");
536 if (!root.installAll && !modelItem.updateState && !modelItem.updateReady && !modelItem.selected) {
537 item.start();
538 continue;
539 }
540 console.warn("Past start");
541 }
542 root.installAll = !root.installAll;
543 }
544 }
545 showDivider: false
546 }
547
548 ListView {
549 id: updateList
550 objectName: "updateList"
551 anchors {
552 left: parent.left
553 right: parent.right
554 }
555 model: UpdateManager.model
556 height: childrenRect.height
557 interactive: false
558 spacing: units.gu(2)
559
560 delegate: ListItem.Subtitled {
561 id: listItem
562 anchors {
563 left: parent.left
564 right: parent.right
565 }
566 iconSource: Qt.resolvedUrl(modelData.iconUrl)
567 iconFrame: modelData.systemUpdate ? false : true
568 height: visible ? textArea.height : 0
569 highlightWhenPressed: false
570 showDivider: false
571 visible: opacity > 0
572 opacity: installed ? 0 : 1
573 Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } }
574
575 property alias actionButton: buttonAppUpdate
576 property alias progressBar: progress
577 property bool installing: !modelData.systemUpdate && (modelData.updateReady || (progressBar.value === progressBar.maximumValue))
578 property bool installed: false
579 property bool retry: false
580
581 function pause () {
582 console.warn("PAUSE: " + modelData.packageName);
583 if (modelData.systemUpdate)
584 return UpdateManager.pauseDownload(modelData.packageName);
585>>>>>>> MERGE-SOURCE
400 modelData.updateState = false;586 modelData.updateState = false;
587<<<<<<< TREE
401 tracker.pause();588 tracker.pause();
402 }589 }
403590
@@ -660,6 +847,269 @@
660 right: parent.right847 right: parent.right
661 }848 }
662 }849 }
850=======
851 tracker.pause();
852 }
853
854 function resume () {
855 console.warn("RESUME: " + modelData.packageName);
856 if (modelData.systemUpdate)
857 return UpdateManager.startDownload(modelData.packageName);
858 modelData.updateState = true;
859 tracker.resume();
860 }
861
862 function start () {
863 console.warn("START: " + modelData.packageName);
864 modelData.selected = true;
865 modelData.updateState = true;
866 UpdateManager.startDownload(modelData.packageName);
867 }
868 Column {
869 id: textArea
870 objectName: "textArea"
871 anchors {
872 left: parent.left
873 right: parent.right
874 }
875 spacing: units.gu(0.5)
876
877 Item {
878 anchors {
879 left: parent.left
880 right: parent.right
881 }
882 height: buttonAppUpdate.height
883
884 Label {
885 id: labelTitle
886 objectName: "labelTitle"
887 anchors {
888 left: parent.left
889 right: buttonAppUpdate.visible ? buttonAppUpdate.left : parent.right
890 verticalCenter: parent.verticalCenter
891 }
892 text: modelData.title
893 font.bold: true
894 elide: Text.ElideMiddle
895 }
896
897 Button {
898 id: buttonAppUpdate
899 objectName: "buttonAppUpdate"
900 anchors.right: parent.right
901 height: labelTitle.height + units.gu(1)
902 enabled: !installing
903 text: {
904 if (retry)
905 return i18n.tr("Retry");
906 if (modelData.systemUpdate) {
907 if (modelData.updateReady) {
908 return i18n.tr("Install…");
909 } else if (!modelData.updateState && !modelData.selected) {
910 return i18n.tr("Download");
911 }
912 }
913 if (modelData.updateState) {
914 return i18n.tr("Pause");
915 } else if (modelData.selected) {
916 return i18n.tr("Resume");
917 }
918 return i18n.tr("Update");
919 }
920
921 onClicked: {
922 if (retry) {
923 retry = false;
924 return UpdateManager.retryDownload(modelData.packageName);
925 }
926 if (modelData.updateState)
927 return pause();
928 if (!modelData.updateState && modelData.selected)
929 return resume();
930 if (!modelData.updateState && !modelData.selected && !modelData.updateReady)
931 return start();
932 if (modelData.updateReady)
933 PopupUtils.open(dialogInstallComponent);
934 }
935 }
936 }
937
938 Item {
939 id: labelUpdateStatus
940 anchors {
941 left: parent.left
942 right: parent.right
943 }
944 height: childrenRect.height
945 visible: opacity > 0
946 opacity: (modelData.updateState && modelData.selected && !modelData.updateReady) || (installing || installed) ? 1 : 0
947 Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } }
948 Label {
949 objectName: "labelUpdateStatus"
950 anchors.left: parent.left
951 anchors.right: updateStatusLabel.left
952 elide: Text.ElideMiddle
953 fontSize: "small"
954 text: {
955 if (retry)
956 return modelData.error;
957 if (installing)
958 return i18n.tr("Installing");
959 if (installed)
960 return i18n.tr("Installed");
961 return i18n.tr("Downloading");
962 }
963 }
964 Label {
965 id: updateStatusLabel
966 anchors.right: parent.right
967 visible: !labelSize.visible && !installing && !installed
968 fontSize: "small"
969 text: {
970 if (!labelUpdateStatus.visible)
971 return convert_bytes_to_size(modelData.binaryFilesize);
972
973 return i18n.tr("%1 of %2").arg(
974 convert_bytes_to_size(modelData.binaryFilesize * (progress.value * 0.01))).arg(
975 convert_bytes_to_size(modelData.binaryFilesize)
976 );
977 }
978 }
979 }
980
981 ProgressBar {
982 id: progress
983 objectName: "progress"
984 height: units.gu(2)
985 anchors {
986 left: parent.left
987 right: parent.right
988 }
989 visible: opacity > 0
990 opacity: modelData.selected && !modelData.updateReady && !installed ? 1 : 0
991 value: modelData.systemUpdate ? modelData.downloadProgress : tracker.progress
992 minimumValue: 0
993 maximumValue: 100
994
995 DownloadTracker {
996 id: tracker
997 objectName: "tracker"
998 packageName: modelData.packageName
999 clickToken: modelData.clickToken
1000 download: modelData.downloadUrl
1001
1002 onFinished: {
1003 progress.visible = false;
1004 buttonAppUpdate.visible = false;
1005 installed = true;
1006 installing = false;
1007 root.updatesAvailable -= 1;
1008 modelData.updateRequired = false;
1009 UpdateManager.updateClickScope();
1010 }
1011
1012 onProcessing: {
1013 console.warn("onProcessing: " + modelData.packageName + " " + path);
1014 buttonAppUpdate.enabled = false;
1015 installing = true;
1016 modelData.updateState = false;
1017 }
1018
1019 onStarted: {
1020 console.warn("onStarted: " + modelData.packageName + " " + success);
1021 if (success)
1022 modelData.updateState = true;
1023 else
1024 modelData.updateState = false;
1025 }
1026
1027 onPaused: {
1028 console.warn("onPaused: " + modelData.packageName + " " + success);
1029 if (success)
1030 modelData.updateState = false;
1031 else
1032 modelData.updateState = true;
1033 }
1034
1035 onResumed: {
1036 console.warn("onResumed: " + modelData.packageName + " " + success);
1037 if (success)
1038 modelData.updateState = true;
1039 else
1040 modelData.updateState = false;
1041 }
1042
1043 onCanceled: {
1044 console.warn("onCanceled: " + modelData.packageName + " " + success);
1045 if (success) {
1046 modelData.updateState = false;
1047 modelData.selected = false;
1048 }
1049 }
1050
1051 onErrorFound: {
1052 console.warn("onErrorFound: " + modelData.packageName + " " + error);
1053 modelData.updateState = false;
1054 retry = true;
1055 installing = false;
1056 }
1057 }
1058
1059 Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } }
1060 }
1061
1062 Item {
1063 anchors {
1064 left: parent.left
1065 right: parent.right
1066 }
1067 height: childrenRect.height
1068 Label {
1069 id: labelVersion
1070 objectName: "labelVersion"
1071 anchors.left: parent.left
1072 text: modelData.remoteVersion ? i18n.tr("Version: ") + modelData.remoteVersion : ""
1073 elide: Text.ElideRight
1074 fontSize: "small"
1075 }
1076
1077 Label {
1078 id: labelSize
1079 objectName: "labelSize"
1080 anchors.right: parent.right
1081 text: convert_bytes_to_size(modelData.binaryFilesize)
1082 fontSize: "small"
1083 visible: !labelUpdateStatus.visible && !installing && !installed
1084 }
1085 }
1086 }
1087 }
1088 }
1089
1090 Column {
1091 id: credentialsNotification
1092 objectName: "credentialsNotification"
1093
1094 visible: false
1095
1096 spacing: units.gu(2)
1097 anchors {
1098 left: parent.left
1099 right: parent.right
1100 }
1101 ListItem.ThinDivider {}
1102
1103 Label {
1104 text: i18n.tr("Sign in to Ubuntu One to receive updates for apps.")
1105 horizontalAlignment: Text.AlignHCenter
1106 wrapMode: Text.Wrap
1107 anchors {
1108 left: parent.left
1109 right: parent.right
1110 }
1111 }
1112>>>>>>> MERGE-SOURCE
663 Button {1113 Button {
664 text: i18n.tr("Sign In…")1114 text: i18n.tr("Sign In…")
665 anchors {1115 anchors {
@@ -735,8 +1185,38 @@
735 }1185 }
736 }1186 }
7371187
738 Column {1188<<<<<<< TREE
739 id: configuration1189 Column {
1190 id: configuration
1191=======
1192 Column {
1193 id: configuration
1194
1195 anchors.bottom: parent.bottom
1196 anchors.left: parent.left
1197 anchors.right: parent.right
1198 ListItem.ThinDivider {}
1199 ListItem.SingleValue {
1200 objectName: "configuration"
1201 text: i18n.tr("Auto download")
1202 value: {
1203 if (UpdateManager.downloadMode === 0)
1204 return i18n.tr("Never")
1205 else if (UpdateManager.downloadMode === 1)
1206 return i18n.tr("On wi-fi")
1207 else if (UpdateManager.downloadMode === 2)
1208 return i18n.tr("Always")
1209 }
1210 progression: true
1211 onClicked: pageStack.push(Qt.resolvedUrl("Configuration.qml"))
1212 }
1213 }
1214
1215 function convert_bytes_to_size(bytes) {
1216 var SIZE_IN_GIB = 1024.0 * 1024.0 * 1024.0;
1217 var SIZE_IN_MIB = 1024.0 * 1024.0;
1218 var SIZE_IN_KIB = 1024.0;
1219>>>>>>> MERGE-SOURCE
7401220
741 anchors.bottom: parent.bottom1221 anchors.bottom: parent.bottom
742 anchors.left: parent.left1222 anchors.left: parent.left
7431223
=== modified file 'plugins/system-update/download_tracker.cpp'
--- plugins/system-update/download_tracker.cpp 2015-01-23 10:01:34 +0000
+++ plugins/system-update/download_tracker.cpp 2015-02-27 05:54:50 +0000
@@ -18,10 +18,22 @@
18 * Authored by: Diego Sarmentero <diego.sarmentero@canonical.com>18 * Authored by: Diego Sarmentero <diego.sarmentero@canonical.com>
19 */19 */
2020
21#include <ubuntu/download_manager/download_struct.h>21<<<<<<< TREE
22#include <ubuntu/download_manager/error.h>22#include <ubuntu/download_manager/download_struct.h>
23#include <QProcessEnvironment>23#include <ubuntu/download_manager/error.h>
2424#include <QProcessEnvironment>
25=======
26#include <QDebug>
27#include <QProcessEnvironment>
28
29#include <ubuntu/download_manager/download_struct.h>
30#include <ubuntu/download_manager/error.h>
31
32#include "download_tracker.h"
33#include "network/network.h"
34>>>>>>> MERGE-SOURCE
35
36<<<<<<< TREE
25#include "download_tracker.h"37#include "download_tracker.h"
26#include "network/network.h"38#include "network/network.h"
2739
@@ -32,6 +44,13 @@
32 const QString PKCON_COMMAND = "pkcon";44 const QString PKCON_COMMAND = "pkcon";
33 const QString DOWNLOAD_MANAGER_SHA512 = "sha512";45 const QString DOWNLOAD_MANAGER_SHA512 = "sha512";
34}46}
47=======
48namespace {
49 const QString DOWNLOAD_COMMAND = "post-download-command";
50 const QString APP_ID = "app_id";
51 const QString PKCON_COMMAND = "pkcon";
52}
53>>>>>>> MERGE-SOURCE
3554
36namespace UpdatePlugin {55namespace UpdatePlugin {
3756
3857
=== modified file 'plugins/system-update/download_tracker.h'
--- plugins/system-update/download_tracker.h 2015-01-23 09:47:18 +0000
+++ plugins/system-update/download_tracker.h 2015-02-27 05:54:50 +0000
@@ -81,6 +81,7 @@
81 void errorFound(const QString &error);81 void errorFound(const QString &error);
8282
83private:83private:
84<<<<<<< TREE
84 QString m_clickToken = QString::null;85 QString m_clickToken = QString::null;
85 QString m_downloadUrl = QString::null;86 QString m_downloadUrl = QString::null;
86 QString m_packageName = QString::null;87 QString m_packageName = QString::null;
@@ -88,6 +89,14 @@
88 Manager* m_manager = nullptr;89 Manager* m_manager = nullptr;
89 int m_progress = 0;90 int m_progress = 0;
90 QString m_download_sha512 = QString::null;91 QString m_download_sha512 = QString::null;
92=======
93 QString m_clickToken = QString::null;
94 QString m_downloadUrl = QString::null;
95 QString m_packageName = QString::null;
96 Download* m_download = nullptr;
97 Manager* m_manager = nullptr;
98 int m_progress = 0;
99>>>>>>> MERGE-SOURCE
91100
92 void startService();101 void startService();
93 QString getPkconCommand();102 QString getPkconCommand();
94103
=== modified file 'plugins/system-update/network/network.cpp'
--- plugins/system-update/network/network.cpp 2014-09-30 14:40:53 +0000
+++ plugins/system-update/network/network.cpp 2015-02-27 05:54:50 +0000
@@ -80,6 +80,7 @@
80 return;80 return;
81 }81 }
8282
83<<<<<<< TREE
83 int httpStatus = statusAttr.toInt();84 int httpStatus = statusAttr.toInt();
8485
85 if (httpStatus == 200 || httpStatus == 201) {86 if (httpStatus == 200 || httpStatus == 201) {
@@ -118,6 +119,44 @@
118 m_apps[name]->setDownloadSha512(download_sha512);119 m_apps[name]->setDownloadSha512(download_sha512);
119 updates = true;120 updates = true;
120 }121 }
122=======
123 int httpStatus = statusAttr.toInt();
124
125 if (httpStatus == 200 || httpStatus == 201) {
126 if (reply->hasRawHeader(X_CLICK_TOKEN)) {
127 Update* app = qobject_cast<Update*>(
128 reply->request().originatingObject());
129 if (app != nullptr) {
130 QString header(reply->rawHeader(X_CLICK_TOKEN));
131 Q_EMIT clickTokenObtained(app, header);
132 }
133 reply->deleteLater();
134 return;
135 }
136
137 QByteArray payload = reply->readAll();
138 QJsonDocument document = QJsonDocument::fromJson(payload);
139
140 RequestObject* state = qobject_cast<RequestObject*>(reply->request().originatingObject());
141 if (state != nullptr && state->operation.contains(APPS_DATA) && document.isArray()) {
142 QJsonArray array = document.array();
143 bool updates = false;
144 for (int i = 0; i < array.size(); i++) {
145 QJsonObject object = array.at(i).toObject();
146 QString name = object.value("name").toString();
147 QString version = object.value("version").toString();
148 QString icon_url = object.value("icon_url").toString();
149 QString url = object.value("download_url").toString();
150 int size = object.value("binary_filesize").toVariant().toInt();
151 if (m_apps.contains(name)) {
152 m_apps[name]->setRemoteVersion(version);
153 if (m_apps[name]->updateRequired()) {
154 m_apps[name]->setIconUrl(icon_url);
155 m_apps[name]->setDownloadUrl(url);
156 m_apps[name]->setBinaryFilesize(size);
157 updates = true;
158 }
159>>>>>>> MERGE-SOURCE
121 }160 }
122 }161 }
123 if (updates) {162 if (updates) {
124163
=== modified file 'plugins/system-update/update.cpp'
=== modified file 'plugins/system-update/update.h'
=== modified file 'plugins/system-update/update_manager.cpp'
=== modified file 'plugins/system-update/update_manager.h'
=== modified file 'plugins/time-date/timedate.cpp'
=== modified file 'plugins/wifi/NetworkDetails.qml'
--- plugins/wifi/NetworkDetails.qml 2015-01-20 14:11:24 +0000
+++ plugins/wifi/NetworkDetails.qml 2015-02-27 05:54:50 +0000
@@ -84,8 +84,13 @@
84 ListItem.Divider {}84 ListItem.Divider {}
8585
86 Button {86 Button {
87<<<<<<< TREE
87 objectName: "forgetNetwork"88 objectName: "forgetNetwork"
88 text : i18n.tr("Forget this network")89 text : i18n.tr("Forget this network")
90=======
91 objectName: "forgetNetwork"
92 text : i18n.tr("Forget network")
93>>>>>>> MERGE-SOURCE
89 anchors {94 anchors {
90 left: parent.left95 left: parent.left
91 right: parent.right96 right: parent.right
9297
=== modified file 'plugins/wifi/NetworkDetailsBrief.qml'
--- plugins/wifi/NetworkDetailsBrief.qml 2015-01-20 14:11:24 +0000
+++ plugins/wifi/NetworkDetailsBrief.qml 2015-02-27 05:54:50 +0000
@@ -1,3 +1,4 @@
1<<<<<<< TREE
1/*2/*
2 * This file is part of system-settings3 * This file is part of system-settings
3 *4 *
@@ -77,3 +78,84 @@
77 }78 }
78 }79 }
79}80}
81=======
82/*
83 * This file is part of system-settings
84 *
85 * Copyright (C) 2014 Canonical Ltd.
86 *
87 * Contact: Jonas G. Drange <jonas.drange@canonical.com>
88 *
89 * This program is free software: you can redistribute it and/or modify it
90 * under the terms of the GNU General Public License version 3, as published
91 * by the Free Software Foundation.
92 *
93 * This program is distributed in the hope that it will be useful, but
94 * WITHOUT ANY WARRANTY; without even the implied warranties of
95 * MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR
96 * PURPOSE. See the GNU General Public License for more details.
97 *
98 * You should have received a copy of the GNU General Public License along
99 * with this program. If not, see <http://www.gnu.org/licenses/>.
100 */
101
102import QtQuick 2.0
103import QtQuick.Layouts 1.1
104import SystemSettings 1.0
105import Ubuntu.Components 0.1
106import Ubuntu.Components.ListItems 0.1 as ListItem
107import Ubuntu.SystemSettings.Wifi 1.0
108
109ItemPage {
110
111 property string networkName
112 property var accessPoint
113
114 title: networkName
115
116 Column {
117
118 anchors.fill: parent
119
120 ListItem.Divider {}
121
122 Button {
123 text : i18n.tr("Forget network")
124 anchors {
125 left: parent.left
126 right: parent.right
127 margins: units.gu(2)
128 }
129 onClicked: {
130 if (DbusHelper.forgetActiveDevice()) {
131 accessPoint.checked = false;
132 accessPoint.checkedChanged(false)
133 }
134
135 }
136 }
137
138 ListItem.Standard {
139 text: i18n.tr("IP address")
140 id: addressItem
141 control: TextField {
142 text: DbusHelper.wifiIp4Address
143 readOnly: true
144 horizontalAlignment: TextInput.AlignRight
145 width: addressItem.width/2
146 persistentSelection: true
147 font.pixelSize: units.dp(16)
148 font.weight: Font.Light
149 font.family: "Ubuntu"
150 color: "#AAAAAA"
151 maximumLength: 20
152 focus: true
153 clip: true
154 opacity: 0.9
155 cursorVisible: false
156 hasClearButton: false
157 }
158 }
159 }
160}
161>>>>>>> MERGE-SOURCE
80162
=== modified file 'plugins/wifi/OtherNetwork.qml'
--- plugins/wifi/OtherNetwork.qml 2015-01-09 08:47:53 +0000
+++ plugins/wifi/OtherNetwork.qml 2015-02-27 05:54:50 +0000
@@ -23,122 +23,286 @@
23import Ubuntu.SystemSettings.Wifi 1.023import Ubuntu.SystemSettings.Wifi 1.0
24import QMenuModel 0.124import QMenuModel 0.1
2525
26Component {26<<<<<<< TREE
2727Component {
28 Dialog {28
2929 Dialog {
30 id: otherNetworkDialog30
31 objectName: "otherNetworkDialog"31 id: otherNetworkDialog
32 anchorToKeyboard: true32 objectName: "otherNetworkDialog"
3333 anchorToKeyboard: true
34 function settingsValid() {34
35 if(networkname.length == 0) {35 function settingsValid() {
36 return false;36 if(networkname.length == 0) {
37 }37 return false;
38 if(securityList.selectedIndex == 0) {38 }
39 return true39 if(securityList.selectedIndex == 0) {
40 }40 return true
41 if(securityList.selectedIndex == 1) {41 }
42 return password.length >= 842 if(securityList.selectedIndex == 1) {
43 }43 return password.length >= 8
44 // WEP44 }
45 return password.length === 5 ||45 // WEP
46 password.length === 10 ||46 return password.length === 5 ||
47 password.length === 13 ||47 password.length === 10 ||
48 password.length === 26;48 password.length === 13 ||
49 }49 password.length === 26;
5050 }
51 title: i18n.tr("Connect to Hidden Network")51
52 text: feedback.enabled ? feedback.text : "";52 title: i18n.tr("Connect to Hidden Network")
5353 text: feedback.enabled ? feedback.text : "";
54 Common {54
55 id: common55 Common {
56 }56 id: common
5757 }
58 states: [58
59 State {59 states: [
60 name: "CONNECTING"60 State {
61 PropertyChanges {61 name: "CONNECTING"
62 target: connectAction62 PropertyChanges {
63 enabled: false63 target: connectAction
64 }64 enabled: false
65 PropertyChanges {65 }
66 target: connectButtonIndicator66 PropertyChanges {
67 running: true67 target: connectButtonIndicator
68 }68 running: true
69 PropertyChanges {69 }
70 target: passwordVisibleSwitch70 PropertyChanges {
71 enabled: false71 target: passwordVisibleSwitch
72 }72 enabled: false
73 PropertyChanges {73 }
74 target: passwordVisibleLabel74 PropertyChanges {
75 opacity: 0.575 target: passwordVisibleLabel
76 }76 opacity: 0.5
77 PropertyChanges {77 }
78 target: password78 PropertyChanges {
79 enabled: false79 target: password
80 }80 enabled: false
81 PropertyChanges {81 }
82 target: passwordListLabel82 PropertyChanges {
83 opacity: 0.583 target: passwordListLabel
84 }84 opacity: 0.5
85 PropertyChanges {85 }
86 target: securityList86 PropertyChanges {
87 enabled: false87 target: securityList
88 opacity: 0.588 enabled: false
89 }89 opacity: 0.5
90 PropertyChanges {90 }
91 target: securityListLabel91 PropertyChanges {
92 opacity: 0.592 target: securityListLabel
93 }93 opacity: 0.5
94 PropertyChanges {94 }
95 target: networkname95 PropertyChanges {
96 enabled: false96 target: networkname
97 }97 enabled: false
98 PropertyChanges {98 }
99 target: networknameLabel99 PropertyChanges {
100 opacity: 0.5100 target: networknameLabel
101 }101 opacity: 0.5
102 PropertyChanges {102 }
103 target: feedback103 PropertyChanges {
104 enabled: true104 target: feedback
105 }105 enabled: true
106 },106 }
107 State {107 },
108 name: "FAILED"108 State {
109 PropertyChanges {109 name: "FAILED"
110 target: feedback110 PropertyChanges {
111 enabled: true111 target: feedback
112 }112 enabled: true
113 },113 }
114 State {114 },
115 name: "SUCCEEDED"115 State {
116 PropertyChanges {116 name: "SUCCEEDED"
117 target: successIndicator117 PropertyChanges {
118 running: true118 target: successIndicator
119 }119 running: true
120 PropertyChanges {120 }
121 target: cancelButton121 PropertyChanges {
122 enabled: false122 target: cancelButton
123 }123 enabled: false
124 PropertyChanges {124 }
125 target: connectAction125 PropertyChanges {
126 enabled: false126 target: connectAction
127 }127 enabled: false
128 }128 }
129 ]129 }
130130 ]
131 Label {131
132 property bool enabled: false132 Label {
133 id: feedback133 property bool enabled: false
134 horizontalAlignment: Text.AlignHCenter134 id: feedback
135 height: contentHeight135 horizontalAlignment: Text.AlignHCenter
136 wrapMode: Text.Wrap136 height: contentHeight
137 visible: false137 wrapMode: Text.Wrap
138 }138 visible: false
139139 }
140 Label {140
141 id: networknameLabel141 Label {
142 id: networknameLabel
143=======
144Component {
145
146 Dialog {
147
148 id: otherNetworkDialog
149 objectName: "otherNetworkDialog"
150 anchorToKeyboard: true
151
152 /* The following is a (bad) workaround for bugs
153 #1337556
154 #1337555
155
156 If the Dialog does not shrink after a user chooses e.g. WPA,
157 the anchorToKeyboard setting of OrientationHelper have no effect,
158 since the dialog never shrinks in size.
159
160 This workaround resizes the Dialog.
161 */
162
163 property int dialogVisualsHeight
164 function getVisibleChildren () {
165 var children = [feedback, networknameLabel, networkname,
166 securityListLabel, securityList, passwordListLabel,
167 password, passwordVisiblityRow, buttonRow];
168 var ret = [];
169 children.forEach(function (child) {
170 if (child.visible) {
171 ret.push(child);
172 }
173 });
174 return ret;
175 }
176
177 function getVisibleChildrenHeight () {
178 var h = 0;
179 getVisibleChildren().forEach(function (child) {
180 h = h + child.height;
181 });
182 return h;
183 }
184
185 Component.onCompleted: {
186 dialogVisualsHeight =
187 __foreground.height - getVisibleChildrenHeight();
188 }
189
190 Binding {
191 target: __foreground
192 property: "height"
193 value: dialogVisualsHeight + getVisibleChildrenHeight()
194 when: dialogVisualsHeight
195 }
196
197 function settingsValid() {
198 if(networkname.length == 0) {
199 return false;
200 }
201 if(securityList.selectedIndex == 0) {
202 return true
203 }
204 if(securityList.selectedIndex == 1) {
205 return password.length >= 8
206 }
207 // WEP
208 return password.length === 5 ||
209 password.length === 10 ||
210 password.length === 13 ||
211 password.length === 26;
212 }
213
214 title: i18n.tr("Connect to Hidden Network")
215 text: feedback.enabled ? feedback.text : "";
216
217 Common {
218 id: common
219 }
220
221 states: [
222 State {
223 name: "CONNECTING"
224 PropertyChanges {
225 target: connectAction
226 enabled: false
227 }
228 PropertyChanges {
229 target: connectButtonIndicator
230 running: true
231 }
232 PropertyChanges {
233 target: passwordVisibleSwitch
234 enabled: false
235 }
236 PropertyChanges {
237 target: passwordVisibleLabel
238 opacity: 0.5
239 }
240 PropertyChanges {
241 target: password
242 enabled: false
243 }
244 PropertyChanges {
245 target: passwordListLabel
246 opacity: 0.5
247 }
248 PropertyChanges {
249 target: securityList
250 enabled: false
251 opacity: 0.5
252 }
253 PropertyChanges {
254 target: securityListLabel
255 opacity: 0.5
256 }
257 PropertyChanges {
258 target: networkname
259 enabled: false
260 }
261 PropertyChanges {
262 target: networknameLabel
263 opacity: 0.5
264 }
265 PropertyChanges {
266 target: feedback
267 enabled: true
268 }
269 },
270 State {
271 name: "FAILED"
272 PropertyChanges {
273 target: feedback
274 enabled: true
275 }
276 },
277 State {
278 name: "SUCCEEDED"
279 PropertyChanges {
280 target: successIndicator
281 running: true
282 }
283 PropertyChanges {
284 target: cancelButton
285 enabled: false
286 }
287 PropertyChanges {
288 target: connectAction
289 enabled: false
290 }
291 }
292 ]
293
294 Label {
295 property bool enabled: false
296 id: feedback
297 horizontalAlignment: Text.AlignHCenter
298 height: contentHeight
299 wrapMode: Text.Wrap
300 visible: false
301 }
302
303 Label {
304 id: networknameLabel
305>>>>>>> MERGE-SOURCE
142 text : i18n.tr("Network name")306 text : i18n.tr("Network name")
143 objectName: "networknameLabel"307 objectName: "networknameLabel"
144 fontSize: "medium"308 fontSize: "medium"
@@ -149,6 +313,7 @@
149313
150 TextField {314 TextField {
151 id : networkname315 id : networkname
316<<<<<<< TREE
152 objectName: "networkname"317 objectName: "networkname"
153 inputMethodHints: Qt.ImhNoPredictiveText318 inputMethodHints: Qt.ImhNoPredictiveText
154 Component.onCompleted: forceActiveFocus()319 Component.onCompleted: forceActiveFocus()
@@ -162,6 +327,20 @@
162 font.bold: true327 font.bold: true
163 color: Theme.palette.selected.backgroundText328 color: Theme.palette.selected.backgroundText
164 elide: Text.ElideRight329 elide: Text.ElideRight
330=======
331 objectName: "networkname"
332 inputMethodHints: Qt.ImhNoPredictiveText
333 }
334
335 Label {
336 id: securityListLabel
337 text : i18n.tr("Security")
338 objectName: "securityListLabel"
339 fontSize: "medium"
340 font.bold: true
341 color: Theme.palette.selected.backgroundText
342 elide: Text.ElideRight
343>>>>>>> MERGE-SOURCE
165 }344 }
166345
167 ListItem.ItemSelector {346 ListItem.ItemSelector {
@@ -188,12 +367,22 @@
188 id : password367 id : password
189 objectName: "password"368 objectName: "password"
190 visible: securityList.selectedIndex !== 0369 visible: securityList.selectedIndex !== 0
370<<<<<<< TREE
191 echoMode: passwordVisibleSwitch.checked ?371 echoMode: passwordVisibleSwitch.checked ?
192 TextInput.Normal : TextInput.Password372 TextInput.Normal : TextInput.Password
193 inputMethodHints: Qt.ImhNoPredictiveText373 inputMethodHints: Qt.ImhNoPredictiveText
194 onAccepted: {374 onAccepted: {
195 connectAction.trigger();375 connectAction.trigger();
196 }376 }
377=======
378 echoMode: passwordVisibleSwitch.checked ?
379 TextInput.Normal : TextInput.Password
380 inputMethodHints: passwordVisibleSwitch.checked ?
381 Qt.ImhHiddenText : Qt.ImhNoPredictiveText;
382 onAccepted: {
383 connectAction.trigger();
384 }
385>>>>>>> MERGE-SOURCE
197 }386 }
198387
199 Row {388 Row {
@@ -204,6 +393,7 @@
204393
205 CheckBox {394 CheckBox {
206 id: passwordVisibleSwitch395 id: passwordVisibleSwitch
396<<<<<<< TREE
207 activeFocusOnPress: false397 activeFocusOnPress: false
208 }398 }
209399
@@ -284,6 +474,87 @@
284474
285 Action {475 Action {
286 id: connectAction476 id: connectAction
477=======
478 }
479
480 Label {
481 id: passwordVisibleLabel
482 text : i18n.tr("Show password")
483 objectName: "passwordVisibleLabel"
484 fontSize: "medium"
485 color: Theme.palette.selected.backgroundText
486 elide: Text.ElideRight
487 height: passwordVisibleSwitch.height
488 verticalAlignment: Text.AlignVCenter
489 MouseArea {
490 anchors {
491 fill: parent
492 }
493 onClicked: {
494 passwordVisibleSwitch.checked =
495 !passwordVisibleSwitch.checked
496 }
497 }
498 }
499 }
500
501 RowLayout {
502 id: buttonRow
503 anchors {
504 left: parent.left
505 right: parent.right
506 }
507 spacing: units.gu(2)
508 height: cancelButton.height
509
510 Button {
511 id: cancelButton
512 objectName: "cancel"
513 Layout.fillWidth: true
514 text: i18n.tr("Cancel")
515 onClicked: {
516 PopupUtils.close(otherNetworkDialog);
517
518 // If this dialog created the connection,
519 // disconnect the device
520 if (otherNetworkDialog.state === "CONNECTING") {
521 DbusHelper.forgetActiveDevice();
522 }
523 }
524 }
525
526 Button {
527 id: connectButton
528 objectName: "connect"
529 Layout.fillWidth: true
530 text: i18n.tr("Connect")
531 enabled: connectAction.enabled
532 action: connectAction
533 Icon {
534 height: parent.height - units.gu(1.5)
535 width: parent.height - units.gu(1.5)
536 anchors {
537 centerIn: parent
538 }
539 name: "tick"
540 color: "green"
541 visible: successIndicator.running
542 }
543 ActivityIndicator {
544 id: connectButtonIndicator
545 running: false
546 visible: running
547 height: parent.height - units.gu(1.5)
548 anchors {
549 centerIn: parent
550 }
551 }
552 }
553 }
554
555 Action {
556 id: connectAction
557>>>>>>> MERGE-SOURCE
287 enabled: settingsValid()558 enabled: settingsValid()
288 onTriggered: {559 onTriggered: {
289 DbusHelper.connect(560 DbusHelper.connect(
290561
=== modified file 'plugins/wifi/PageComponent.qml'
--- plugins/wifi/PageComponent.qml 2014-11-06 13:59:50 +0000
+++ plugins/wifi/PageComponent.qml 2015-02-27 05:54:50 +0000
@@ -135,6 +135,7 @@
135 }135 }
136136
137 ListItem.SingleValue {137 ListItem.SingleValue {
138<<<<<<< TREE
138 objectName: "connectToHiddenNetwork"139 objectName: "connectToHiddenNetwork"
139 text: i18n.tr("Connect to hidden network…")140 text: i18n.tr("Connect to hidden network…")
140 visible : (actionGroup.actionObject.valid ?141 visible : (actionGroup.actionObject.valid ?
@@ -149,6 +150,21 @@
149 id: otherNetworLoader150 id: otherNetworLoader
150 asynchronous: false151 asynchronous: false
151 }152 }
153=======
154 objectName: "connectToHiddenNetwork"
155 text: i18n.tr("Connect to hidden network…")
156 progression: true
157 onClicked: {
158 otherNetworLoader.source = "OtherNetwork.qml";
159 PopupUtils.open(otherNetworLoader.item);
160 }
161 }
162
163 Loader {
164 id: otherNetworLoader
165 asynchronous: false
166 }
167>>>>>>> MERGE-SOURCE
152 }168 }
153169
154 // Only allow flicking if the content doesn't fit on the page170 // Only allow flicking if the content doesn't fit on the page
@@ -156,4 +172,5 @@
156 Flickable.DragAndOvershootBounds :172 Flickable.DragAndOvershootBounds :
157 Flickable.StopAtBounds173 Flickable.StopAtBounds
158 }174 }
175
159}176}
160177
=== modified file 'po/CMakeLists.txt'
--- po/CMakeLists.txt 2015-02-09 15:43:08 +0000
+++ po/CMakeLists.txt 2015-02-27 05:54:50 +0000
@@ -42,7 +42,11 @@
42 --copyright=\"Canonical Ltd.\"42 --copyright=\"Canonical Ltd.\"
43 --package-name ubuntu-system-settings43 --package-name ubuntu-system-settings
44 --qt --c++ --add-comments=TRANSLATORS44 --qt --c++ --add-comments=TRANSLATORS
45<<<<<<< TREE
45 --keyword=QT_TR_NOOP --keyword=ctr:1c,246 --keyword=QT_TR_NOOP --keyword=ctr:1c,2
47=======
48 --keyword=QT_TR_NOOP --keyword=qsTr:1,2c
49>>>>>>> MERGE-SOURCE
46 --keyword=tr --keyword=tr:1,2 --from-code=UTF-850 --keyword=tr --keyword=tr:1,2 --from-code=UTF-8
47 ${QMLFILES} "${CMAKE_CURRENT_BINARY_DIR}/settings.js"51 ${QMLFILES} "${CMAKE_CURRENT_BINARY_DIR}/settings.js"
48 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"52 WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
4953
=== modified file 'po/am.po'
--- po/am.po 2015-02-03 08:00:24 +0000
+++ po/am.po 2015-02-27 05:54:50 +0000
@@ -7,14 +7,20 @@
7msgstr ""7msgstr ""
8"Project-Id-Version: ubuntu-system-settings\n"8"Project-Id-Version: ubuntu-system-settings\n"
9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"9"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
10<<<<<<< TREE
10"POT-Creation-Date: 2014-10-16 20:04-0600\n"11"POT-Creation-Date: 2014-10-16 20:04-0600\n"
11"PO-Revision-Date: 2015-02-01 01:19+0000\n"12"PO-Revision-Date: 2015-02-01 01:19+0000\n"
13=======
14"POT-Creation-Date: 2014-10-16 20:04-0600\n"
15"PO-Revision-Date: 2014-10-22 23:31+0000\n"
16>>>>>>> MERGE-SOURCE
12"Last-Translator: samson <Unknown>\n"17"Last-Translator: samson <Unknown>\n"
13"Language-Team: Amharic <am@li.org>\n"18"Language-Team: Amharic <am@li.org>\n"
14"MIME-Version: 1.0\n"19"MIME-Version: 1.0\n"
15"Content-Type: text/plain; charset=UTF-8\n"20"Content-Type: text/plain; charset=UTF-8\n"
16"Content-Transfer-Encoding: 8bit\n"21"Content-Transfer-Encoding: 8bit\n"
17"Plural-Forms: nplurals=2; plural=n > 1;\n"22"Plural-Forms: nplurals=2; plural=n > 1;\n"
23<<<<<<< TREE
18"X-Launchpad-Export-Date: 2015-02-03 08:00+0000\n"24"X-Launchpad-Export-Date: 2015-02-03 08:00+0000\n"
19"X-Generator: Launchpad (build 17330)\n"25"X-Generator: Launchpad (build 17330)\n"
2026
@@ -31,9 +37,28 @@
31msgstr "ምርጫዎች: ማሰናጃዎች:"37msgstr "ምርጫዎች: ማሰናጃዎች:"
3238
33#: ../plugins/background//Preview.qml:7039#: ../plugins/background//Preview.qml:70
40=======
41"X-Launchpad-Export-Date: 2014-10-24 06:38+0000\n"
42"X-Generator: Launchpad (build 17203)\n"
43
44#: ubuntu-system-settings.desktop.in.in.h:1 ../src/qml/MainWindow.qml:112
45msgid "System Settings"
46msgstr "ስርአት ማሰናጃ"
47
48#: ubuntu-system-settings.desktop.in.in.h:2
49msgid "System;"
50msgstr "ስርአት:"
51
52#: ubuntu-system-settings.desktop.in.in.h:3
53msgid "Preferences;Settings;"
54msgstr "ምርጫዎች: ማሰናጃዎች:"
55
56#: ../plugins/background//Preview.qml:70
57>>>>>>> MERGE-SOURCE
34msgid "Preview"58msgid "Preview"
35msgstr "ቅድመ እይታ"59msgstr "ቅድመ እይታ"
3660
61<<<<<<< TREE
37#: ../plugins/background//Preview.qml:10262#: ../plugins/background//Preview.qml:102
38msgid "Remove image"63msgid "Remove image"
39msgstr "ምስል ማስወገጃ"64msgstr "ምስል ማስወገጃ"
@@ -58,19 +83,59 @@
58#: ../plugins/security-privacy//SimPin.qml:26883#: ../plugins/security-privacy//SimPin.qml:268
59#: ../plugins/background//Components//AddRemove.qml:4284#: ../plugins/background//Components//AddRemove.qml:42
60#: ../plugins/cellular//Components//SimEditor.qml:20485#: ../plugins/cellular//Components//SimEditor.qml:204
86=======
87#: ../plugins/background//Preview.qml:102
88msgid "Remove image"
89msgstr "ምስል ማስወገጃ"
90
91#: ../plugins/background//Preview.qml:102
92#: ../plugins/wifi//OtherNetwork.qml:288
93#: ../plugins/reset//ResetAllSettings.qml:38
94#: ../plugins/reset//ResetLauncherHome.qml:55
95#: ../plugins/reset//EraseEverything.qml:54
96#: ../plugins/language//RebootNecessary.qml:47
97#: ../plugins/language//DisplayLanguage.qml:98
98#: ../plugins/phone//CallForwarding.qml:139
99#: ../plugins/cellular//PageChooseApn.qml:594
100#: ../plugins/cellular//CustomApnEditor.qml:245
101#: ../plugins/cellular//HotspotSetup.qml:85
102#: ../plugins/security-privacy//LockSecurity.qml:283
103#: ../plugins/security-privacy//SimPin.qml:149
104#: ../plugins/security-privacy//SimPin.qml:266
105#: ../plugins/bluetooth//ProvidePasskeyDialog.qml:54
106#: ../plugins/bluetooth//ConfirmPasskeyDialog.qml:49
107#: ../plugins/bluetooth//ProvidePinCodeDialog.qml:55
108#: ../plugins/time-date//TimePicker.qml:173
109#: ../plugins/background//Components//AddRemove.qml:42
110#: ../plugins/cellular//Components//SimEditor.qml:189
111>>>>>>> MERGE-SOURCE
61msgid "Cancel"112msgid "Cancel"
62msgstr "መሰረዣ"113msgstr "መሰረዣ"
63114
64#: ../plugins/background//Preview.qml:109115<<<<<<< TREE
116#: ../plugins/background//Preview.qml:109
117=======
118#: ../plugins/background//Preview.qml:109
119#: ../plugins/phone//CallForwarding.qml:152
120#: ../plugins/security-privacy//LockSecurity.qml:304
121>>>>>>> MERGE-SOURCE
65#: ../plugins/time-date//TimePicker.qml:182122#: ../plugins/time-date//TimePicker.qml:182
123<<<<<<< TREE
66#: ../plugins/phone//CallForwarding.qml:152124#: ../plugins/phone//CallForwarding.qml:152
67#: ../plugins/security-privacy//LockSecurity.qml:354125#: ../plugins/security-privacy//LockSecurity.qml:354
126=======
127>>>>>>> MERGE-SOURCE
68msgid "Set"128msgid "Set"
69msgstr "ማሰናጃ"129msgstr "ማሰናጃ"
70130
71#. TRANSLATORS: This is a keyword or name for the background plugin which is used while searching131#. TRANSLATORS: This is a keyword or name for the background plugin which is used while searching
132<<<<<<< TREE
72#: ../plugins/background//MainPage.qml:35133#: ../plugins/background//MainPage.qml:35
73#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:8134#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:8
135=======
136#: ../plugins/background//MainPage.qml:35
137#: /home/elopio/workspace/canonical/ubuntu-system-settings/experimental/update-pot/builddir/po/settings.js:2
138>>>>>>> MERGE-SOURCE
74msgid "Background"139msgid "Background"
75msgstr "መደቡ"140msgstr "መደቡ"
76141
@@ -83,6 +148,7 @@
83#: ../plugins/cellular//PageChooseApn.qml:488148#: ../plugins/cellular//PageChooseApn.qml:488
84#: ../plugins/cellular//PageChooseApn.qml:496149#: ../plugins/cellular//PageChooseApn.qml:496
85msgid "Custom"150msgid "Custom"
151<<<<<<< TREE
86msgstr "የተለመደ"152msgstr "የተለመደ"
87153
88#: ../plugins/wifi//RemoveBackground.qml:28154#: ../plugins/wifi//RemoveBackground.qml:28
@@ -224,9 +290,154 @@
224msgstr ""290msgstr ""
225291
226#: ../plugins/bluetooth//PageComponent.qml:87 ../plugins/wifi//Common.qml:96292#: ../plugins/bluetooth//PageComponent.qml:87 ../plugins/wifi//Common.qml:96
293=======
294msgstr ""
295
296#: ../plugins/wifi//RemoveBackground.qml:28
297msgid "Clear"
298msgstr "ማጽጃ"
299
300#: ../plugins/wifi//NetworkDetailsBrief.qml:42
301#: ../plugins/bluetooth//PageComponent.qml:411
302msgid "Disconnect"
303msgstr "ማቋረጫ"
304
305#: ../plugins/wifi//NetworkDetailsBrief.qml:58
306msgid "IP address"
307msgstr "IP አድራሻ"
308
309#: ../plugins/wifi//PreviousNetworks.qml:27
310#: ../plugins/wifi//PageComponent.qml:132
311msgid "Previous networks"
312msgstr "ቀደም ያሉ ኔትዎርኮች"
313
314#: ../plugins/wifi//Common.qml:36
315msgid "Unknown error"
316msgstr "ያልታወቀ ስህተት"
317
318#: ../plugins/wifi//Common.qml:38
319msgid "No reason given"
320msgstr "ምንም ምክንያት አልተሰጠም"
321
322#: ../plugins/wifi//Common.qml:40
323msgid "Device is now managed"
324msgstr "አካሉ አሁን በ አስተዳዳሪው ቁጥጥር ውስጥ ነው"
325
326#: ../plugins/wifi//Common.qml:42
327msgid "Device is now unmanaged"
328msgstr "አካሉ አሁን በ አስተዳዳሪው ቁጥጥር ውስጥ አይደለም"
329
330#: ../plugins/wifi//Common.qml:44
331msgid "The device could not be readied for configuration"
332msgstr "ለማዋቀር አካሉን ማዘጋጀት አልተቻለም"
333
334#: ../plugins/wifi//Common.qml:46
335msgid ""
336"IP configuration could not be reserved (no available address, timeout, etc.)"
337msgstr ""
338
339#: ../plugins/wifi//Common.qml:48
340msgid "The IP configuration is no longer valid"
341msgstr ""
342
343#: ../plugins/wifi//Common.qml:50
344msgid "Your authentication details were incorrect"
345msgstr "የ እርስዎ ማረጋገጫ ዝርዝር ትክክል አይደለም"
346
347#: ../plugins/wifi//Common.qml:52
348msgid "802.1X supplicant disconnected"
349msgstr ""
350
351#: ../plugins/wifi//Common.qml:54
352msgid "802.1X supplicant configuration failed"
353msgstr ""
354
355#: ../plugins/wifi//Common.qml:56
356msgid "802.1X supplicant failed"
357msgstr ""
358
359#: ../plugins/wifi//Common.qml:58
360msgid "802.1X supplicant took too long to authenticate"
361msgstr ""
362
363#: ../plugins/wifi//Common.qml:60
364msgid "DHCP client failed to start"
365msgstr "የ DHCP ደንበኛ ማስጀመር አልተቻለም"
366
367#: ../plugins/wifi//Common.qml:62
368msgid "DHCP client error"
369msgstr "የ DHCP ደንበኛ ስህተት"
370
371#: ../plugins/wifi//Common.qml:64
372msgid "DHCP client failed"
373msgstr "የ DHCP ደንበኛ ወድቋል"
374
375#: ../plugins/wifi//Common.qml:66
376msgid "Shared connection service failed to start"
377msgstr "የሚጋሩትን የ ግንኙነት ግልጋሎት ማስጀመር አልተቻለም"
378
379#: ../plugins/wifi//Common.qml:68
380msgid "Shared connection service failed"
381msgstr "የሚጋሩት የ ግንኙነት ግልጋሎት ወድቋል"
382
383#: ../plugins/wifi//Common.qml:70
384msgid "Necessary firmware for the device may be missing"
385msgstr ""
386
387#: ../plugins/wifi//Common.qml:72
388msgid "The device was removed"
389msgstr "አካሉ ተወግዷል"
390
391#: ../plugins/wifi//Common.qml:74
392msgid "NetworkManager went to sleep"
393msgstr "የ ኔትዎርክ አስተዳዳሪ ተኝቷል"
394
395#: ../plugins/wifi//Common.qml:76
396msgid "The device's active connection disappeared"
397msgstr "የ አካሉ ንቁ ግንኙነት ጠፍቷል"
398
399#: ../plugins/wifi//Common.qml:78
400msgid "Device disconnected by user or client"
401msgstr "አካሉ በ ተጠቃሚው ወይንም በ ደንበኛው ተለያይቷል"
402
403#: ../plugins/wifi//Common.qml:80
404msgid "The device's existing connection was assumed"
405msgstr ""
406
407#: ../plugins/wifi//Common.qml:82
408msgid "The supplicant is now available"
409msgstr ""
410
411#: ../plugins/wifi//Common.qml:84
412msgid "The modem could not be found"
413msgstr "ሞደም ማግኘት አልተቻለም"
414
415#: ../plugins/wifi//Common.qml:86
416msgid "The Bluetooth connection failed or timed out"
417msgstr "የ ብሉቱዝ ግንኙነት ወድቋል ወይንም ጊዜው አልፏል"
418
419#: ../plugins/wifi//Common.qml:88
420msgid "A dependency of the connection failed"
421msgstr ""
422
423#: ../plugins/wifi//Common.qml:90
424msgid "ModemManager is unavailable"
425msgstr "የ ሞደም አስተዳዳሪ አልተገኘም"
426
427#: ../plugins/wifi//Common.qml:92
428msgid "The Wi-Fi network could not be found"
429msgstr "የ ዋይ-ፋይ ኔትዎርክ አልተገኘም"
430
431#: ../plugins/wifi//Common.qml:94
432msgid "A secondary connection of the base connection failed"
433msgstr ""
434
435#: ../plugins/wifi//Common.qml:96 ../plugins/bluetooth//PageComponent.qml:86
436>>>>>>> MERGE-SOURCE
227msgid "Unknown"437msgid "Unknown"
228msgstr "ያልታወቀ"438msgstr "ያልታወቀ"
229439
440<<<<<<< TREE
230#: ../plugins/wifi//OtherNetwork.qml:51441#: ../plugins/wifi//OtherNetwork.qml:51
231msgid "Connect to Hidden Network"442msgid "Connect to Hidden Network"
232msgstr "ከ ተደበቀ ኔትዎርክ ጋር መገናኛ"443msgstr "ከ ተደበቀ ኔትዎርክ ጋር መገናኛ"
@@ -294,9 +505,73 @@
294505
295#: ../plugins/bluetooth//PageComponent.qml:346506#: ../plugins/bluetooth//PageComponent.qml:346
296#: ../plugins/wifi//NetworkDetails.qml:45507#: ../plugins/wifi//NetworkDetails.qml:45
508=======
509#: ../plugins/wifi//OtherNetwork.qml:96
510msgid "Connect to Hidden Network"
511msgstr "ከ ተደበቀ ኔትዎርክ ጋር መገናኛ"
512
513#: ../plugins/wifi//OtherNetwork.qml:187
514msgid "Network name"
515msgstr "የ ኔትዎርክ ስም"
516
517#: ../plugins/wifi//OtherNetwork.qml:203
518#: ../plugins/security-privacy//PageComponent.qml:126
519msgid "Security"
520msgstr "ደህንነት"
521
522#: ../plugins/wifi//OtherNetwork.qml:214
523#: ../plugins/bluetooth//PageComponent.qml:116
524#: ../plugins/bluetooth//PageComponent.qml:326
525#: ../plugins/bluetooth//PageComponent.qml:347
526msgid "None"
527msgstr "ምንም"
528
529#: ../plugins/wifi//OtherNetwork.qml:215
530msgid "WPA & WPA2 Personal"
531msgstr "WPA & WPA2 የግል"
532
533#: ../plugins/wifi//OtherNetwork.qml:216
534msgid "WEP"
535msgstr "WEP"
536
537#: ../plugins/wifi//OtherNetwork.qml:222
538#: ../plugins/wifi//NetworkDetails.qml:64
539#: ../plugins/cellular//CustomApnEditor.qml:222
540msgid "Password"
541msgstr "የመግቢያ ቃል"
542
543#: ../plugins/wifi//OtherNetwork.qml:256
544#: ../plugins/wifi//NetworkDetails.qml:77
545msgid "Show password"
546msgstr "የመግቢያ ቃል ማሳያ"
547
548#: ../plugins/wifi//OtherNetwork.qml:304
549#: ../plugins/bluetooth//PageComponent.qml:411
550msgid "Connect"
551msgstr "መገናኛ"
552
553#. TRANSLATORS: This is a keyword or name for the wifi plugin which is used while searching
554#: ../plugins/wifi//PageComponent.qml:28
555#: ../plugins/battery//PageComponent.qml:333
556#: /home/elopio/workspace/canonical/ubuntu-system-settings/experimental/update-pot/builddir/po/settings.js:24
557msgid "Wi-Fi"
558msgstr "ዋይ-ፋይ"
559
560#: ../plugins/wifi//PageComponent.qml:139
561msgid "Connect to hidden network…"
562msgstr "ከ ተደበቀ ኔትዎርክ ጋር መገናኛ…"
563
564#: ../plugins/wifi//NetworkDetails.qml:38
565msgid "Network details"
566msgstr "የ ኔትዎርክ ዝርዝር"
567
568#: ../plugins/wifi//NetworkDetails.qml:45
569#: ../plugins/bluetooth//PageComponent.qml:346
570>>>>>>> MERGE-SOURCE
297msgid "Name"571msgid "Name"
298msgstr "ስም"572msgstr "ስም"
299573
574<<<<<<< TREE
300#: ../plugins/wifi//NetworkDetails.qml:53575#: ../plugins/wifi//NetworkDetails.qml:53
301msgid "Last connected"576msgid "Last connected"
302msgstr "መጨረሻ የተገናኘው"577msgstr "መጨረሻ የተገናኘው"
@@ -318,10 +593,36 @@
318#: ../plugins/wifi//NetworkDetailsBrief.qml:42593#: ../plugins/wifi//NetworkDetailsBrief.qml:42
319msgid "Forget network"594msgid "Forget network"
320msgstr "ኔትዎርክን መተው"595msgstr "ኔትዎርክን መተው"
596=======
597#: ../plugins/wifi//NetworkDetails.qml:53
598msgid "Last connected"
599msgstr "መጨረሻ የተገናኘው"
600
601#: ../plugins/wifi//NetworkDetails.qml:58
602#: ../plugins/battery//PageComponent.qml:315
603#: ../plugins/battery//PageComponent.qml:324
604#: ../plugins/battery//SleepValues.qml:106
605#: ../plugins/security-privacy//PhoneLocking.qml:78
606#: ../plugins/security-privacy//PhoneLocking.qml:87
607#: ../plugins/security-privacy//PageComponent.qml:140
608#: ../plugins/about//PageComponent.qml:167
609#: ../plugins/system-update//PageComponent.qml:762
610#: ../plugins/system-update//Configuration.qml:52
611msgid "Never"
612msgstr "በፍጹም"
613
614#: ../plugins/wifi//NetworkDetails.qml:88
615msgid "Forget network"
616msgstr "ኔትዎርክን መተው"
617>>>>>>> MERGE-SOURCE
321618
322#. TRANSLATORS: This is a keyword or name for the notifications plugin which is used while searching619#. TRANSLATORS: This is a keyword or name for the notifications plugin which is used while searching
323#: ../plugins/notifications//PageComponent.qml:29620#: ../plugins/notifications//PageComponent.qml:29
621<<<<<<< TREE
324#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:296622#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:296
623=======
624#: /home/elopio/workspace/canonical/ubuntu-system-settings/experimental/update-pot/builddir/po/settings.js:44
625>>>>>>> MERGE-SOURCE
325msgid "Notifications"626msgid "Notifications"
326msgstr "ማስታወቂያዎች"627msgstr "ማስታወቂያዎች"
327628
@@ -331,73 +632,142 @@
331"and the Notification Center."632"and the Notification Center."
332msgstr ""633msgstr ""
333634
635<<<<<<< TREE
334#: ../plugins/sound//SoundsList.qml:70636#: ../plugins/sound//SoundsList.qml:70
335msgid "Stop playing"637msgid "Stop playing"
336msgstr "ጨዋታውን ማስቆሚያ"638msgstr "ጨዋታውን ማስቆሚያ"
639=======
640#: ../plugins/sound//SoundsList.qml:60
641msgid "Stop playing"
642msgstr "ጨዋታውን ማስቆሚያ"
643>>>>>>> MERGE-SOURCE
337644
338#. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching645#. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching
646<<<<<<< TREE
339#: ../plugins/sound//PageComponent.qml:37647#: ../plugins/sound//PageComponent.qml:37
340#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:132648#: /build/buildd/ubuntu-system-settings-0.3+15.04.20150129.2/obj-i686-linux-gnu/po/settings.js:132
649=======
650#: ../plugins/sound//PageComponent.qml:37
651#: /home/elopio/workspace/canonical/ubuntu-system-settings/experimental/update-pot/builddir/po/settings.js:68
652>>>>>>> MERGE-SOURCE
341msgid "Sound"653msgid "Sound"
342msgstr "ድምፅ"654msgstr "ድምፅ"
343655
656<<<<<<< TREE
344#: ../plugins/sound//PageComponent.qml:77657#: ../plugins/sound//PageComponent.qml:77
658=======
659#: ../plugins/sound//PageComponent.qml:76
660>>>>>>> MERGE-SOURCE
345msgid "Silent Mode"661msgid "Silent Mode"
346msgstr "በ ዝምታ ዘዴ"662msgstr "በ ዝምታ ዘዴ"
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches