Merge lp:~ken-vandine/ubuntu-system-settings/rtm-14.09-20140822 into lp:ubuntu-system-settings/rtm-14.09
- rtm-14.09-20140822
- Merge into rtm-14.09
Status: | Rejected |
---|---|
Rejected by: | Ken VanDine |
Proposed branch: | lp:~ken-vandine/ubuntu-system-settings/rtm-14.09-20140822 |
Merge into: | lp:ubuntu-system-settings/rtm-14.09 |
Diff against target: |
7008 lines (+2952/-1127) 104 files modified
debian/changelog (+74/-0) debian/control (+1/-1) plugins/about/storageabout.cpp (+11/-7) plugins/battery/PageComponent.qml (+1/-2) plugins/battery/SleepValues.qml (+19/-9) plugins/battery/battery.cpp (+4/-6) plugins/bluetooth/PageComponent.qml (+174/-142) plugins/bluetooth/agent.h (+1/-1) plugins/bluetooth/bluetooth.cpp (+1/-3) plugins/bluetooth/bluetooth.h (+5/-5) plugins/bluetooth/device.cpp (+1/-0) plugins/cellular/CMakeLists.txt (+1/-0) plugins/cellular/Components/CMakeLists.txt (+4/-1) plugins/cellular/Components/CellularMultiSim.qml (+18/-20) plugins/cellular/Components/CellularSingleSim.qml (+13/-14) plugins/cellular/Components/DefaultSim.qml (+3/-4) plugins/cellular/Components/MultiSim.qml (+120/-0) plugins/cellular/Components/NoSim.qml (+51/-0) plugins/cellular/Components/Sim.qml (+2/-0) plugins/cellular/Components/SimEditor.qml (+8/-8) plugins/cellular/Components/SingleSim.qml (+76/-0) plugins/cellular/PageChooseCarriers.qml (+9/-10) plugins/cellular/PageComponent.qml (+42/-159) plugins/cellular/sims.js (+34/-0) plugins/notifications/notification_item.cpp (+2/-1) plugins/phone/CMakeLists.txt (+5/-0) plugins/phone/CallForwarding.qml (+17/-13) plugins/phone/CallWaiting.qml (+14/-3) plugins/phone/MultiSim.qml (+135/-0) plugins/phone/NoSims.qml (+46/-0) plugins/phone/Ofono.qml (+50/-0) plugins/phone/PageComponent.qml (+64/-39) plugins/phone/Services.qml (+4/-1) plugins/phone/SingleSim.qml (+57/-0) plugins/phone/sims.js (+34/-0) plugins/security-privacy/LockSecurity.qml (+3/-2) plugins/security-privacy/PageComponent.qml (+57/-37) plugins/security-privacy/PhoneLocking.qml (+27/-4) plugins/security-privacy/trust-store-model.cpp (+1/-1) plugins/system-update/PageComponent.qml (+320/-329) plugins/system-update/update_manager.cpp (+2/-1) plugins/time-date/timezonelocationmodel.cpp (+2/-2) po/am.po (+1/-1) po/en_AU.po (+22/-21) po/en_GB.po (+23/-21) po/es.po (+21/-21) po/fi.po (+43/-41) po/fr.po (+8/-5) po/gl.po (+7/-7) po/he.po (+28/-28) po/hu.po (+21/-20) po/pt.po (+16/-16) po/ro.po (+18/-16) po/ru.po (+21/-19) po/uk.po (+22/-21) src/i18n.cpp (+1/-1) src/plugin-manager.cpp (+1/-1) src/plugin.cpp (+4/-4) tests/autopilot/ubuntu_system_settings/__init__.py (+150/-0) tests/autopilot/ubuntu_system_settings/tests/__init__.py (+60/-6) tests/autopilot/ubuntu_system_settings/tests/ofono.py (+215/-0) tests/autopilot/ubuntu_system_settings/tests/test_cellular.py (+96/-1) tests/autopilot/ubuntu_system_settings/tests/test_phone.py (+111/-0) tests/autopilot/ubuntu_system_settings/tests/test_security.py (+173/-0) tests/autopilot/ubuntu_system_settings/tests/test_system_updates.py (+0/-4) tests/plugins/bluetooth/tst_bluetooth.cpp (+1/-1) tests/plugins/bluetooth/tst_devicemodel.cpp (+1/-1) tests/plugins/system-update/tst_update.cpp (+1/-1) tests/plugins/system-update/tst_updatemanager.cpp (+1/-1) tests/test-plugin2.cpp (+2/-2) tests/tst_arguments.cpp (+1/-1) tests/tst_plugins.cpp (+1/-1) wizard/CMakeLists.txt (+2/-0) wizard/main.cpp (+33/-4) wizard/qml/Components/CheckableSetting.qml (+80/-0) wizard/qml/Components/Page.qml (+4/-1) wizard/qml/Pages/10-welcome.qml (+1/-0) wizard/qml/Pages/30-location.qml (+72/-0) wizard/qml/Pages/40-reporting.qml (+2/-4) wizard/qml/Pages/80-finished.qml (+2/-4) wizard/qml/Pages/data/HEREposconsent_da-DK.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_de-DE.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_en-GB.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_en-US.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_es-ES.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_es-MX.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_fr-FR.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_it-IT.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_ja-JP.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_ko-KR.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_nl-NL.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_pl-PL.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_pt-BR.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_pt-PT.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_ru-RU.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_sv-SE.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_zh-CN.html (+1/-0) wizard/qml/Pages/data/HEREposconsent_zh-TW.html (+1/-0) wizard/qml/Pages/no-sim.qml (+2/-4) wizard/qml/Pages/terms.qml (+119/-0) wizard/qml/main.qml (+4/-1) wizard/ubuntu-system-settings-wizard-cleanup.conf (+0/-17) wizard/ubuntu-system-settings-wizard-set-lang.conf (+30/-0) wizard/ubuntu-system-settings-wizard.conf (+0/-5) |
To merge this branch: | bzr merge lp:~ken-vandine/ubuntu-system-settings/rtm-14.09-20140822 |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Brendan Donegan (community) | Needs Information | ||
Ubuntu Touch System Settings | Pending | ||
Review via email: mp+231980@code.launchpad.net |
Commit message
[ Charles Kerr ]
* In the welcome wizard, refresh the text in the 'no sim card' and
'all done' pages to match the latest from design.
[ Michael Terry ]
* Add a location page and a terms and conditions page for the HERE
service.
[ Ken VanDine ]
* Settings for idle/lock timeout (LP: #1230345)
* Added flickable to fix scrolling (LP: #1354161)
[ Jussi Pakkanen ]
* Fix a bunch of compiler warnings.
[ jonas-drange ]
* [cellular] displays cellular UIs based on how many SIMs are present.
(LP: #1357393)
Description of the change
[ Charles Kerr ]
* In the welcome wizard, refresh the text in the 'no sim card' and
'all done' pages to match the latest from design.
[ Michael Terry ]
* Add a location page and a terms and conditions page for the HERE
service.
[ Ken VanDine ]
* Settings for idle/lock timeout (LP: #1230345)
* Added flickable to fix scrolling (LP: #1354161)
[ Jussi Pakkanen ]
* Fix a bunch of compiler warnings.
[ jonas-drange ]
* [cellular] displays cellular UIs based on how many SIMs are present.
(LP: #1357393)
- 928. By Ken VanDine
-
* In the welcome wizard, refresh the text in the 'no sim card' and
'all done' pages to match the latest from design.
* Add a location page and a terms and conditions page for the HERE
service.
* Settings for idle/lock timeout (LP: #1230345)
* Added flickable to fix scrolling (LP: #1354161)
* Fix a bunch of compiler warnings.
* [cellular] displays cellular UIs based on how many SIMs are present.
(LP: #1357393) - 929. By Ken VanDine
-
merged phone panel supported for dual sim as well as bug fixes related to dual sim
- 930. By Ken VanDine
-
Added autopilot tests for security-privacy panel
Brendan Donegan (brendan-donegan) wrote : | # |
- 931. By Ken VanDine
-
[ Ken VanDine ]
* Hide sleep locks immediately setting, which isn't implemented yet
(LP: #1361297) (LP: #1361297)
[ Sebastien Bacher ]
* [system-update] rework the ui to use a column rather than anchors,
the layout is quite dynamic and it should be easier to position and
stack widgets this way (LP: #1343172)
[ Michael Terry ]
* After selecting the language, update the session environment
immediately and restart indicators so that their notifications (like
wifi prompt) are translated. (LP: #1354325)
[ Ken VanDine ]
* Added autopilot tests for security-privacy
[ jonas-drange ]
* [phone] adding dual sim functionality to phone panel
Ken VanDine (ken-vandine) wrote : | # |
> Do you want to merge https:/
> settings/
> broken setting?
I've merged that in and will rebuild the silo.
Unmerged revisions
- 931. By Ken VanDine
-
[ Ken VanDine ]
* Hide sleep locks immediately setting, which isn't implemented yet
(LP: #1361297) (LP: #1361297)
[ Sebastien Bacher ]
* [system-update] rework the ui to use a column rather than anchors,
the layout is quite dynamic and it should be easier to position and
stack widgets this way (LP: #1343172)
[ Michael Terry ]
* After selecting the language, update the session environment
immediately and restart indicators so that their notifications (like
wifi prompt) are translated. (LP: #1354325)
[ Ken VanDine ]
* Added autopilot tests for security-privacy
[ jonas-drange ]
* [phone] adding dual sim functionality to phone panel - 930. By Ken VanDine
-
Added autopilot tests for security-privacy panel
- 929. By Ken VanDine
-
merged phone panel supported for dual sim as well as bug fixes related to dual sim
- 928. By Ken VanDine
-
* In the welcome wizard, refresh the text in the 'no sim card' and
'all done' pages to match the latest from design.
* Add a location page and a terms and conditions page for the HERE
service.
* Settings for idle/lock timeout (LP: #1230345)
* Added flickable to fix scrolling (LP: #1354161)
* Fix a bunch of compiler warnings.
* [cellular] displays cellular UIs based on how many SIMs are present.
(LP: #1357393) - 927. By Ken VanDine
-
[ Charles Kerr ]
* In the welcome wizard, refresh the text in the 'no sim card' and
'all done' pages to match the latest from design.
[ Michael Terry ]
* Add a location page and a terms and conditions page for the HERE
service.
[ Ken VanDine ]
* Settings for idle/lock timeout (LP: #1230345)
* Added flickable to fix scrolling (LP: #1354161)
[ Jussi Pakkanen ]
* Fix a bunch of compiler warnings.
[ jonas-drange ]
* [cellular] displays cellular UIs based on how many SIMs are present.
(LP: #1357393)
Preview Diff
1 | === modified file 'debian/changelog' | |||
2 | --- debian/changelog 2014-08-19 15:26:56 +0000 | |||
3 | +++ debian/changelog 2014-08-26 11:38:32 +0000 | |||
4 | @@ -1,3 +1,77 @@ | |||
5 | 1 | ubuntu-system-settings (0.3+14.10.20140826-0ubuntu1) utopic; urgency=low | ||
6 | 2 | |||
7 | 3 | [ Ken VanDine ] | ||
8 | 4 | * Hide sleep locks immediately setting, which isn't implemented yet | ||
9 | 5 | (LP: #1361297) (LP: #1361297) | ||
10 | 6 | |||
11 | 7 | [ Sebastien Bacher ] | ||
12 | 8 | * [system-update] rework the ui to use a column rather than anchors, | ||
13 | 9 | the layout is quite dynamic and it should be easier to position and | ||
14 | 10 | stack widgets this way (LP: #1343172) | ||
15 | 11 | |||
16 | 12 | [ Michael Terry ] | ||
17 | 13 | * After selecting the language, update the session environment | ||
18 | 14 | immediately and restart indicators so that their notifications (like | ||
19 | 15 | wifi prompt) are translated. (LP: #1354325) | ||
20 | 16 | |||
21 | 17 | -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Tue, 26 Aug 2014 00:55:20 +0000 | ||
22 | 18 | |||
23 | 19 | ubuntu-system-settings (0.3+14.10.20140825-0ubuntu1) utopic; urgency=low | ||
24 | 20 | |||
25 | 21 | [ Ken VanDine ] | ||
26 | 22 | * Added autopilot tests for security-privacy | ||
27 | 23 | |||
28 | 24 | [ jonas-drange ] | ||
29 | 25 | * [phone] adding dual sim functionality to phone panel | ||
30 | 26 | |||
31 | 27 | -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Mon, 25 Aug 2014 15:19:31 +0000 | ||
32 | 28 | |||
33 | 29 | ubuntu-system-settings (0.3+14.10.20140822.1-0ubuntu2) UNRELEASED; urgency=medium | ||
34 | 30 | |||
35 | 31 | [ Charles Kerr ] | ||
36 | 32 | * In the welcome wizard, refresh the text in the 'no sim card' and | ||
37 | 33 | 'all done' pages to match the latest from design. | ||
38 | 34 | |||
39 | 35 | [ Michael Terry ] | ||
40 | 36 | * Add a location page and a terms and conditions page for the HERE | ||
41 | 37 | service. | ||
42 | 38 | |||
43 | 39 | [ Ken VanDine ] | ||
44 | 40 | * Settings for idle/lock timeout (LP: #1230345) | ||
45 | 41 | * Added flickable to fix scrolling (LP: #1354161) | ||
46 | 42 | |||
47 | 43 | [ Jussi Pakkanen ] | ||
48 | 44 | * Fix a bunch of compiler warnings. | ||
49 | 45 | |||
50 | 46 | [ jonas-drange ] | ||
51 | 47 | * [cellular] displays cellular UIs based on how many SIMs are present. | ||
52 | 48 | (LP: #1357393) | ||
53 | 49 | |||
54 | 50 | -- Ken VanDine <ken.vandine@canonical.com> Fri, 22 Aug 2014 22:47:14 -0400 | ||
55 | 51 | |||
56 | 52 | ubuntu-system-settings (0.3+14.10.20140822.1-0ubuntu1) utopic; urgency=low | ||
57 | 53 | |||
58 | 54 | [ Charles Kerr ] | ||
59 | 55 | * In the welcome wizard, refresh the text in the 'no sim card' and | ||
60 | 56 | 'all done' pages to match the latest from design. | ||
61 | 57 | |||
62 | 58 | [ Michael Terry ] | ||
63 | 59 | * Add a location page and a terms and conditions page for the HERE | ||
64 | 60 | service. | ||
65 | 61 | |||
66 | 62 | [ Ken VanDine ] | ||
67 | 63 | * Settings for idle/lock timeout (LP: #1230345) | ||
68 | 64 | * Added flickable to fix scrolling (LP: #1354161) | ||
69 | 65 | |||
70 | 66 | [ Jussi Pakkanen ] | ||
71 | 67 | * Fix a bunch of compiler warnings. | ||
72 | 68 | |||
73 | 69 | [ jonas-drange ] | ||
74 | 70 | * [cellular] displays cellular UIs based on how many SIMs are present. | ||
75 | 71 | (LP: #1357393) | ||
76 | 72 | |||
77 | 73 | -- Ubuntu daily release <ps-jenkins@lists.canonical.com> Fri, 22 Aug 2014 18:57:00 +0000 | ||
78 | 74 | |||
79 | 1 | ubuntu-system-settings (0.3+14.10.20140819.1-0ubuntu1) utopic; urgency=low | 75 | ubuntu-system-settings (0.3+14.10.20140819.1-0ubuntu1) utopic; urgency=low |
80 | 2 | 76 | ||
81 | 3 | [ Sebastien Bacher ] | 77 | [ Sebastien Bacher ] |
82 | 4 | 78 | ||
83 | === modified file 'debian/control' | |||
84 | --- debian/control 2014-08-19 14:56:31 +0000 | |||
85 | +++ debian/control 2014-08-26 11:38:32 +0000 | |||
86 | @@ -56,7 +56,7 @@ | |||
87 | 56 | bluez (>= 4.36), | 56 | bluez (>= 4.36), |
88 | 57 | dbus-property-service [amd64 armhf i386], | 57 | dbus-property-service [amd64 armhf i386], |
89 | 58 | gsettings-desktop-schemas, | 58 | gsettings-desktop-schemas, |
91 | 59 | gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140813), | 59 | gsettings-ubuntu-schemas (>= 0.0.2+14.10.20140815), |
92 | 60 | indicator-bluetooth (>> 0.0.6+13.10.20131010), | 60 | indicator-bluetooth (>> 0.0.6+13.10.20131010), |
93 | 61 | indicator-network (>= 0.5.0+13.10.20130918), | 61 | indicator-network (>= 0.5.0+13.10.20130918), |
94 | 62 | powerd (>= 0.15) | gnome-settings-daemon, | 62 | powerd (>= 0.15) | gnome-settings-daemon, |
95 | 63 | 63 | ||
96 | === modified file 'plugins/about/storageabout.cpp' | |||
97 | --- plugins/about/storageabout.cpp 2014-07-24 10:57:43 +0000 | |||
98 | +++ plugins/about/storageabout.cpp 2014-08-26 11:38:32 +0000 | |||
99 | @@ -60,7 +60,7 @@ | |||
100 | 60 | GAsyncReadyCallback callback, | 60 | GAsyncReadyCallback callback, |
101 | 61 | gpointer user_data) | 61 | gpointer user_data) |
102 | 62 | { | 62 | { |
104 | 63 | MeasureData *data = (MeasureData *) user_data; | 63 | auto *data = static_cast<MeasureData *>(user_data); |
105 | 64 | 64 | ||
106 | 65 | GFile *file = g_file_new_for_path (filename); | 65 | GFile *file = g_file_new_for_path (filename); |
107 | 66 | 66 | ||
108 | @@ -103,7 +103,7 @@ | |||
109 | 103 | GError *err = NULL; | 103 | GError *err = NULL; |
110 | 104 | GFile *file = G_FILE (source_object); | 104 | GFile *file = G_FILE (source_object); |
111 | 105 | 105 | ||
113 | 106 | MeasureData *data = (MeasureData *) user_data; | 106 | auto data = static_cast<MeasureData *>(user_data); |
114 | 107 | 107 | ||
115 | 108 | guint64 *size = (guint64 *) data->size; | 108 | guint64 *size = (guint64 *) data->size; |
116 | 109 | 109 | ||
117 | @@ -137,6 +137,11 @@ | |||
118 | 137 | QObject(parent), | 137 | QObject(parent), |
119 | 138 | m_clickModel(), | 138 | m_clickModel(), |
120 | 139 | m_clickFilterProxy(&m_clickModel), | 139 | m_clickFilterProxy(&m_clickModel), |
121 | 140 | m_moviesSize(0), | ||
122 | 141 | m_audioSize(0), | ||
123 | 142 | m_picturesSize(0), | ||
124 | 143 | m_otherSize(0), | ||
125 | 144 | m_homeSize(0), | ||
126 | 140 | m_propertyService(new QDBusInterface(PROPERTY_SERVICE_OBJ, | 145 | m_propertyService(new QDBusInterface(PROPERTY_SERVICE_OBJ, |
127 | 141 | PROPERTY_SERVICE_PATH, | 146 | PROPERTY_SERVICE_PATH, |
128 | 142 | PROPERTY_SERVICE_OBJ, | 147 | PROPERTY_SERVICE_OBJ, |
129 | @@ -147,10 +152,10 @@ | |||
130 | 147 | 152 | ||
131 | 148 | QString StorageAbout::serialNumber() | 153 | QString StorageAbout::serialNumber() |
132 | 149 | { | 154 | { |
133 | 150 | static char serialBuffer[PROP_NAME_MAX]; | ||
134 | 151 | 155 | ||
135 | 152 | if (m_serialNumber.isEmpty() || m_serialNumber.isNull()) | 156 | if (m_serialNumber.isEmpty() || m_serialNumber.isNull()) |
136 | 153 | { | 157 | { |
137 | 158 | char serialBuffer[PROP_VALUE_MAX]; | ||
138 | 154 | property_get("ro.serialno", serialBuffer, ""); | 159 | property_get("ro.serialno", serialBuffer, ""); |
139 | 155 | m_serialNumber = QString(serialBuffer); | 160 | m_serialNumber = QString(serialBuffer); |
140 | 156 | } | 161 | } |
141 | @@ -160,11 +165,10 @@ | |||
142 | 160 | 165 | ||
143 | 161 | QString StorageAbout::vendorString() | 166 | QString StorageAbout::vendorString() |
144 | 162 | { | 167 | { |
145 | 163 | static char manufacturerBuffer[PROP_NAME_MAX]; | ||
146 | 164 | static char modelBuffer[PROP_NAME_MAX]; | ||
147 | 165 | |||
148 | 166 | if (m_vendorString.isEmpty() || m_vendorString.isNull()) | 168 | if (m_vendorString.isEmpty() || m_vendorString.isNull()) |
149 | 167 | { | 169 | { |
150 | 170 | char manufacturerBuffer[PROP_VALUE_MAX]; | ||
151 | 171 | char modelBuffer[PROP_VALUE_MAX]; | ||
152 | 168 | property_get("ro.product.manufacturer", manufacturerBuffer, ""); | 172 | property_get("ro.product.manufacturer", manufacturerBuffer, ""); |
153 | 169 | property_get("ro.product.model", modelBuffer, ""); | 173 | property_get("ro.product.model", modelBuffer, ""); |
154 | 170 | m_vendorString = QString("%1 %2").arg(manufacturerBuffer).arg(modelBuffer); | 174 | m_vendorString = QString("%1 %2").arg(manufacturerBuffer).arg(modelBuffer); |
155 | @@ -175,10 +179,10 @@ | |||
156 | 175 | 179 | ||
157 | 176 | QString StorageAbout::deviceBuildDisplayID() | 180 | QString StorageAbout::deviceBuildDisplayID() |
158 | 177 | { | 181 | { |
159 | 178 | static char serialBuffer[PROP_NAME_MAX]; | ||
160 | 179 | 182 | ||
161 | 180 | if (m_deviceBuildDisplayID.isEmpty() || m_deviceBuildDisplayID.isNull()) | 183 | if (m_deviceBuildDisplayID.isEmpty() || m_deviceBuildDisplayID.isNull()) |
162 | 181 | { | 184 | { |
163 | 185 | char serialBuffer[PROP_VALUE_MAX]; | ||
164 | 182 | property_get("ro.build.display.id", serialBuffer, ""); | 186 | property_get("ro.build.display.id", serialBuffer, ""); |
165 | 183 | m_deviceBuildDisplayID = QString(serialBuffer); | 187 | m_deviceBuildDisplayID = QString(serialBuffer); |
166 | 184 | } | 188 | } |
167 | 185 | 189 | ||
168 | === modified file 'plugins/battery/PageComponent.qml' | |||
169 | --- plugins/battery/PageComponent.qml 2014-08-12 19:22:39 +0000 | |||
170 | +++ plugins/battery/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
171 | @@ -57,7 +57,7 @@ | |||
172 | 57 | 57 | ||
173 | 58 | GSettings { | 58 | GSettings { |
174 | 59 | id: powerSettings | 59 | id: powerSettings |
176 | 60 | schema.id: batteryBackend.powerdRunning ? "com.canonical.powerd" : "org.gnome.desktop.session" | 60 | schema.id: batteryBackend.powerdRunning ? "com.ubuntu.touch.system" : "org.gnome.desktop.session" |
177 | 61 | } | 61 | } |
178 | 62 | 62 | ||
179 | 63 | UbuntuSecurityPrivacyPanel { | 63 | UbuntuSecurityPrivacyPanel { |
180 | @@ -322,7 +322,6 @@ | |||
181 | 322 | onClicked: pageStack.push( | 322 | onClicked: pageStack.push( |
182 | 323 | Qt.resolvedUrl("SleepValues.qml"), | 323 | Qt.resolvedUrl("SleepValues.qml"), |
183 | 324 | { title: text, lockOnSuspend: lockOnSuspend }) | 324 | { title: text, lockOnSuspend: lockOnSuspend }) |
184 | 325 | visible: showAllUI // TODO: re-enable once bug #1230345 is resolved | ||
185 | 326 | } | 325 | } |
186 | 327 | ListItem.Standard { | 326 | ListItem.Standard { |
187 | 328 | text: i18n.tr("Wi-Fi") | 327 | text: i18n.tr("Wi-Fi") |
188 | 329 | 328 | ||
189 | === modified file 'plugins/battery/SleepValues.qml' | |||
190 | --- plugins/battery/SleepValues.qml 2013-09-30 16:48:16 +0000 | |||
191 | +++ plugins/battery/SleepValues.qml 2014-08-26 11:38:32 +0000 | |||
192 | @@ -31,11 +31,12 @@ | |||
193 | 31 | 31 | ||
194 | 32 | ItemPage { | 32 | ItemPage { |
195 | 33 | id: root | 33 | id: root |
197 | 34 | 34 | objectName: "sleepValues" | |
198 | 35 | flickable: scrollWidget | 35 | flickable: scrollWidget |
199 | 36 | 36 | ||
200 | 37 | property alias usePowerd: batteryBackend.powerdRunning | 37 | property alias usePowerd: batteryBackend.powerdRunning |
201 | 38 | property bool lockOnSuspend | 38 | property bool lockOnSuspend |
202 | 39 | property variant idleValues: [60,120,180,240,300,600] | ||
203 | 39 | 40 | ||
204 | 40 | UbuntuBatteryPanel { | 41 | UbuntuBatteryPanel { |
205 | 41 | id: batteryBackend | 42 | id: batteryBackend |
206 | @@ -43,19 +44,20 @@ | |||
207 | 43 | 44 | ||
208 | 44 | GSettings { | 45 | GSettings { |
209 | 45 | id: powerSettings | 46 | id: powerSettings |
211 | 46 | schema.id: usePowerd ? "com.canonical.powerd" : "org.gnome.desktop.session" | 47 | schema.id: usePowerd ? "com.ubuntu.touch.system" : "org.gnome.desktop.session" |
212 | 47 | onChanged: { | 48 | onChanged: { |
213 | 48 | if (key == "activityTimeout" || key == "idleDelay") | 49 | if (key == "activityTimeout" || key == "idleDelay") |
216 | 49 | if([60,120,180,240,300].indexOf(value) != -1) | 50 | var curIndex = idleValues.indexOf(value) |
217 | 50 | sleepSelector.selectedIndex = (value/60)-1 | 51 | if( curIndex != -1) |
218 | 52 | sleepSelector.selectedIndex = curIndex | ||
219 | 51 | else if(value === 0) | 53 | else if(value === 0) |
221 | 52 | sleepSelector.selectedIndex = 5 | 54 | sleepSelector.selectedIndex = 6 |
222 | 53 | } | 55 | } |
223 | 54 | Component.onCompleted: { | 56 | Component.onCompleted: { |
224 | 55 | if (usePowerd) | 57 | if (usePowerd) |
226 | 56 | sleepSelector.selectedIndex = (powerSettings.activityTimeout === 0) ? 5 : powerSettings.activityTimeout/60-1 | 58 | sleepSelector.selectedIndex = (powerSettings.activityTimeout === 0) ? 6 : idleValues.indexOf(powerSettings.activityTimeout) |
227 | 57 | else | 59 | else |
229 | 58 | sleepSelector.selectedIndex = (powerSettings.idleDelay === 0) ? 5 : powerSettings.idleDelay/60-1 | 60 | sleepSelector.selectedIndex = (powerSettings.idleDelay === 0) ? 6 : idleValues.indexOf(powerSettings.idleDelay) |
230 | 59 | } | 61 | } |
231 | 60 | } | 62 | } |
232 | 61 | 63 | ||
233 | @@ -71,7 +73,11 @@ | |||
234 | 71 | 73 | ||
235 | 72 | ListItem.ItemSelector { | 74 | ListItem.ItemSelector { |
236 | 73 | id: sleepSelector | 75 | id: sleepSelector |
237 | 76 | objectName: "sleepSelector" | ||
238 | 74 | text: lockOnSuspend ? i18n.tr("Lock the phone when it's not in use:") : i18n.tr("Put the phone to sleep when it is not in use:") | 77 | text: lockOnSuspend ? i18n.tr("Lock the phone when it's not in use:") : i18n.tr("Put the phone to sleep when it is not in use:") |
239 | 78 | delegate: OptionSelectorDelegate { | ||
240 | 79 | text: modelData | ||
241 | 80 | } | ||
242 | 75 | model: [ | 81 | model: [ |
243 | 76 | // TRANSLATORS: %1 is the number of minutes | 82 | // TRANSLATORS: %1 is the number of minutes |
244 | 77 | i18n.tr("After %1 minute", | 83 | i18n.tr("After %1 minute", |
245 | @@ -93,13 +99,17 @@ | |||
246 | 93 | i18n.tr("After %1 minute", | 99 | i18n.tr("After %1 minute", |
247 | 94 | "After %1 minutes", | 100 | "After %1 minutes", |
248 | 95 | 5).arg(5), | 101 | 5).arg(5), |
249 | 102 | // TRANSLATORS: %1 is the number of minutes | ||
250 | 103 | i18n.tr("After %1 minute", | ||
251 | 104 | "After %1 minutes", | ||
252 | 105 | 10).arg(10), | ||
253 | 96 | i18n.tr("Never")] | 106 | i18n.tr("Never")] |
254 | 97 | expanded: true | 107 | expanded: true |
255 | 98 | onDelegateClicked: { | 108 | onDelegateClicked: { |
256 | 99 | if (usePowerd) | 109 | if (usePowerd) |
258 | 100 | powerSettings.activityTimeout = (index == 5) ? 0 : (index+1)*60 | 110 | powerSettings.activityTimeout = (index == 6) ? 0 : idleValues[index] |
259 | 101 | else | 111 | else |
261 | 102 | powerSettings.idleDelay = (index == 5) ? 0 : (index+1)*60 | 112 | powerSettings.idleDelay = (index == 6) ? 0 : idleValues[index] |
262 | 103 | } | 113 | } |
263 | 104 | } | 114 | } |
264 | 105 | 115 | ||
265 | 106 | 116 | ||
266 | === modified file 'plugins/battery/battery.cpp' | |||
267 | --- plugins/battery/battery.cpp 2013-09-30 11:09:29 +0000 | |||
268 | +++ plugins/battery/battery.cpp 2014-08-26 11:38:32 +0000 | |||
269 | @@ -28,7 +28,7 @@ | |||
270 | 28 | GParamSpec *pspec G_GNUC_UNUSED, | 28 | GParamSpec *pspec G_GNUC_UNUSED, |
271 | 29 | gpointer user_data) | 29 | gpointer user_data) |
272 | 30 | { | 30 | { |
274 | 31 | Battery * object = (Battery *) user_data; | 31 | auto object = static_cast<Battery *>(user_data); |
275 | 32 | 32 | ||
276 | 33 | Q_EMIT (object->wifiEnabledChanged()); | 33 | Q_EMIT (object->wifiEnabledChanged()); |
277 | 34 | } | 34 | } |
278 | @@ -65,7 +65,6 @@ | |||
279 | 65 | UpClient *client; | 65 | UpClient *client; |
280 | 66 | gboolean returnIsOk; | 66 | gboolean returnIsOk; |
281 | 67 | GPtrArray *devices; | 67 | GPtrArray *devices; |
282 | 68 | UpDevice *device; | ||
283 | 69 | UpDeviceKind kind; | 68 | UpDeviceKind kind; |
284 | 70 | 69 | ||
285 | 71 | client = up_client_new(); | 70 | client = up_client_new(); |
286 | @@ -77,6 +76,7 @@ | |||
287 | 77 | devices = up_client_get_devices(client); | 76 | devices = up_client_get_devices(client); |
288 | 78 | 77 | ||
289 | 79 | for (uint i=0; i < devices->len; i++) { | 78 | for (uint i=0; i < devices->len; i++) { |
290 | 79 | UpDevice *device; | ||
291 | 80 | device = (UpDevice *)g_ptr_array_index(devices, i); | 80 | device = (UpDevice *)g_ptr_array_index(devices, i); |
292 | 81 | g_object_get(device, "kind", &kind, NULL); | 81 | g_object_get(device, "kind", &kind, NULL); |
293 | 82 | if (kind == UP_DEVICE_KIND_BATTERY) { | 82 | if (kind == UP_DEVICE_KIND_BATTERY) { |
294 | @@ -111,7 +111,6 @@ | |||
295 | 111 | 111 | ||
296 | 112 | void Battery::getLastFullCharge() | 112 | void Battery::getLastFullCharge() |
297 | 113 | { | 113 | { |
298 | 114 | UpHistoryItem *item; | ||
299 | 115 | GPtrArray *values = NULL; | 114 | GPtrArray *values = NULL; |
300 | 116 | gint32 offset = 0; | 115 | gint32 offset = 0; |
301 | 117 | GTimeVal timeval; | 116 | GTimeVal timeval; |
302 | @@ -130,7 +129,7 @@ | |||
303 | 130 | g_object_get (m_device, "capacity", &maxCapacity, NULL); | 129 | g_object_get (m_device, "capacity", &maxCapacity, NULL); |
304 | 131 | 130 | ||
305 | 132 | for (uint i=0; i < values->len; i++) { | 131 | for (uint i=0; i < values->len; i++) { |
307 | 133 | item = (UpHistoryItem *) g_ptr_array_index(values, i); | 132 | auto item = static_cast<UpHistoryItem *>(g_ptr_array_index(values, i)); |
308 | 134 | 133 | ||
309 | 135 | /* Getting the next point after full charge, since upower registers only on state changes, | 134 | /* Getting the next point after full charge, since upower registers only on state changes, |
310 | 136 | typically you get no data while the device is fully charged and plugged and you get a discharging | 135 | typically you get no data while the device is fully charged and plugged and you get a discharging |
311 | @@ -155,7 +154,6 @@ | |||
312 | 155 | if (deviceString.isNull() || deviceString.isEmpty()) | 154 | if (deviceString.isNull() || deviceString.isEmpty()) |
313 | 156 | return QVariantList(); | 155 | return QVariantList(); |
314 | 157 | 156 | ||
315 | 158 | UpHistoryItem *item; | ||
316 | 159 | GPtrArray *values = NULL; | 157 | GPtrArray *values = NULL; |
317 | 160 | gint32 offset = 0; | 158 | gint32 offset = 0; |
318 | 161 | GTimeVal timeval; | 159 | GTimeVal timeval; |
319 | @@ -174,7 +172,7 @@ | |||
320 | 174 | } | 172 | } |
321 | 175 | 173 | ||
322 | 176 | for (uint i=values->len-1; i > 0; i--) { | 174 | for (uint i=values->len-1; i > 0; i--) { |
324 | 177 | item = (UpHistoryItem *) g_ptr_array_index(values, i); | 175 | auto item = static_cast<UpHistoryItem *>(g_ptr_array_index(values, i)); |
325 | 178 | 176 | ||
326 | 179 | if (up_history_item_get_state(item) == UP_DEVICE_STATE_UNKNOWN) | 177 | if (up_history_item_get_state(item) == UP_DEVICE_STATE_UNKNOWN) |
327 | 180 | continue; | 178 | continue; |
328 | 181 | 179 | ||
329 | === modified file 'plugins/bluetooth/PageComponent.qml' | |||
330 | --- plugins/bluetooth/PageComponent.qml 2014-07-29 15:09:23 +0000 | |||
331 | +++ plugins/bluetooth/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
332 | @@ -29,6 +29,8 @@ | |||
333 | 29 | 29 | ||
334 | 30 | ItemPage { | 30 | ItemPage { |
335 | 31 | id: root | 31 | id: root |
336 | 32 | title: i18n.tr("Bluetooth") | ||
337 | 33 | |||
338 | 32 | UbuntuBluetoothPanel { id: backend } | 34 | UbuntuBluetoothPanel { id: backend } |
339 | 33 | 35 | ||
340 | 34 | Component { | 36 | Component { |
341 | @@ -112,14 +114,20 @@ | |||
342 | 112 | } | 114 | } |
343 | 113 | } | 115 | } |
344 | 114 | 116 | ||
349 | 115 | Page { | 117 | |
350 | 116 | id: mainPage | 118 | Flickable { |
347 | 117 | title: i18n.tr("Bluetooth") | ||
348 | 118 | visible: true | ||
351 | 119 | anchors.fill: parent | 119 | anchors.fill: parent |
352 | 120 | contentHeight: contentItem.childrenRect.height | ||
353 | 121 | boundsBehavior: (contentHeight > root.height) ? | ||
354 | 122 | Flickable.DragAndOvershootBounds : | ||
355 | 123 | Flickable.StopAtBounds | ||
356 | 124 | /* Set the direction to workaround https://bugreports.qt-project.org/browse/QTBUG-31905 | ||
357 | 125 | otherwise the UI might end up in a situation where scrolling doesn't work */ | ||
358 | 126 | flickableDirection: Flickable.VerticalFlick | ||
359 | 120 | 127 | ||
360 | 121 | Column { | 128 | Column { |
362 | 122 | anchors.fill: parent | 129 | anchors.left: parent.left |
363 | 130 | anchors.right: parent.right | ||
364 | 123 | 131 | ||
365 | 124 | QDBusActionGroup { | 132 | QDBusActionGroup { |
366 | 125 | id: bluetoothActionGroup | 133 | id: bluetoothActionGroup |
367 | @@ -205,27 +213,30 @@ | |||
368 | 205 | visible: connectedList.visible | 213 | visible: connectedList.visible |
369 | 206 | } | 214 | } |
370 | 207 | 215 | ||
372 | 208 | ListView { | 216 | Column { |
373 | 209 | id: connectedList | 217 | id: connectedList |
377 | 210 | width: parent.width | 218 | anchors { |
378 | 211 | height: connectedHeader.height * count | 219 | left: parent.left |
379 | 212 | 220 | right: parent.right | |
380 | 221 | } | ||
381 | 213 | visible: bluetoothActionGroup.enabled && (count > 0) | 222 | visible: bluetoothActionGroup.enabled && (count > 0) |
382 | 214 | 223 | ||
397 | 215 | model: backend.connectedDevices | 224 | Repeater { |
398 | 216 | delegate: ListItem.Standard { | 225 | model: backend.connectedDevices |
399 | 217 | iconSource: iconPath | 226 | delegate: ListItem.Standard { |
400 | 218 | iconFrame: false | 227 | iconSource: iconPath |
401 | 219 | text: getDisplayName(type, displayName) | 228 | iconFrame: false |
402 | 220 | control: ActivityIndicator { | 229 | text: getDisplayName(type, displayName) |
403 | 221 | visible: connection == Device.Connecting | 230 | control: ActivityIndicator { |
404 | 222 | running: true | 231 | visible: connection == Device.Connecting |
405 | 223 | } | 232 | running: true |
406 | 224 | onClicked: { | 233 | } |
407 | 225 | backend.setSelectedDevice(addressName); | 234 | onClicked: { |
408 | 226 | pageStack.push(connectedDevicePage); | 235 | backend.setSelectedDevice(addressName); |
409 | 227 | } | 236 | pageStack.push(connectedDevicePage); |
410 | 228 | progression: true | 237 | } |
411 | 238 | progression: true | ||
412 | 239 | } | ||
413 | 229 | } | 240 | } |
414 | 230 | } | 241 | } |
415 | 231 | 242 | ||
416 | @@ -241,24 +252,27 @@ | |||
417 | 241 | } | 252 | } |
418 | 242 | } | 253 | } |
419 | 243 | 254 | ||
421 | 244 | ListView { | 255 | Column { |
422 | 245 | id: disconnectedList | 256 | id: disconnectedList |
426 | 246 | width: parent.width | 257 | anchors { |
427 | 247 | height: disconnectedHeader.height * count | 258 | left: parent.left |
428 | 248 | 259 | right: parent.right | |
429 | 260 | } | ||
430 | 249 | visible: bluetoothActionGroup.enabled && (count > 0) | 261 | visible: bluetoothActionGroup.enabled && (count > 0) |
431 | 250 | 262 | ||
441 | 251 | model: backend.disconnectedDevices | 263 | Repeater { |
442 | 252 | delegate: ListItem.Standard { | 264 | model: backend.disconnectedDevices |
443 | 253 | iconSource: iconPath | 265 | delegate: ListItem.Standard { |
444 | 254 | iconFrame: false | 266 | iconSource: iconPath |
445 | 255 | text: getDisplayName(type, displayName) | 267 | iconFrame: false |
446 | 256 | enabled: backend.isSupportedType(type) | 268 | text: getDisplayName(type, displayName) |
447 | 257 | onClicked: { | 269 | enabled: backend.isSupportedType(type) |
448 | 258 | backend.setSelectedDevice(addressName); | 270 | onClicked: { |
449 | 259 | pageStack.push(connectedDevicePage); | 271 | backend.setSelectedDevice(addressName); |
450 | 272 | pageStack.push(connectedDevicePage); | ||
451 | 273 | } | ||
452 | 274 | progression: true | ||
453 | 260 | } | 275 | } |
454 | 261 | progression: true | ||
455 | 262 | } | 276 | } |
456 | 263 | } | 277 | } |
457 | 264 | ListItem.Standard { | 278 | ListItem.Standard { |
458 | @@ -275,23 +289,27 @@ | |||
459 | 275 | visible: autoconnectList.visible | 289 | visible: autoconnectList.visible |
460 | 276 | enabled: bluetoothActionGroup.enabled | 290 | enabled: bluetoothActionGroup.enabled |
461 | 277 | } | 291 | } |
463 | 278 | ListView { | 292 | Column { |
464 | 279 | id: autoconnectList | 293 | id: autoconnectList |
467 | 280 | width: parent.width | 294 | anchors { |
468 | 281 | height: autoconnectHeader.height * count | 295 | left: parent.left |
469 | 296 | right: parent.right | ||
470 | 297 | } | ||
471 | 282 | 298 | ||
472 | 283 | visible: bluetoothActionGroup.enabled && (count > 0) | 299 | visible: bluetoothActionGroup.enabled && (count > 0) |
473 | 284 | 300 | ||
482 | 285 | model: backend.autoconnectDevices | 301 | Repeater { |
483 | 286 | delegate: ListItem.Standard { | 302 | model: backend.autoconnectDevices |
484 | 287 | iconSource: iconPath | 303 | delegate: ListItem.Standard { |
485 | 288 | iconFrame: false | 304 | iconSource: iconPath |
486 | 289 | text: getDisplayName(type, displayName) | 305 | iconFrame: false |
487 | 290 | onClicked: { | 306 | text: getDisplayName(type, displayName) |
488 | 291 | backend.setSelectedDevice(addressName); | 307 | onClicked: { |
489 | 292 | pageStack.push(connectedDevicePage); | 308 | backend.setSelectedDevice(addressName); |
490 | 309 | pageStack.push(connectedDevicePage); | ||
491 | 310 | } | ||
492 | 311 | progression: true | ||
493 | 293 | } | 312 | } |
494 | 294 | progression: true | ||
495 | 295 | } | 313 | } |
496 | 296 | } | 314 | } |
497 | 297 | } | 315 | } |
498 | @@ -302,100 +320,114 @@ | |||
499 | 302 | title: backend.selectedDevice ? backend.selectedDevice.name : i18n.tr("None") | 320 | title: backend.selectedDevice ? backend.selectedDevice.name : i18n.tr("None") |
500 | 303 | visible: false | 321 | visible: false |
501 | 304 | 322 | ||
503 | 305 | Column { | 323 | Flickable { |
504 | 306 | anchors.fill: parent | 324 | anchors.fill: parent |
597 | 307 | 325 | contentHeight: contentItem.childrenRect.height | |
598 | 308 | ListItem.SingleValue { | 326 | boundsBehavior: (contentHeight > root.height) ? |
599 | 309 | text: i18n.tr("Name") | 327 | Flickable.DragAndOvershootBounds : |
600 | 310 | value: backend.selectedDevice ? backend.selectedDevice.name : i18n.tr("None") | 328 | Flickable.StopAtBounds |
601 | 311 | } | 329 | /* Set the direction to workaround https://bugreports.qt-project.org/browse/QTBUG-31905 |
602 | 312 | ListItem.Standard { | 330 | otherwise the UI might end up in a situation where scrolling doesn't work */ |
603 | 313 | Rectangle { | 331 | flickableDirection: Flickable.VerticalFlick |
604 | 314 | color: "transparent" | 332 | |
605 | 315 | anchors.fill: parent | 333 | Column { |
606 | 316 | anchors.topMargin: units.gu(1) | 334 | anchors { |
607 | 317 | anchors.leftMargin: units.gu(2) | 335 | left: parent.left |
608 | 318 | anchors.rightMargin: units.gu(2) | 336 | right: parent.right |
609 | 319 | 337 | } | |
610 | 320 | Label { | 338 | |
611 | 321 | anchors { | 339 | ListItem.SingleValue { |
612 | 322 | top: parent.top | 340 | text: i18n.tr("Name") |
613 | 323 | left: parent.left | 341 | value: backend.selectedDevice ? backend.selectedDevice.name : i18n.tr("None") |
614 | 324 | topMargin: units.gu(1) | 342 | } |
615 | 325 | } | 343 | ListItem.Standard { |
616 | 326 | height: units.gu(3) | 344 | Rectangle { |
617 | 327 | text: i18n.tr("Type") | 345 | color: "transparent" |
618 | 328 | } | 346 | anchors.fill: parent |
619 | 329 | Image { | 347 | anchors.topMargin: units.gu(1) |
620 | 330 | anchors { | 348 | anchors.leftMargin: units.gu(2) |
621 | 331 | right: deviceType.left | 349 | anchors.rightMargin: units.gu(2) |
622 | 332 | rightMargin: units.gu(1) | 350 | |
623 | 333 | } | 351 | Label { |
624 | 334 | height: units.gu(4) | 352 | anchors { |
625 | 335 | width: units.gu(4) | 353 | top: parent.top |
626 | 336 | source: backend.selectedDevice ? backend.selectedDevice.iconName : "" | 354 | left: parent.left |
627 | 337 | } | 355 | topMargin: units.gu(1) |
628 | 338 | Label { | 356 | } |
629 | 339 | id: deviceType | 357 | height: units.gu(3) |
630 | 340 | anchors { | 358 | text: i18n.tr("Type") |
631 | 341 | top: parent.top | 359 | } |
632 | 342 | right: parent.right | 360 | Image { |
633 | 343 | topMargin: units.gu(1) | 361 | anchors { |
634 | 344 | } | 362 | right: deviceType.left |
635 | 345 | height: units.gu(3) | 363 | rightMargin: units.gu(1) |
636 | 346 | text: getTypeString(backend.selectedDevice ? backend.selectedDevice.type : Device.OTHER) | 364 | } |
637 | 347 | } | 365 | height: units.gu(4) |
638 | 348 | } | 366 | width: units.gu(4) |
639 | 349 | } | 367 | source: backend.selectedDevice ? backend.selectedDevice.iconName : "" |
640 | 350 | ListItem.SingleValue { | 368 | } |
641 | 351 | text: i18n.tr("Status") | 369 | Label { |
642 | 352 | value: getStatusString(backend.selectedDevice ? backend.selectedDevice.connection : Device.Disconnected) | 370 | id: deviceType |
643 | 353 | } | 371 | anchors { |
644 | 354 | ListItem.SingleValue { | 372 | top: parent.top |
645 | 355 | text: i18n.tr("Signal Strength") | 373 | right: parent.right |
646 | 356 | value: getSignalString(backend.selectedDevice ? backend.selectedDevice.strength : Device.None) | 374 | topMargin: units.gu(1) |
647 | 357 | } | 375 | } |
648 | 358 | ListItem.Standard { | 376 | height: units.gu(3) |
649 | 359 | id: trustedCheck | 377 | text: getTypeString(backend.selectedDevice ? backend.selectedDevice.type : Device.OTHER) |
650 | 360 | text: i18n.tr("Connect automatically when detected:") | 378 | } |
651 | 361 | control: CheckBox { | 379 | } |
652 | 362 | onClicked: { | 380 | } |
653 | 363 | if (backend.selectedDevice) { | 381 | ListItem.SingleValue { |
654 | 364 | backend.selectedDevice.trusted = !backend.selectedDevice.trusted | 382 | text: i18n.tr("Status") |
655 | 365 | } | 383 | value: getStatusString(backend.selectedDevice ? backend.selectedDevice.connection : Device.Disconnected) |
656 | 366 | } | 384 | } |
657 | 367 | checked: backend.selectedDevice ? backend.selectedDevice.trusted : false | 385 | ListItem.SingleValue { |
658 | 368 | } | 386 | text: i18n.tr("Signal Strength") |
659 | 369 | Component.onCompleted: | 387 | value: getSignalString(backend.selectedDevice ? backend.selectedDevice.strength : Device.None) |
660 | 370 | clicked.connect(trustedCheck.clicked) | 388 | } |
661 | 371 | } | 389 | ListItem.Standard { |
662 | 372 | ListItem.SingleControl { | 390 | id: trustedCheck |
663 | 373 | control: Button { | 391 | text: i18n.tr("Connect automatically when detected:") |
664 | 374 | text: backend.selectedDevice && (backend.selectedDevice.connection == Device.Connected || backend.selectedDevice.connection == Device.Connecting) ? i18n.tr("Disconnect") : i18n.tr("Connect") | 392 | control: CheckBox { |
665 | 375 | width: parent.width - units.gu(8) | 393 | onClicked: { |
666 | 376 | onClicked: { | 394 | if (backend.selectedDevice) { |
667 | 377 | if (backend.selectedDevice | 395 | backend.selectedDevice.trusted = !backend.selectedDevice.trusted |
668 | 378 | && (backend.selectedDevice.connection == Device.Connected | 396 | } |
669 | 379 | || backend.selectedDevice.connection == Device.Connecting)) { | 397 | } |
670 | 380 | backend.disconnectDevice(); | 398 | checked: backend.selectedDevice ? backend.selectedDevice.trusted : false |
671 | 381 | } else { | 399 | } |
672 | 382 | backend.stopDiscovery() | 400 | Component.onCompleted: |
673 | 383 | backend.connectDevice(backend.selectedDevice.address); | 401 | clicked.connect(trustedCheck.clicked) |
674 | 384 | } | 402 | } |
675 | 385 | pageStack.pop(); | 403 | ListItem.SingleControl { |
676 | 386 | } | 404 | control: Button { |
677 | 387 | visible: backend.selectedDevice ? true : false | 405 | text: backend.selectedDevice && (backend.selectedDevice.connection == Device.Connected || backend.selectedDevice.connection == Device.Connecting) ? i18n.tr("Disconnect") : i18n.tr("Connect") |
678 | 388 | } | 406 | width: parent.width - units.gu(8) |
679 | 389 | } | 407 | onClicked: { |
680 | 390 | ListItem.SingleControl { | 408 | if (backend.selectedDevice |
681 | 391 | control: Button { | 409 | && (backend.selectedDevice.connection == Device.Connected |
682 | 392 | text: i18n.tr("Forget this device") | 410 | || backend.selectedDevice.connection == Device.Connecting)) { |
683 | 393 | width: parent.width - units.gu(8) | 411 | backend.disconnectDevice(); |
684 | 394 | onClicked: { | 412 | } else { |
685 | 395 | backend.removeDevice(); | 413 | backend.stopDiscovery() |
686 | 396 | pageStack.pop(); | 414 | backend.connectDevice(backend.selectedDevice.address); |
687 | 397 | } | 415 | } |
688 | 398 | enabled: backend.selectedDevice && backend.selectedDevice.path.length > 0 ? true : false | 416 | pageStack.pop(); |
689 | 417 | } | ||
690 | 418 | visible: backend.selectedDevice ? true : false | ||
691 | 419 | } | ||
692 | 420 | } | ||
693 | 421 | ListItem.SingleControl { | ||
694 | 422 | control: Button { | ||
695 | 423 | text: i18n.tr("Forget this device") | ||
696 | 424 | width: parent.width - units.gu(8) | ||
697 | 425 | onClicked: { | ||
698 | 426 | backend.removeDevice(); | ||
699 | 427 | pageStack.pop(); | ||
700 | 428 | } | ||
701 | 429 | enabled: backend.selectedDevice && backend.selectedDevice.path.length > 0 ? true : false | ||
702 | 430 | } | ||
703 | 399 | } | 431 | } |
704 | 400 | } | 432 | } |
705 | 401 | } | 433 | } |
706 | 402 | 434 | ||
707 | === modified file 'plugins/bluetooth/agent.h' | |||
708 | --- plugins/bluetooth/agent.h 2013-09-27 14:55:53 +0000 | |||
709 | +++ plugins/bluetooth/agent.h 2014-08-26 11:38:32 +0000 | |||
710 | @@ -57,7 +57,7 @@ | |||
711 | 57 | void onPairingDone(); | 57 | void onPairingDone(); |
712 | 58 | 58 | ||
713 | 59 | private: | 59 | private: |
715 | 60 | Q_DISABLE_COPY(Agent); | 60 | Q_DISABLE_COPY(Agent) |
716 | 61 | 61 | ||
717 | 62 | QDBusConnection m_connection; | 62 | QDBusConnection m_connection; |
718 | 63 | DeviceModel &m_devices; | 63 | DeviceModel &m_devices; |
719 | 64 | 64 | ||
720 | === modified file 'plugins/bluetooth/bluetooth.cpp' | |||
721 | --- plugins/bluetooth/bluetooth.cpp 2014-07-30 02:25:07 +0000 | |||
722 | +++ plugins/bluetooth/bluetooth.cpp 2014-08-26 11:38:32 +0000 | |||
723 | @@ -151,10 +151,8 @@ | |||
724 | 151 | 151 | ||
725 | 152 | void Bluetooth::disconnectDevice() | 152 | void Bluetooth::disconnectDevice() |
726 | 153 | { | 153 | { |
727 | 154 | Device::Type type; | ||
728 | 155 | |||
729 | 156 | if (m_selectedDevice) { | 154 | if (m_selectedDevice) { |
731 | 157 | type = m_selectedDevice->getType(); | 155 | auto type = m_selectedDevice->getType(); |
732 | 158 | if (type == Device::Type::Headset) | 156 | if (type == Device::Type::Headset) |
733 | 159 | m_selectedDevice->disconnect(Device::ConnectionMode::Audio); | 157 | m_selectedDevice->disconnect(Device::ConnectionMode::Audio); |
734 | 160 | else if (type == Device::Type::Headphones) | 158 | else if (type == Device::Type::Headphones) |
735 | 161 | 159 | ||
736 | === modified file 'plugins/bluetooth/bluetooth.h' | |||
737 | --- plugins/bluetooth/bluetooth.h 2014-07-29 16:44:03 +0000 | |||
738 | +++ plugins/bluetooth/bluetooth.h 2014-08-26 11:38:32 +0000 | |||
739 | @@ -45,22 +45,22 @@ | |||
740 | 45 | 45 | ||
741 | 46 | Q_PROPERTY (QObject * selectedDevice | 46 | Q_PROPERTY (QObject * selectedDevice |
742 | 47 | READ getSelectedDevice | 47 | READ getSelectedDevice |
744 | 48 | NOTIFY selectedDeviceChanged); | 48 | NOTIFY selectedDeviceChanged) |
745 | 49 | 49 | ||
746 | 50 | Q_PROPERTY (QObject * agent | 50 | Q_PROPERTY (QObject * agent |
748 | 51 | READ getAgent); | 51 | READ getAgent) |
749 | 52 | 52 | ||
750 | 53 | Q_PROPERTY (bool powered | 53 | Q_PROPERTY (bool powered |
751 | 54 | READ isPowered | 54 | READ isPowered |
753 | 55 | NOTIFY poweredChanged); | 55 | NOTIFY poweredChanged) |
754 | 56 | 56 | ||
755 | 57 | Q_PROPERTY (bool discovering | 57 | Q_PROPERTY (bool discovering |
756 | 58 | READ isDiscovering | 58 | READ isDiscovering |
758 | 59 | NOTIFY discoveringChanged); | 59 | NOTIFY discoveringChanged) |
759 | 60 | 60 | ||
760 | 61 | Q_PROPERTY (bool discoverable | 61 | Q_PROPERTY (bool discoverable |
761 | 62 | READ isDiscoverable | 62 | READ isDiscoverable |
763 | 63 | NOTIFY discoverableChanged); | 63 | NOTIFY discoverableChanged) |
764 | 64 | 64 | ||
765 | 65 | Q_SIGNALS: | 65 | Q_SIGNALS: |
766 | 66 | void selectedDeviceChanged(); | 66 | void selectedDeviceChanged(); |
767 | 67 | 67 | ||
768 | === modified file 'plugins/bluetooth/device.cpp' | |||
769 | --- plugins/bluetooth/device.cpp 2014-07-30 14:51:27 +0000 | |||
770 | +++ plugins/bluetooth/device.cpp 2014-08-26 11:38:32 +0000 | |||
771 | @@ -453,6 +453,7 @@ | |||
772 | 453 | default: | 453 | default: |
773 | 454 | return Type::OtherAudio; | 454 | return Type::OtherAudio; |
774 | 455 | } | 455 | } |
775 | 456 | break; | ||
776 | 456 | 457 | ||
777 | 457 | case 0x05: | 458 | case 0x05: |
778 | 458 | switch ((c & 0xc0) >> 6) { | 459 | switch ((c & 0xc0) >> 6) { |
779 | 459 | 460 | ||
780 | === modified file 'plugins/cellular/CMakeLists.txt' | |||
781 | --- plugins/cellular/CMakeLists.txt 2014-07-17 20:59:15 +0000 | |||
782 | +++ plugins/cellular/CMakeLists.txt 2014-08-26 11:38:32 +0000 | |||
783 | @@ -9,6 +9,7 @@ | |||
784 | 9 | PageComponent.qml | 9 | PageComponent.qml |
785 | 10 | Hotspot.qml | 10 | Hotspot.qml |
786 | 11 | HotspotSetup.qml | 11 | HotspotSetup.qml |
787 | 12 | sims.js | ||
788 | 12 | ) | 13 | ) |
789 | 13 | 14 | ||
790 | 14 | 15 | ||
791 | 15 | 16 | ||
792 | === modified file 'plugins/cellular/Components/CMakeLists.txt' | |||
793 | --- plugins/cellular/Components/CMakeLists.txt 2014-07-31 20:10:40 +0000 | |||
794 | +++ plugins/cellular/Components/CMakeLists.txt 2014-08-26 11:38:32 +0000 | |||
795 | @@ -1,6 +1,9 @@ | |||
796 | 1 | set(QML_SOURCES | 1 | set(QML_SOURCES |
797 | 2 | NoSim.qml | ||
798 | 3 | SingleSim.qml | ||
799 | 4 | MultiSim.qml | ||
800 | 2 | CellularSingleSim.qml | 5 | CellularSingleSim.qml |
802 | 3 | CellularDualSim.qml | 6 | CellularMultiSim.qml |
803 | 4 | data-helpers.js | 7 | data-helpers.js |
804 | 5 | DefaultSim.qml | 8 | DefaultSim.qml |
805 | 6 | Sim.qml | 9 | Sim.qml |
806 | 7 | 10 | ||
807 | === renamed file 'plugins/cellular/Components/CellularDualSim.qml' => 'plugins/cellular/Components/CellularMultiSim.qml' | |||
808 | --- plugins/cellular/Components/CellularDualSim.qml 2014-08-14 13:59:57 +0000 | |||
809 | +++ plugins/cellular/Components/CellularMultiSim.qml 2014-08-26 11:38:32 +0000 | |||
810 | @@ -24,20 +24,18 @@ | |||
811 | 24 | 24 | ||
812 | 25 | Column { | 25 | Column { |
813 | 26 | id: root | 26 | id: root |
814 | 27 | property var sim1 | ||
815 | 28 | property var sim2 | ||
816 | 29 | property var selector: selector | 27 | property var selector: selector |
817 | 30 | property var prefMap: ['gsm', 'umts'] | 28 | property var prefMap: ['gsm', 'umts'] |
818 | 31 | 29 | ||
819 | 32 | function getNameFromIndex (index) { | 30 | function getNameFromIndex (index) { |
821 | 33 | return [i18n.tr("Off"), sim1.title, sim2.title][index]; | 31 | return [i18n.tr("Off"), sims[0].title, sims[1].title][index]; |
822 | 34 | } | 32 | } |
823 | 35 | 33 | ||
824 | 36 | function getUsedSim () { | 34 | function getUsedSim () { |
825 | 37 | if (state === "sim1Online") { | 35 | if (state === "sim1Online") { |
827 | 38 | return sim1; | 36 | return sims[0]; |
828 | 39 | } else if (state === "sim2Online") { | 37 | } else if (state === "sim2Online") { |
830 | 40 | return sim2; | 38 | return sims[1]; |
831 | 41 | } else { | 39 | } else { |
832 | 42 | return null; | 40 | return null; |
833 | 43 | } | 41 | } |
834 | @@ -47,27 +45,27 @@ | |||
835 | 47 | states: [ | 45 | states: [ |
836 | 48 | State { | 46 | State { |
837 | 49 | name: "sim1Online" | 47 | name: "sim1Online" |
839 | 50 | when: sim1.connMan.powered && !sim2.connMan.powered | 48 | when: sims[0].connMan.powered && !sims[1].connMan.powered |
840 | 51 | StateChangeScript { script: { | 49 | StateChangeScript { script: { |
841 | 52 | selector.selectedIndex = | 50 | selector.selectedIndex = |
842 | 53 | DataHelpers.dualSimKeyToIndex( | 51 | DataHelpers.dualSimKeyToIndex( |
844 | 54 | sim1.radioSettings.technologyPreference) | 52 | sims[0].radioSettings.technologyPreference) |
845 | 55 | }} | 53 | }} |
846 | 56 | }, | 54 | }, |
847 | 57 | State { | 55 | State { |
848 | 58 | name: "sim2Online" | 56 | name: "sim2Online" |
850 | 59 | when: sim2.connMan.powered && !sim1.connMan.powered | 57 | when: sims[1].connMan.powered && !sims[0].connMan.powered |
851 | 60 | StateChangeScript { script: { | 58 | StateChangeScript { script: { |
852 | 61 | selector.selectedIndex = | 59 | selector.selectedIndex = |
853 | 62 | DataHelpers.dualSimKeyToIndex( | 60 | DataHelpers.dualSimKeyToIndex( |
855 | 63 | sim2.radioSettings.technologyPreference) | 61 | sims[1].radioSettings.technologyPreference) |
856 | 64 | }} | 62 | }} |
857 | 65 | }, | 63 | }, |
858 | 66 | State { | 64 | State { |
859 | 67 | name: "bothOnline" | 65 | name: "bothOnline" |
861 | 68 | when: sim1.connMan.powered && sim2.connMan.powered | 66 | when: sims[0].connMan.powered && sims[1].connMan.powered |
862 | 69 | StateChangeScript { script: { | 67 | StateChangeScript { script: { |
864 | 70 | sim2.connMan.powered = false; | 68 | sims[1].connMan.powered = false; |
865 | 71 | }} | 69 | }} |
866 | 72 | } | 70 | } |
867 | 73 | ] | 71 | ] |
868 | @@ -82,16 +80,16 @@ | |||
869 | 82 | objectName: "use" + modelData | 80 | objectName: "use" + modelData |
870 | 83 | text: getNameFromIndex(index) | 81 | text: getNameFromIndex(index) |
871 | 84 | } | 82 | } |
873 | 85 | selectedIndex: [true, sim1.connMan.powered, sim2.connMan.powered] | 83 | selectedIndex: [true, sims[0].connMan.powered, sims[1].connMan.powered] |
874 | 86 | .lastIndexOf(true) | 84 | .lastIndexOf(true) |
875 | 87 | onDelegateClicked: { | 85 | onDelegateClicked: { |
878 | 88 | sim1.connMan.powered = (index === 1) | 86 | sims[0].connMan.powered = (index === 1) |
879 | 89 | sim2.connMan.powered = (index === 2) | 87 | sims[1].connMan.powered = (index === 2) |
880 | 90 | } | 88 | } |
881 | 91 | } | 89 | } |
882 | 92 | 90 | ||
883 | 93 | Connections { | 91 | Connections { |
885 | 94 | target: sim1.connMan | 92 | target: sims[0].connMan |
886 | 95 | onPoweredChanged: { | 93 | onPoweredChanged: { |
887 | 96 | if (powered) { | 94 | if (powered) { |
888 | 97 | use.selectedIndex = 1; | 95 | use.selectedIndex = 1; |
889 | @@ -100,7 +98,7 @@ | |||
890 | 100 | } | 98 | } |
891 | 101 | 99 | ||
892 | 102 | Connections { | 100 | Connections { |
894 | 103 | target: sim2.connMan | 101 | target: sims[1].connMan |
895 | 104 | onPoweredChanged: { | 102 | onPoweredChanged: { |
896 | 105 | if (powered) { | 103 | if (powered) { |
897 | 106 | use.selectedIndex = 2; | 104 | use.selectedIndex = 2; |
898 | @@ -124,9 +122,9 @@ | |||
899 | 124 | } | 122 | } |
900 | 125 | 123 | ||
901 | 126 | Connections { | 124 | Connections { |
903 | 127 | target: sim1.radioSettings | 125 | target: sims[0].radioSettings |
904 | 128 | onTechnologyPreferenceChanged: { | 126 | onTechnologyPreferenceChanged: { |
906 | 129 | if (sim1.connMan.powered) { | 127 | if (sims[0].connMan.powered) { |
907 | 130 | selector.selectedIndex = | 128 | selector.selectedIndex = |
908 | 131 | DataHelpers.dualSimKeyToIndex(preference); | 129 | DataHelpers.dualSimKeyToIndex(preference); |
909 | 132 | } | 130 | } |
910 | @@ -134,9 +132,9 @@ | |||
911 | 134 | } | 132 | } |
912 | 135 | 133 | ||
913 | 136 | Connections { | 134 | Connections { |
915 | 137 | target: sim2.radioSettings | 135 | target: sims[1].radioSettings |
916 | 138 | onTechnologyPreferenceChanged: { | 136 | onTechnologyPreferenceChanged: { |
918 | 139 | if (sim2.connMan.powered) { | 137 | if (sims[1].connMan.powered) { |
919 | 140 | selector.selectedIndex = | 138 | selector.selectedIndex = |
920 | 141 | DataHelpers.dualSimKeyToIndex(preference); | 139 | DataHelpers.dualSimKeyToIndex(preference); |
921 | 142 | } | 140 | } |
922 | 143 | 141 | ||
923 | === modified file 'plugins/cellular/Components/CellularSingleSim.qml' | |||
924 | --- plugins/cellular/Components/CellularSingleSim.qml 2014-08-14 13:59:57 +0000 | |||
925 | +++ plugins/cellular/Components/CellularSingleSim.qml 2014-08-26 11:38:32 +0000 | |||
926 | @@ -25,7 +25,6 @@ | |||
927 | 25 | Column { | 25 | Column { |
928 | 26 | height: childrenRect.height | 26 | height: childrenRect.height |
929 | 27 | 27 | ||
930 | 28 | property var sim1 | ||
931 | 29 | property var selector: selector | 28 | property var selector: selector |
932 | 30 | 29 | ||
933 | 31 | ListItem.ItemSelector { | 30 | ListItem.ItemSelector { |
934 | @@ -33,15 +32,15 @@ | |||
935 | 33 | objectName: "technologyPreferenceSelector" | 32 | objectName: "technologyPreferenceSelector" |
936 | 34 | text: i18n.tr("Cellular data:") | 33 | text: i18n.tr("Cellular data:") |
937 | 35 | expanded: true | 34 | expanded: true |
939 | 36 | enabled: sim1.radioSettings.technologyPreference !== "" | 35 | enabled: sim.radioSettings.technologyPreference !== "" |
940 | 37 | model: [ | 36 | model: [ |
941 | 38 | i18n.tr("Off"), | 37 | i18n.tr("Off"), |
942 | 39 | i18n.tr("2G only (saves battery)"), | 38 | i18n.tr("2G only (saves battery)"), |
943 | 40 | i18n.tr("2G/3G/4G (faster)")] | 39 | i18n.tr("2G/3G/4G (faster)")] |
944 | 41 | selectedIndex: { | 40 | selectedIndex: { |
946 | 42 | if (sim1.connMan.powered) { | 41 | if (sim.connMan.powered) { |
947 | 43 | return DataHelpers.singleSimKeyToIndex( | 42 | return DataHelpers.singleSimKeyToIndex( |
949 | 44 | sim1.radioSettings.technologyPreference); | 43 | sim.radioSettings.technologyPreference); |
950 | 45 | } else { | 44 | } else { |
951 | 46 | return 0; | 45 | return 0; |
952 | 47 | } | 46 | } |
953 | @@ -52,20 +51,20 @@ | |||
954 | 52 | id: dataRoamingItem | 51 | id: dataRoamingItem |
955 | 53 | objectName: "dataRoamingSwitch" | 52 | objectName: "dataRoamingSwitch" |
956 | 54 | text: i18n.tr("Data roaming") | 53 | text: i18n.tr("Data roaming") |
958 | 55 | enabled: sim1.connMan.powered | 54 | enabled: sim.connMan.powered |
959 | 56 | control: Switch { | 55 | control: Switch { |
960 | 57 | id: dataRoamingControl | 56 | id: dataRoamingControl |
963 | 58 | checked: sim1.connMan.roamingAllowed | 57 | checked: sim.connMan.roamingAllowed |
964 | 59 | onClicked: sim1.connMan.roamingAllowed = checked | 58 | onClicked: sim.connMan.roamingAllowed = checked |
965 | 60 | } | 59 | } |
966 | 61 | } | 60 | } |
967 | 62 | 61 | ||
968 | 63 | Connections { | 62 | Connections { |
970 | 64 | target: sim1.connMan | 63 | target: sim.connMan |
971 | 65 | onPoweredChanged: { | 64 | onPoweredChanged: { |
972 | 66 | if (powered) { | 65 | if (powered) { |
973 | 67 | selector.selectedIndex = DataHelpers.singleSimKeyToIndex( | 66 | selector.selectedIndex = DataHelpers.singleSimKeyToIndex( |
975 | 68 | sim1.radioSettings.technologyPreference); | 67 | sim.radioSettings.technologyPreference); |
976 | 69 | } else { | 68 | } else { |
977 | 70 | selector.selectedIndex = 0; | 69 | selector.selectedIndex = 0; |
978 | 71 | } | 70 | } |
979 | @@ -73,24 +72,24 @@ | |||
980 | 73 | } | 72 | } |
981 | 74 | 73 | ||
982 | 75 | Connections { | 74 | Connections { |
984 | 76 | target: sim1.radioSettings | 75 | target: sim.radioSettings |
985 | 77 | onTechnologyPreferenceChanged: { | 76 | onTechnologyPreferenceChanged: { |
986 | 78 | var selIndex = selector.selectedIndex; | 77 | var selIndex = selector.selectedIndex; |
987 | 79 | if (selIndex > 0) { | 78 | if (selIndex > 0) { |
989 | 80 | sim1.radioSettings.technologyPreference = | 79 | sim.radioSettings.technologyPreference = |
990 | 81 | DataHelpers.singleSimIndexToKey(selIndex); | 80 | DataHelpers.singleSimIndexToKey(selIndex); |
991 | 82 | } | 81 | } |
992 | 83 | } | 82 | } |
993 | 84 | } | 83 | } |
994 | 85 | 84 | ||
995 | 86 | Binding { | 85 | Binding { |
997 | 87 | target: sim1.connMan | 86 | target: sim.connMan |
998 | 88 | property: "powered" | 87 | property: "powered" |
999 | 89 | value: selector.selectedIndex !== 0 | 88 | value: selector.selectedIndex !== 0 |
1000 | 90 | } | 89 | } |
1001 | 91 | 90 | ||
1002 | 92 | Binding { | 91 | Binding { |
1004 | 93 | target: sim1.radioSettings | 92 | target: sim.radioSettings |
1005 | 94 | property: "technologyPreference" | 93 | property: "technologyPreference" |
1006 | 95 | value: { | 94 | value: { |
1007 | 96 | var i = selector.selectedIndex; | 95 | var i = selector.selectedIndex; |
1008 | @@ -99,7 +98,7 @@ | |||
1009 | 99 | } else if (i === 2) { | 98 | } else if (i === 2) { |
1010 | 100 | return 'umts'; | 99 | return 'umts'; |
1011 | 101 | } else { | 100 | } else { |
1013 | 102 | return sim1.radioSettings.technologyPreference | 101 | return sim.radioSettings.technologyPreference |
1014 | 103 | } | 102 | } |
1015 | 104 | } | 103 | } |
1016 | 105 | } | 104 | } |
1017 | 106 | 105 | ||
1018 | === modified file 'plugins/cellular/Components/DefaultSim.qml' | |||
1019 | --- plugins/cellular/Components/DefaultSim.qml 2014-08-14 09:59:56 +0000 | |||
1020 | +++ plugins/cellular/Components/DefaultSim.qml 2014-08-26 11:38:32 +0000 | |||
1021 | @@ -23,10 +23,10 @@ | |||
1022 | 23 | 23 | ||
1023 | 24 | Column { | 24 | Column { |
1024 | 25 | 25 | ||
1026 | 26 | property var m: ["ask", sim1.path, sim2.path] | 26 | property var m: ["ask", sims[0].path, sims[1].path] |
1027 | 27 | 27 | ||
1028 | 28 | function getNameFromIndex (index) { | 28 | function getNameFromIndex (index) { |
1030 | 29 | return [i18n.tr("Ask me each time"), sim1.title, sim2.title][index]; | 29 | return [i18n.tr("Ask me each time"), sims[0].title, sims[1].title][index]; |
1031 | 30 | } | 30 | } |
1032 | 31 | 31 | ||
1033 | 32 | ListItem.ItemSelector { | 32 | ListItem.ItemSelector { |
1034 | @@ -45,8 +45,7 @@ | |||
1035 | 45 | } | 45 | } |
1036 | 46 | 46 | ||
1037 | 47 | ListItem.Caption { | 47 | ListItem.Caption { |
1040 | 48 | text: i18n.tr("You can change the SIM for individual calls, | 48 | text: i18n.tr("You can change the SIM for individual calls, or for contacts in the address book.") |
1039 | 49 | or for contacts in the address book.") | ||
1041 | 50 | } | 49 | } |
1042 | 51 | 50 | ||
1043 | 52 | ListItem.Divider {} | 51 | ListItem.Divider {} |
1044 | 53 | 52 | ||
1045 | === added file 'plugins/cellular/Components/MultiSim.qml' | |||
1046 | --- plugins/cellular/Components/MultiSim.qml 1970-01-01 00:00:00 +0000 | |||
1047 | +++ plugins/cellular/Components/MultiSim.qml 2014-08-26 11:38:32 +0000 | |||
1048 | @@ -0,0 +1,120 @@ | |||
1049 | 1 | /* | ||
1050 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
1051 | 3 | * | ||
1052 | 4 | * This program is free software: you can redistribute it and/or modify | ||
1053 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
1054 | 6 | * published by the Free Software Foundation. | ||
1055 | 7 | * | ||
1056 | 8 | * This program is distributed in the hope that it will be useful, | ||
1057 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1058 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1059 | 11 | * GNU General Public License for more details. | ||
1060 | 12 | * | ||
1061 | 13 | * You should have received a copy of the GNU General Public License | ||
1062 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1063 | 15 | * | ||
1064 | 16 | * Authors: | ||
1065 | 17 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
1066 | 18 | * | ||
1067 | 19 | */ | ||
1068 | 20 | import QtQuick 2.0 | ||
1069 | 21 | import GSettings 1.0 | ||
1070 | 22 | import Ubuntu.Components 0.1 | ||
1071 | 23 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
1072 | 24 | |||
1073 | 25 | Column { | ||
1074 | 26 | |||
1075 | 27 | objectName: "multiSim" | ||
1076 | 28 | |||
1077 | 29 | property var sims | ||
1078 | 30 | property var modems | ||
1079 | 31 | |||
1080 | 32 | // make settings available to all children of root | ||
1081 | 33 | property var settings: phoneSettings | ||
1082 | 34 | |||
1083 | 35 | CellularMultiSim { | ||
1084 | 36 | anchors { left: parent.left; right: parent.right } | ||
1085 | 37 | } | ||
1086 | 38 | |||
1087 | 39 | ListItem.Divider {} | ||
1088 | 40 | |||
1089 | 41 | ListItem.SingleValue { | ||
1090 | 42 | text : i18n.tr("Hotspot disabled because Wi-Fi is off.") | ||
1091 | 43 | visible: showAllUI && !hotspotItem.visible | ||
1092 | 44 | } | ||
1093 | 45 | |||
1094 | 46 | ListItem.SingleValue { | ||
1095 | 47 | id: hotspotItem | ||
1096 | 48 | text: i18n.tr("Wi-Fi hotspot") | ||
1097 | 49 | progression: true | ||
1098 | 50 | onClicked: { | ||
1099 | 51 | pageStack.push(Qt.resolvedUrl("Hotspot.qml")) | ||
1100 | 52 | } | ||
1101 | 53 | visible: showAllUI && (actionGroup.actionObject.valid ? actionGroup.actionObject.state : false) | ||
1102 | 54 | } | ||
1103 | 55 | |||
1104 | 56 | ListItem.Standard { | ||
1105 | 57 | id: dataUsage | ||
1106 | 58 | text: i18n.tr("Data usage statistics") | ||
1107 | 59 | progression: true | ||
1108 | 60 | visible: showAllUI | ||
1109 | 61 | } | ||
1110 | 62 | |||
1111 | 63 | ListItem.Divider { | ||
1112 | 64 | visible: hotspotItem.visible || dataUsage.visible | ||
1113 | 65 | } | ||
1114 | 66 | |||
1115 | 67 | ListItem.SingleValue { | ||
1116 | 68 | text: i18n.tr("Carriers") | ||
1117 | 69 | id: chooseCarrier | ||
1118 | 70 | objectName: "chooseCarrier" | ||
1119 | 71 | progression: enabled | ||
1120 | 72 | onClicked: { | ||
1121 | 73 | pageStack.push(Qt.resolvedUrl("../PageChooseCarriers.qml"), { | ||
1122 | 74 | sims: sims | ||
1123 | 75 | }); | ||
1124 | 76 | } | ||
1125 | 77 | } | ||
1126 | 78 | |||
1127 | 79 | ListItem.Divider {} | ||
1128 | 80 | |||
1129 | 81 | SimEditor { | ||
1130 | 82 | anchors { left: parent.left; right: parent.right } | ||
1131 | 83 | } | ||
1132 | 84 | |||
1133 | 85 | ListItem.Divider {} | ||
1134 | 86 | |||
1135 | 87 | DefaultSim { | ||
1136 | 88 | anchors { left: parent.left; right: parent.right } | ||
1137 | 89 | } | ||
1138 | 90 | |||
1139 | 91 | GSettings { | ||
1140 | 92 | id: phoneSettings | ||
1141 | 93 | schema.id: "com.ubuntu.phone" | ||
1142 | 94 | Component.onCompleted: { | ||
1143 | 95 | // set default names | ||
1144 | 96 | var simNames = phoneSettings.simNames; | ||
1145 | 97 | var m0 = modems[0]; | ||
1146 | 98 | var m1 = modems[1]; | ||
1147 | 99 | if (!simNames[m0]) { | ||
1148 | 100 | simNames[m0] = "SIM 1"; | ||
1149 | 101 | } | ||
1150 | 102 | if (!simNames[m1]) { | ||
1151 | 103 | simNames[m1] = "SIM 2"; | ||
1152 | 104 | } | ||
1153 | 105 | phoneSettings.simNames = simNames; | ||
1154 | 106 | } | ||
1155 | 107 | } | ||
1156 | 108 | |||
1157 | 109 | Binding { | ||
1158 | 110 | target: sims[0] | ||
1159 | 111 | property: "name" | ||
1160 | 112 | value: phoneSettings.simNames[modems[0]] | ||
1161 | 113 | } | ||
1162 | 114 | |||
1163 | 115 | Binding { | ||
1164 | 116 | target: sims[1] | ||
1165 | 117 | property: "name" | ||
1166 | 118 | value: phoneSettings.simNames[modems[1]] | ||
1167 | 119 | } | ||
1168 | 120 | } | ||
1169 | 0 | 121 | ||
1170 | === added file 'plugins/cellular/Components/NoSim.qml' | |||
1171 | --- plugins/cellular/Components/NoSim.qml 1970-01-01 00:00:00 +0000 | |||
1172 | +++ plugins/cellular/Components/NoSim.qml 2014-08-26 11:38:32 +0000 | |||
1173 | @@ -0,0 +1,51 @@ | |||
1174 | 1 | /* | ||
1175 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
1176 | 3 | * | ||
1177 | 4 | * This program is free software: you can redistribute it and/or modify | ||
1178 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
1179 | 6 | * published by the Free Software Foundation. | ||
1180 | 7 | * | ||
1181 | 8 | * This program is distributed in the hope that it will be useful, | ||
1182 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1183 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1184 | 11 | * GNU General Public License for more details. | ||
1185 | 12 | * | ||
1186 | 13 | * You should have received a copy of the GNU General Public License | ||
1187 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1188 | 15 | * | ||
1189 | 16 | * Authors: | ||
1190 | 17 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
1191 | 18 | * | ||
1192 | 19 | */ | ||
1193 | 20 | import QtQuick 2.0 | ||
1194 | 21 | import Ubuntu.Components 0.1 | ||
1195 | 22 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
1196 | 23 | |||
1197 | 24 | Column { | ||
1198 | 25 | |||
1199 | 26 | objectName: "noSim" | ||
1200 | 27 | |||
1201 | 28 | ListItem.ItemSelector { | ||
1202 | 29 | text: i18n.tr("Cellular data:") | ||
1203 | 30 | expanded: true | ||
1204 | 31 | enabled: false | ||
1205 | 32 | model: [i18n.tr("Off"), i18n.tr("2G only (saves battery)"), i18n.tr("2G/3G/4G (faster)")] | ||
1206 | 33 | selectedIndex: -1 | ||
1207 | 34 | } | ||
1208 | 35 | |||
1209 | 36 | ListItem.Standard { | ||
1210 | 37 | text: i18n.tr("Data roaming") | ||
1211 | 38 | enabled: false | ||
1212 | 39 | control: Switch { | ||
1213 | 40 | checked: false | ||
1214 | 41 | } | ||
1215 | 42 | } | ||
1216 | 43 | |||
1217 | 44 | ListItem.Divider {} | ||
1218 | 45 | |||
1219 | 46 | ListItem.SingleValue { | ||
1220 | 47 | text: i18n.tr("Carrier"); | ||
1221 | 48 | value: i18n.tr("N/A") | ||
1222 | 49 | enabled: false | ||
1223 | 50 | } | ||
1224 | 51 | } | ||
1225 | 0 | 52 | ||
1226 | === modified file 'plugins/cellular/Components/Sim.qml' | |||
1227 | --- plugins/cellular/Components/Sim.qml 2014-07-25 13:33:36 +0000 | |||
1228 | +++ plugins/cellular/Components/Sim.qml 2014-08-26 11:38:32 +0000 | |||
1229 | @@ -21,12 +21,14 @@ | |||
1230 | 21 | import MeeGo.QOfono 0.2 | 21 | import MeeGo.QOfono 0.2 |
1231 | 22 | 22 | ||
1232 | 23 | Item { | 23 | Item { |
1233 | 24 | id: root | ||
1234 | 24 | property alias modem: modem | 25 | property alias modem: modem |
1235 | 25 | property alias netReg: netReg | 26 | property alias netReg: netReg |
1236 | 26 | property alias radioSettings: radioSettings | 27 | property alias radioSettings: radioSettings |
1237 | 27 | property alias simMng: simMng | 28 | property alias simMng: simMng |
1238 | 28 | property alias connMan: connMan | 29 | property alias connMan: connMan |
1239 | 29 | 30 | ||
1240 | 31 | property alias present: simMng.present | ||
1241 | 30 | property string path | 32 | property string path |
1242 | 31 | property string name | 33 | property string name |
1243 | 32 | property string title: { | 34 | property string title: { |
1244 | 33 | 35 | ||
1245 | === modified file 'plugins/cellular/Components/SimEditor.qml' | |||
1246 | --- plugins/cellular/Components/SimEditor.qml 2014-08-15 19:58:34 +0000 | |||
1247 | +++ plugins/cellular/Components/SimEditor.qml 2014-08-26 11:38:32 +0000 | |||
1248 | @@ -44,7 +44,7 @@ | |||
1249 | 44 | name: "editingSim1" | 44 | name: "editingSim1" |
1250 | 45 | PropertyChanges { | 45 | PropertyChanges { |
1251 | 46 | target: nameField | 46 | target: nameField |
1253 | 47 | text: sim1.name | 47 | text: sims[0].name |
1254 | 48 | } | 48 | } |
1255 | 49 | ParentChange { | 49 | ParentChange { |
1256 | 50 | target: editor | 50 | target: editor |
1257 | @@ -60,7 +60,7 @@ | |||
1258 | 60 | name: "editingSim2" | 60 | name: "editingSim2" |
1259 | 61 | PropertyChanges { | 61 | PropertyChanges { |
1260 | 62 | target: nameField | 62 | target: nameField |
1262 | 63 | text: sim2.name | 63 | text: sims[1].name |
1263 | 64 | } | 64 | } |
1264 | 65 | ParentChange { | 65 | ParentChange { |
1265 | 66 | target: editor | 66 | target: editor |
1266 | @@ -108,7 +108,7 @@ | |||
1267 | 108 | right: parent.right | 108 | right: parent.right |
1268 | 109 | verticalCenter: parent.verticalCenter | 109 | verticalCenter: parent.verticalCenter |
1269 | 110 | } | 110 | } |
1271 | 111 | text: sim1.title | 111 | text: sims[0].title |
1272 | 112 | } | 112 | } |
1273 | 113 | } | 113 | } |
1274 | 114 | Column { | 114 | Column { |
1275 | @@ -144,7 +144,7 @@ | |||
1276 | 144 | right: parent.right | 144 | right: parent.right |
1277 | 145 | verticalCenter: parent.verticalCenter | 145 | verticalCenter: parent.verticalCenter |
1278 | 146 | } | 146 | } |
1280 | 147 | text: sim2.title | 147 | text: sims[1].title |
1281 | 148 | } | 148 | } |
1282 | 149 | } | 149 | } |
1283 | 150 | Column { | 150 | Column { |
1284 | @@ -213,11 +213,11 @@ | |||
1285 | 213 | onTriggered: { | 213 | onTriggered: { |
1286 | 214 | var tmpSimNames = {}; | 214 | var tmpSimNames = {}; |
1287 | 215 | if (simList.state === "editingSim1") { | 215 | if (simList.state === "editingSim1") { |
1290 | 216 | tmpSimNames[sim1.path] = nameField.text; | 216 | tmpSimNames[sims[0].path] = nameField.text; |
1291 | 217 | tmpSimNames[sim2.path] = sim2.name; | 217 | tmpSimNames[sims[1].path] = sims[1].name; |
1292 | 218 | } else if (simList.state === "editingSim2") { | 218 | } else if (simList.state === "editingSim2") { |
1295 | 219 | tmpSimNames[sim1.path] = sim1.name; | 219 | tmpSimNames[sims[0].path] = sims[0].name; |
1296 | 220 | tmpSimNames[sim2.path] = nameField.text; | 220 | tmpSimNames[sims[1].path] = nameField.text; |
1297 | 221 | } | 221 | } |
1298 | 222 | phoneSettings.simNames = tmpSimNames; | 222 | phoneSettings.simNames = tmpSimNames; |
1299 | 223 | simList.state = ""; | 223 | simList.state = ""; |
1300 | 224 | 224 | ||
1301 | === added file 'plugins/cellular/Components/SingleSim.qml' | |||
1302 | --- plugins/cellular/Components/SingleSim.qml 1970-01-01 00:00:00 +0000 | |||
1303 | +++ plugins/cellular/Components/SingleSim.qml 2014-08-26 11:38:32 +0000 | |||
1304 | @@ -0,0 +1,76 @@ | |||
1305 | 1 | /* | ||
1306 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
1307 | 3 | * | ||
1308 | 4 | * This program is free software: you can redistribute it and/or modify | ||
1309 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
1310 | 6 | * published by the Free Software Foundation. | ||
1311 | 7 | * | ||
1312 | 8 | * This program is distributed in the hope that it will be useful, | ||
1313 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1314 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1315 | 11 | * GNU General Public License for more details. | ||
1316 | 12 | * | ||
1317 | 13 | * You should have received a copy of the GNU General Public License | ||
1318 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1319 | 15 | * | ||
1320 | 16 | * Authors: | ||
1321 | 17 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
1322 | 18 | * | ||
1323 | 19 | */ | ||
1324 | 20 | import QtQuick 2.0 | ||
1325 | 21 | import Ubuntu.Components 0.1 | ||
1326 | 22 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
1327 | 23 | |||
1328 | 24 | Column { | ||
1329 | 25 | |||
1330 | 26 | objectName: "singleSim" | ||
1331 | 27 | |||
1332 | 28 | property var sim | ||
1333 | 29 | |||
1334 | 30 | CellularSingleSim { | ||
1335 | 31 | anchors { left: parent.left; right: parent.right } | ||
1336 | 32 | } | ||
1337 | 33 | |||
1338 | 34 | ListItem.Divider {} | ||
1339 | 35 | |||
1340 | 36 | ListItem.SingleValue { | ||
1341 | 37 | text : i18n.tr("Hotspot disabled because Wi-Fi is off.") | ||
1342 | 38 | visible: showAllUI && !hotspotItem.visible | ||
1343 | 39 | } | ||
1344 | 40 | |||
1345 | 41 | ListItem.SingleValue { | ||
1346 | 42 | id: hotspotItem | ||
1347 | 43 | text: i18n.tr("Wi-Fi hotspot") | ||
1348 | 44 | progression: true | ||
1349 | 45 | onClicked: { | ||
1350 | 46 | pageStack.push(Qt.resolvedUrl("Hotspot.qml")) | ||
1351 | 47 | } | ||
1352 | 48 | visible: showAllUI && (actionGroup.actionObject.valid ? actionGroup.actionObject.state : false) | ||
1353 | 49 | } | ||
1354 | 50 | |||
1355 | 51 | ListItem.Standard { | ||
1356 | 52 | text: i18n.tr("Data usage statistics") | ||
1357 | 53 | progression: true | ||
1358 | 54 | visible: showAllUI | ||
1359 | 55 | } | ||
1360 | 56 | |||
1361 | 57 | ListItem.SingleValue { | ||
1362 | 58 | text: i18n.tr("Carrier"); | ||
1363 | 59 | id: chooseCarrier | ||
1364 | 60 | objectName: "chooseCarrier" | ||
1365 | 61 | progression: enabled | ||
1366 | 62 | value: sim.netReg.name || i18n.tr("N/A") | ||
1367 | 63 | onClicked: { | ||
1368 | 64 | pageStack.push(Qt.resolvedUrl("../PageChooseCarrier.qml"), { | ||
1369 | 65 | netReg: sim.netReg, | ||
1370 | 66 | title: i18n.tr("Carrier") | ||
1371 | 67 | }) | ||
1372 | 68 | } | ||
1373 | 69 | } | ||
1374 | 70 | |||
1375 | 71 | ListItem.Standard { | ||
1376 | 72 | text: i18n.tr("APN") | ||
1377 | 73 | progression: true | ||
1378 | 74 | visible: showAllUI | ||
1379 | 75 | } | ||
1380 | 76 | } | ||
1381 | 0 | 77 | ||
1382 | === modified file 'plugins/cellular/PageChooseCarriers.qml' | |||
1383 | --- plugins/cellular/PageChooseCarriers.qml 2014-07-24 19:00:45 +0000 | |||
1384 | +++ plugins/cellular/PageChooseCarriers.qml 2014-08-26 11:38:32 +0000 | |||
1385 | @@ -28,8 +28,7 @@ | |||
1386 | 28 | title: i18n.tr("Carriers") | 28 | title: i18n.tr("Carriers") |
1387 | 29 | objectName: "chooseCarriersPage" | 29 | objectName: "chooseCarriersPage" |
1388 | 30 | 30 | ||
1391 | 31 | property var sim1 | 31 | property var sims |
1390 | 32 | property var sim2 | ||
1392 | 33 | 32 | ||
1393 | 34 | Flickable { | 33 | Flickable { |
1394 | 35 | anchors.fill: parent | 34 | anchors.fill: parent |
1395 | @@ -42,33 +41,33 @@ | |||
1396 | 42 | anchors.right: parent.right | 41 | anchors.right: parent.right |
1397 | 43 | 42 | ||
1398 | 44 | ListItem.Standard { | 43 | ListItem.Standard { |
1400 | 45 | text: sim1.title | 44 | text: sims[0].title |
1401 | 46 | } | 45 | } |
1402 | 47 | 46 | ||
1403 | 48 | ListItem.SingleValue { | 47 | ListItem.SingleValue { |
1404 | 49 | objectName: "chooseCarrierSim1" | 48 | objectName: "chooseCarrierSim1" |
1406 | 50 | value: sim1.netReg.name ? sim1.netReg.name : i18n.tr("N/A") | 49 | value: sims[0].netReg.name ? sims[0].netReg.name : i18n.tr("N/A") |
1407 | 51 | progression: true | 50 | progression: true |
1408 | 52 | onClicked: { | 51 | onClicked: { |
1409 | 53 | pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | 52 | pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { |
1412 | 54 | netReg: sim1.netReg, | 53 | netReg: sims[0].netReg, |
1413 | 55 | title: sim1.title | 54 | title: sims[0].title |
1414 | 56 | }) | 55 | }) |
1415 | 57 | } | 56 | } |
1416 | 58 | } | 57 | } |
1417 | 59 | 58 | ||
1418 | 60 | ListItem.Standard { | 59 | ListItem.Standard { |
1420 | 61 | text: sim2.title | 60 | text: sims[1].title |
1421 | 62 | } | 61 | } |
1422 | 63 | 62 | ||
1423 | 64 | ListItem.SingleValue { | 63 | ListItem.SingleValue { |
1424 | 65 | objectName: "chooseCarrierSim2" | 64 | objectName: "chooseCarrierSim2" |
1426 | 66 | value: sim2.netReg.name ? sim2.netReg.name : i18n.tr("N/A") | 65 | value: sims[1].netReg.name ? sims[1].netReg.name : i18n.tr("N/A") |
1427 | 67 | progression: true | 66 | progression: true |
1428 | 68 | onClicked: { | 67 | onClicked: { |
1429 | 69 | pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | 68 | pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { |
1432 | 70 | netReg: sim2.netReg, | 69 | netReg: sims[1].netReg, |
1433 | 71 | title: sim2.title | 70 | title: sims[1].title |
1434 | 72 | }) | 71 | }) |
1435 | 73 | } | 72 | } |
1436 | 74 | } | 73 | } |
1437 | 75 | 74 | ||
1438 | === modified file 'plugins/cellular/PageComponent.qml' | |||
1439 | --- plugins/cellular/PageComponent.qml 2014-08-12 16:25:26 +0000 | |||
1440 | +++ plugins/cellular/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
1441 | @@ -19,53 +19,69 @@ | |||
1442 | 19 | */ | 19 | */ |
1443 | 20 | 20 | ||
1444 | 21 | import QtQuick 2.0 | 21 | import QtQuick 2.0 |
1445 | 22 | import GSettings 1.0 | ||
1446 | 23 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1447 | 24 | import Ubuntu.Components 0.1 | 23 | import Ubuntu.Components 0.1 |
1448 | 25 | import Ubuntu.Components.ListItems 0.1 as ListItem | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem |
1449 | 26 | import MeeGo.QOfono 0.2 | 25 | import MeeGo.QOfono 0.2 |
1450 | 27 | import QMenuModel 0.1 | 26 | import QMenuModel 0.1 |
1452 | 28 | import "Components" | 27 | import "Components" as LocalComponents |
1453 | 28 | import "sims.js" as Sims | ||
1454 | 29 | 29 | ||
1455 | 30 | ItemPage { | 30 | ItemPage { |
1456 | 31 | id: root | 31 | id: root |
1457 | 32 | title: i18n.tr("Cellular") | 32 | title: i18n.tr("Cellular") |
1458 | 33 | objectName: "cellularPage" | 33 | objectName: "cellularPage" |
1459 | 34 | 34 | ||
1460 | 35 | // pointers to sim 1 and 2, lazy loaded | ||
1461 | 36 | property alias sim1: simOneLoader.item | ||
1462 | 37 | property alias sim2: simTwoLoader.item | ||
1463 | 38 | property var modemsSorted: manager.modems.slice(0).sort() | 35 | property var modemsSorted: manager.modems.slice(0).sort() |
1464 | 36 | property int simsLoaded: 0 | ||
1465 | 39 | 37 | ||
1466 | 40 | states: [ | 38 | states: [ |
1467 | 41 | State { | 39 | State { |
1468 | 40 | name: "noSim" | ||
1469 | 41 | when: (simsLoaded === 0) || (Sims.getPresentCount() === 0) | ||
1470 | 42 | StateChangeScript { | ||
1471 | 43 | script: loader.source = "Components/NoSim.qml" | ||
1472 | 44 | } | ||
1473 | 45 | }, | ||
1474 | 46 | State { | ||
1475 | 42 | name: "singleSim" | 47 | name: "singleSim" |
1476 | 43 | StateChangeScript { | 48 | StateChangeScript { |
1484 | 44 | name: "loadSim" | 49 | script: loader.setSource("Components/SingleSim.qml", { |
1485 | 45 | script: { | 50 | sim: Sims.get(0) |
1486 | 46 | var p = modemsSorted[0]; | 51 | }) |
1480 | 47 | simOneLoader.setSource("Components/Sim.qml", { | ||
1481 | 48 | path: p | ||
1482 | 49 | }); | ||
1483 | 50 | } | ||
1487 | 51 | } | 52 | } |
1488 | 53 | when: simsLoaded && (Sims.getPresentCount() === 1) | ||
1489 | 52 | }, | 54 | }, |
1490 | 53 | State { | 55 | State { |
1493 | 54 | name: "dualSim" | 56 | name: "multiSim" |
1492 | 55 | extend: "singleSim" | ||
1494 | 56 | StateChangeScript { | 57 | StateChangeScript { |
1503 | 57 | name: "loadSecondSim" | 58 | script: loader.setSource("Components/MultiSim.qml", { |
1504 | 58 | script: { | 59 | sims: Sims.getAll(), |
1505 | 59 | var p = modemsSorted[1]; | 60 | modems: modemsSorted |
1506 | 60 | simTwoLoader.setSource("Components/Sim.qml", { | 61 | }) |
1499 | 61 | path: p | ||
1500 | 62 | }); | ||
1501 | 63 | defaultSimLoader.source = "Components/DefaultSim.qml"; | ||
1502 | 64 | } | ||
1507 | 65 | } | 62 | } |
1508 | 63 | when: simsLoaded && (Sims.getPresentCount() > 1) | ||
1509 | 66 | } | 64 | } |
1510 | 67 | ] | 65 | ] |
1511 | 68 | 66 | ||
1512 | 67 | OfonoManager { | ||
1513 | 68 | id: manager | ||
1514 | 69 | Component.onCompleted: { | ||
1515 | 70 | var component = Qt.createComponent("Components/Sim.qml"); | ||
1516 | 71 | modemsSorted.forEach(function (path) { | ||
1517 | 72 | console.warn('creating sim object for', path) | ||
1518 | 73 | var sim = component.createObject(root, { | ||
1519 | 74 | path: path | ||
1520 | 75 | }); | ||
1521 | 76 | if (sim === null) { | ||
1522 | 77 | console.warn('failed to create sim object'); | ||
1523 | 78 | } else { | ||
1524 | 79 | Sims.add(sim); | ||
1525 | 80 | } | ||
1526 | 81 | }); | ||
1527 | 82 | } | ||
1528 | 83 | } | ||
1529 | 84 | |||
1530 | 69 | QDBusActionGroup { | 85 | QDBusActionGroup { |
1531 | 70 | id: actionGroup | 86 | id: actionGroup |
1532 | 71 | busType: 1 | 87 | busType: 1 |
1533 | @@ -78,42 +94,6 @@ | |||
1534 | 78 | start() | 94 | start() |
1535 | 79 | } | 95 | } |
1536 | 80 | } | 96 | } |
1537 | 81 | |||
1538 | 82 | OfonoManager { | ||
1539 | 83 | id: manager | ||
1540 | 84 | Component.onCompleted: { | ||
1541 | 85 | if (modems.length === 1) { | ||
1542 | 86 | root.state = "singleSim"; | ||
1543 | 87 | } else if (modems.length === 2) { | ||
1544 | 88 | root.state = "dualSim"; | ||
1545 | 89 | } | ||
1546 | 90 | } | ||
1547 | 91 | } | ||
1548 | 92 | |||
1549 | 93 | Loader { | ||
1550 | 94 | id: simOneLoader | ||
1551 | 95 | onLoaded: { | ||
1552 | 96 | if (parent.state === "singleSim") { | ||
1553 | 97 | cellData.setSource("Components/CellularSingleSim.qml", { | ||
1554 | 98 | sim1: sim1 | ||
1555 | 99 | }); | ||
1556 | 100 | } | ||
1557 | 101 | } | ||
1558 | 102 | } | ||
1559 | 103 | |||
1560 | 104 | Loader { | ||
1561 | 105 | id: simTwoLoader | ||
1562 | 106 | onLoaded: { | ||
1563 | 107 | // unload any single sim setup | ||
1564 | 108 | cellData.source = ""; | ||
1565 | 109 | cellData.setSource("Components/CellularDualSim.qml", { | ||
1566 | 110 | sim1: sim1, | ||
1567 | 111 | sim2: sim2 | ||
1568 | 112 | }); | ||
1569 | 113 | simEditorLoader.source = "Components/SimEditor.qml"; | ||
1570 | 114 | } | ||
1571 | 115 | } | ||
1572 | 116 | |||
1573 | 117 | Flickable { | 97 | Flickable { |
1574 | 118 | anchors.fill: parent | 98 | anchors.fill: parent |
1575 | 119 | contentWidth: parent.width | 99 | contentWidth: parent.width |
1576 | @@ -124,106 +104,9 @@ | |||
1577 | 124 | anchors { left: parent.left; right: parent.right } | 104 | anchors { left: parent.left; right: parent.right } |
1578 | 125 | 105 | ||
1579 | 126 | Loader { | 106 | Loader { |
1681 | 127 | id: cellData | 107 | id: loader |
1682 | 128 | anchors { left: parent.left; right: parent.right } | 108 | anchors { left: parent.left; right: parent.right } |
1683 | 129 | } | 109 | } |
1684 | 130 | 110 | } | |
1584 | 131 | ListItem.SingleValue { | ||
1585 | 132 | text : i18n.tr("Hotspot disabled because Wi-Fi is off.") | ||
1586 | 133 | visible: showAllUI && !hotspotItem.visible | ||
1587 | 134 | } | ||
1588 | 135 | |||
1589 | 136 | ListItem.SingleValue { | ||
1590 | 137 | id: hotspotItem | ||
1591 | 138 | text: i18n.tr("Wi-Fi hotspot") | ||
1592 | 139 | progression: true | ||
1593 | 140 | onClicked: { | ||
1594 | 141 | pageStack.push(Qt.resolvedUrl("Hotspot.qml")) | ||
1595 | 142 | } | ||
1596 | 143 | visible: showAllUI && (actionGroup.actionObject.valid ? actionGroup.actionObject.state : false) | ||
1597 | 144 | } | ||
1598 | 145 | |||
1599 | 146 | ListItem.Standard { | ||
1600 | 147 | text: i18n.tr("Data usage statistics") | ||
1601 | 148 | progression: true | ||
1602 | 149 | visible: showAllUI | ||
1603 | 150 | } | ||
1604 | 151 | |||
1605 | 152 | ListItem.SingleValue { | ||
1606 | 153 | text: i18n.tr("Carrier", "Carriers", manager.modems.length); | ||
1607 | 154 | id: chooseCarrier | ||
1608 | 155 | objectName: "chooseCarrier" | ||
1609 | 156 | progression: enabled | ||
1610 | 157 | onClicked: { | ||
1611 | 158 | if (root.state === 'singleSim') { | ||
1612 | 159 | pageStack.push(Qt.resolvedUrl("PageChooseCarrier.qml"), { | ||
1613 | 160 | netReg: sim1.netReg, | ||
1614 | 161 | title: i18n.tr("Carrier") | ||
1615 | 162 | }) | ||
1616 | 163 | } else if (root.state === 'dualSim') { | ||
1617 | 164 | pageStack.push(Qt.resolvedUrl("PageChooseCarriers.qml"), { | ||
1618 | 165 | sim1: sim1, | ||
1619 | 166 | sim2: sim2 | ||
1620 | 167 | }); | ||
1621 | 168 | } | ||
1622 | 169 | } | ||
1623 | 170 | } | ||
1624 | 171 | |||
1625 | 172 | Binding { | ||
1626 | 173 | target: chooseCarrier | ||
1627 | 174 | property: "value" | ||
1628 | 175 | value: sim1.netReg.name || i18n.tr("N/A") | ||
1629 | 176 | when: (simOneLoader.status === Loader.Ready) && root.state === "singleSim" | ||
1630 | 177 | } | ||
1631 | 178 | |||
1632 | 179 | ListItem.Standard { | ||
1633 | 180 | text: i18n.tr("APN") | ||
1634 | 181 | progression: true | ||
1635 | 182 | visible: showAllUI | ||
1636 | 183 | } | ||
1637 | 184 | |||
1638 | 185 | Loader { | ||
1639 | 186 | id: simEditorLoader | ||
1640 | 187 | anchors { left: parent.left; right: parent.right } | ||
1641 | 188 | } | ||
1642 | 189 | |||
1643 | 190 | ListItem.Divider {} | ||
1644 | 191 | |||
1645 | 192 | Loader { | ||
1646 | 193 | id: defaultSimLoader | ||
1647 | 194 | anchors.left: parent.left | ||
1648 | 195 | anchors.right: parent.right | ||
1649 | 196 | } | ||
1650 | 197 | } | ||
1651 | 198 | } | ||
1652 | 199 | |||
1653 | 200 | GSettings { | ||
1654 | 201 | id: phoneSettings | ||
1655 | 202 | schema.id: "com.ubuntu.phone" | ||
1656 | 203 | Component.onCompleted: { | ||
1657 | 204 | // set default names | ||
1658 | 205 | var simNames = phoneSettings.simNames; | ||
1659 | 206 | var m0 = modemsSorted[0]; | ||
1660 | 207 | var m1 = modemsSorted[1]; | ||
1661 | 208 | if (!simNames[m0]) { | ||
1662 | 209 | simNames[m0] = "SIM 1"; | ||
1663 | 210 | } | ||
1664 | 211 | if (!simNames[m1]) { | ||
1665 | 212 | simNames[m1] = "SIM 2"; | ||
1666 | 213 | } | ||
1667 | 214 | phoneSettings.simNames = simNames; | ||
1668 | 215 | } | ||
1669 | 216 | } | ||
1670 | 217 | |||
1671 | 218 | Binding { | ||
1672 | 219 | target: sim1 | ||
1673 | 220 | property: "name" | ||
1674 | 221 | value: phoneSettings.simNames[modemsSorted[0]] | ||
1675 | 222 | } | ||
1676 | 223 | |||
1677 | 224 | Binding { | ||
1678 | 225 | target: sim2 | ||
1679 | 226 | property: "name" | ||
1680 | 227 | value: phoneSettings.simNames[modemsSorted[1]] | ||
1685 | 228 | } | 111 | } |
1686 | 229 | } | 112 | } |
1687 | 230 | 113 | ||
1688 | === added file 'plugins/cellular/sims.js' | |||
1689 | --- plugins/cellular/sims.js 1970-01-01 00:00:00 +0000 | |||
1690 | +++ plugins/cellular/sims.js 2014-08-26 11:38:32 +0000 | |||
1691 | @@ -0,0 +1,34 @@ | |||
1692 | 1 | var sims = []; | ||
1693 | 2 | |||
1694 | 3 | function add (sim) { | ||
1695 | 4 | sims.push(sim); | ||
1696 | 5 | root.simsLoaded++; | ||
1697 | 6 | } | ||
1698 | 7 | |||
1699 | 8 | function getAll () { | ||
1700 | 9 | return sims; | ||
1701 | 10 | } | ||
1702 | 11 | |||
1703 | 12 | function get (n) { | ||
1704 | 13 | return getAll()[n]; | ||
1705 | 14 | } | ||
1706 | 15 | |||
1707 | 16 | function getCount () { | ||
1708 | 17 | return getAll().length; | ||
1709 | 18 | } | ||
1710 | 19 | |||
1711 | 20 | function getPresent () { | ||
1712 | 21 | var present = []; | ||
1713 | 22 | getAll().forEach(function (sim) { | ||
1714 | 23 | if (sim.present) { | ||
1715 | 24 | present.push(sim); | ||
1716 | 25 | } else { | ||
1717 | 26 | return; | ||
1718 | 27 | } | ||
1719 | 28 | }); | ||
1720 | 29 | return present; | ||
1721 | 30 | } | ||
1722 | 31 | |||
1723 | 32 | function getPresentCount () { | ||
1724 | 33 | return getPresent().length; | ||
1725 | 34 | } | ||
1726 | 0 | 35 | ||
1727 | === modified file 'plugins/notifications/notification_item.cpp' | |||
1728 | --- plugins/notifications/notification_item.cpp 2014-07-18 15:22:59 +0000 | |||
1729 | +++ plugins/notifications/notification_item.cpp 2014-08-26 11:38:32 +0000 | |||
1730 | @@ -20,7 +20,8 @@ | |||
1731 | 20 | namespace NotificationsPlugin { | 20 | namespace NotificationsPlugin { |
1732 | 21 | 21 | ||
1733 | 22 | NotificationItem::NotificationItem(QObject *parent) : | 22 | NotificationItem::NotificationItem(QObject *parent) : |
1735 | 23 | QObject(parent) | 23 | QObject(parent), |
1736 | 24 | m_status(false) | ||
1737 | 24 | { | 25 | { |
1738 | 25 | } | 26 | } |
1739 | 26 | 27 | ||
1740 | 27 | 28 | ||
1741 | === modified file 'plugins/phone/CMakeLists.txt' | |||
1742 | --- plugins/phone/CMakeLists.txt 2014-07-09 13:17:47 +0000 | |||
1743 | +++ plugins/phone/CMakeLists.txt 2014-08-26 11:38:32 +0000 | |||
1744 | @@ -1,10 +1,15 @@ | |||
1745 | 1 | set(QML_SOURCES | 1 | set(QML_SOURCES |
1746 | 2 | CallForwarding.qml | 2 | CallForwarding.qml |
1747 | 3 | CallWaiting.qml | 3 | CallWaiting.qml |
1748 | 4 | MultiSim.qml | ||
1749 | 5 | NoSims.qml | ||
1750 | 6 | Ofono.qml | ||
1751 | 4 | PageComponent.qml | 7 | PageComponent.qml |
1752 | 5 | ServiceInfo.qml | 8 | ServiceInfo.qml |
1753 | 6 | Services.qml | 9 | Services.qml |
1754 | 10 | SingleSim.qml | ||
1755 | 7 | dateUtils.js | 11 | dateUtils.js |
1756 | 12 | sims.js | ||
1757 | 8 | ) | 13 | ) |
1758 | 9 | 14 | ||
1759 | 10 | # We need a dummy target so the QML files show up in Qt Creator | 15 | # We need a dummy target so the QML files show up in Qt Creator |
1760 | 11 | 16 | ||
1761 | === modified file 'plugins/phone/CallForwarding.qml' | |||
1762 | --- plugins/phone/CallForwarding.qml 2014-07-22 20:10:26 +0000 | |||
1763 | +++ plugins/phone/CallForwarding.qml 2014-08-26 11:38:32 +0000 | |||
1764 | @@ -22,22 +22,22 @@ | |||
1765 | 22 | import SystemSettings 1.0 | 22 | import SystemSettings 1.0 |
1766 | 23 | import Ubuntu.Components 0.1 | 23 | import Ubuntu.Components 0.1 |
1767 | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem |
1768 | 25 | import MeeGo.QOfono 0.2 | ||
1769 | 26 | 25 | ||
1770 | 27 | ItemPage { | 26 | ItemPage { |
1771 | 28 | title: i18n.tr("Call forwarding") | ||
1772 | 29 | 27 | ||
1775 | 30 | property bool forwarding: callForwarding.voiceUnconditional !== "" | 28 | objectName: "callForwardingPage" |
1776 | 31 | property string modem | 29 | title: headerTitle |
1777 | 30 | property var sim | ||
1778 | 31 | property bool forwarding: sim.callForwarding.voiceUnconditional !== "" | ||
1779 | 32 | property string headerTitle: i18n.tr("Call forwarding") | ||
1780 | 32 | 33 | ||
1781 | 33 | onForwardingChanged: { | 34 | onForwardingChanged: { |
1782 | 34 | if (callForwardingSwitch.checked !== forwarding) | 35 | if (callForwardingSwitch.checked !== forwarding) |
1783 | 35 | callForwardingSwitch.checked = forwarding; | 36 | callForwardingSwitch.checked = forwarding; |
1784 | 36 | } | 37 | } |
1785 | 37 | 38 | ||
1789 | 38 | OfonoCallForwarding { | 39 | Connections { |
1790 | 39 | id: callForwarding | 40 | target: sim.callForwarding |
1788 | 40 | modemPath: modem | ||
1791 | 41 | onVoiceUnconditionalChanged: { | 41 | onVoiceUnconditionalChanged: { |
1792 | 42 | destNumberField.text = voiceUnconditional; | 42 | destNumberField.text = voiceUnconditional; |
1793 | 43 | } | 43 | } |
1794 | @@ -50,13 +50,14 @@ | |||
1795 | 50 | 50 | ||
1796 | 51 | Switch { | 51 | Switch { |
1797 | 52 | id: callForwardingSwitch | 52 | id: callForwardingSwitch |
1798 | 53 | objectName: "callForwardingSwitch" | ||
1799 | 53 | checked: forwarding | 54 | checked: forwarding |
1800 | 54 | enabled: (forwarding === checked) | 55 | enabled: (forwarding === checked) |
1801 | 55 | visible: callForwardingItem.control === callForwardingSwitch | 56 | visible: callForwardingItem.control === callForwardingSwitch |
1802 | 56 | onCheckedChanged: { | 57 | onCheckedChanged: { |
1803 | 57 | if (!checked && forwarding) { | 58 | if (!checked && forwarding) { |
1804 | 58 | callForwardingIndicator.running = true; | 59 | callForwardingIndicator.running = true; |
1806 | 59 | callForwarding.voiceUnconditional = ""; | 60 | sim.callForwarding.voiceUnconditional = ""; |
1807 | 60 | } | 61 | } |
1808 | 61 | } | 62 | } |
1809 | 62 | } | 63 | } |
1810 | @@ -101,17 +102,18 @@ | |||
1811 | 101 | visible: callForwardingSwitch.checked | 102 | visible: callForwardingSwitch.checked |
1812 | 102 | control: TextInput { | 103 | control: TextInput { |
1813 | 103 | id: destNumberField | 104 | id: destNumberField |
1814 | 105 | objectName: "destNumberField" | ||
1815 | 104 | horizontalAlignment: TextInput.AlignRight | 106 | horizontalAlignment: TextInput.AlignRight |
1816 | 105 | width: forwardToItem.width/2 | 107 | width: forwardToItem.width/2 |
1817 | 106 | inputMethodHints: Qt.ImhDialableCharactersOnly | 108 | inputMethodHints: Qt.ImhDialableCharactersOnly |
1819 | 107 | text: callForwarding.voiceUnconditional | 109 | text: sim.callForwarding.voiceUnconditional |
1820 | 108 | font.pixelSize: units.dp(18) | 110 | font.pixelSize: units.dp(18) |
1821 | 109 | font.weight: Font.Light | 111 | font.weight: Font.Light |
1822 | 110 | font.family: "Ubuntu" | 112 | font.family: "Ubuntu" |
1823 | 111 | color: "#AAAAAA" | 113 | color: "#AAAAAA" |
1824 | 112 | maximumLength: 20 | 114 | maximumLength: 20 |
1825 | 113 | focus: true | 115 | focus: true |
1827 | 114 | cursorVisible: text !== callForwarding.voiceUnconditional || | 116 | cursorVisible: text !== sim.callForwarding.voiceUnconditional || |
1828 | 115 | text === "" | 117 | text === "" |
1829 | 116 | clip: true | 118 | clip: true |
1830 | 117 | opacity: 0.9 | 119 | opacity: 0.9 |
1831 | @@ -133,30 +135,32 @@ | |||
1832 | 133 | spacing: units.gu(2) | 135 | spacing: units.gu(2) |
1833 | 134 | 136 | ||
1834 | 135 | Button { | 137 | Button { |
1835 | 138 | objectName: "cancel" | ||
1836 | 136 | text: i18n.tr("Cancel") | 139 | text: i18n.tr("Cancel") |
1837 | 137 | width: (buttonsRowId.width-units.gu(2)*4)/3 | 140 | width: (buttonsRowId.width-units.gu(2)*4)/3 |
1838 | 138 | enabled: !callForwardingIndicator.running | 141 | enabled: !callForwardingIndicator.running |
1839 | 139 | onClicked: { | 142 | onClicked: { |
1840 | 140 | destNumberField.text = | 143 | destNumberField.text = |
1842 | 141 | callForwarding.voiceUnconditional; | 144 | sim.callForwarding.voiceUnconditional; |
1843 | 142 | if (forwarding !== callForwardingSwitch.checked) | 145 | if (forwarding !== callForwardingSwitch.checked) |
1844 | 143 | callForwardingSwitch.checked = forwarding; | 146 | callForwardingSwitch.checked = forwarding; |
1845 | 144 | } | 147 | } |
1846 | 145 | } | 148 | } |
1847 | 146 | 149 | ||
1848 | 147 | Button { | 150 | Button { |
1849 | 151 | objectName: "set" | ||
1850 | 148 | text: i18n.tr("Set") | 152 | text: i18n.tr("Set") |
1851 | 149 | width: (buttonsRowId.width-units.gu(2)*4)/3 | 153 | width: (buttonsRowId.width-units.gu(2)*4)/3 |
1852 | 150 | enabled: !callForwardingIndicator.running | 154 | enabled: !callForwardingIndicator.running |
1853 | 151 | onClicked: { | 155 | onClicked: { |
1854 | 152 | callForwardingIndicator.running = true; | 156 | callForwardingIndicator.running = true; |
1856 | 153 | callForwarding.voiceUnconditional = destNumberField.text; | 157 | sim.callForwarding.voiceUnconditional = destNumberField.text; |
1857 | 154 | } | 158 | } |
1858 | 155 | } | 159 | } |
1859 | 156 | } | 160 | } |
1860 | 157 | visible: callForwardingSwitch.checked && | 161 | visible: callForwardingSwitch.checked && |
1861 | 158 | (destNumberField.text !== | 162 | (destNumberField.text !== |
1863 | 159 | callForwarding.voiceUnconditional) | 163 | sim.callForwarding.voiceUnconditional) |
1864 | 160 | } | 164 | } |
1865 | 161 | } | 165 | } |
1866 | 162 | } | 166 | } |
1867 | 163 | 167 | ||
1868 | === modified file 'plugins/phone/CallWaiting.qml' | |||
1869 | --- plugins/phone/CallWaiting.qml 2014-07-16 16:45:25 +0000 | |||
1870 | +++ plugins/phone/CallWaiting.qml 2014-08-26 11:38:32 +0000 | |||
1871 | @@ -25,15 +25,24 @@ | |||
1872 | 25 | import MeeGo.QOfono 0.2 | 25 | import MeeGo.QOfono 0.2 |
1873 | 26 | 26 | ||
1874 | 27 | ItemPage { | 27 | ItemPage { |
1877 | 28 | title: i18n.tr("Call waiting") | 28 | objectName: "callWaitingPage" |
1878 | 29 | property string modem | 29 | title: headerTitle |
1879 | 30 | property var sim | ||
1880 | 31 | property string headerTitle: i18n.tr("Call waiting") | ||
1881 | 30 | 32 | ||
1882 | 31 | OfonoCallSettings { | 33 | OfonoCallSettings { |
1883 | 32 | id: callSettings | 34 | id: callSettings |
1885 | 33 | modemPath: modem | 35 | modemPath: sim.path |
1886 | 34 | onVoiceCallWaitingChanged: { | 36 | onVoiceCallWaitingChanged: { |
1887 | 35 | callWaitingIndicator.running = false; | 37 | callWaitingIndicator.running = false; |
1888 | 36 | } | 38 | } |
1889 | 39 | onGetPropertiesFailed: { | ||
1890 | 40 | console.warn('callSettings, onGetPropertiesFailed'); | ||
1891 | 41 | callWaitingIndicator.running = false; | ||
1892 | 42 | } | ||
1893 | 43 | onVoiceCallWaitingComplete: { | ||
1894 | 44 | callWaitingIndicator.running = false; | ||
1895 | 45 | } | ||
1896 | 37 | } | 46 | } |
1897 | 38 | 47 | ||
1898 | 39 | ActivityIndicator { | 48 | ActivityIndicator { |
1899 | @@ -44,7 +53,9 @@ | |||
1900 | 44 | 53 | ||
1901 | 45 | Switch { | 54 | Switch { |
1902 | 46 | id: callWaitingSwitch | 55 | id: callWaitingSwitch |
1903 | 56 | objectName: "callWaitingSwitch" | ||
1904 | 47 | visible: !callWaitingIndicator.running | 57 | visible: !callWaitingIndicator.running |
1905 | 58 | enabled: callSettings.ready | ||
1906 | 48 | checked: callSettings.voiceCallWaiting !== "disabled" | 59 | checked: callSettings.voiceCallWaiting !== "disabled" |
1907 | 49 | onClicked: { | 60 | onClicked: { |
1908 | 50 | callWaitingIndicator.running = true; | 61 | callWaitingIndicator.running = true; |
1909 | 51 | 62 | ||
1910 | === added file 'plugins/phone/MultiSim.qml' | |||
1911 | --- plugins/phone/MultiSim.qml 1970-01-01 00:00:00 +0000 | |||
1912 | +++ plugins/phone/MultiSim.qml 2014-08-26 11:38:32 +0000 | |||
1913 | @@ -0,0 +1,135 @@ | |||
1914 | 1 | /* | ||
1915 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
1916 | 3 | * | ||
1917 | 4 | * This program is free software: you can redistribute it and/or modify | ||
1918 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
1919 | 6 | * published by the Free Software Foundation. | ||
1920 | 7 | * | ||
1921 | 8 | * This program is distributed in the hope that it will be useful, | ||
1922 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1923 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1924 | 11 | * GNU General Public License for more details. | ||
1925 | 12 | * | ||
1926 | 13 | * You should have received a copy of the GNU General Public License | ||
1927 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
1928 | 15 | * | ||
1929 | 16 | * Authors: | ||
1930 | 17 | * Ken Vandine <ken.vandine@canonical.com> | ||
1931 | 18 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
1932 | 19 | * | ||
1933 | 20 | */ | ||
1934 | 21 | import QtQuick 2.0 | ||
1935 | 22 | import GSettings 1.0 | ||
1936 | 23 | import Ubuntu.Components 1.1 | ||
1937 | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
1938 | 25 | |||
1939 | 26 | Column { | ||
1940 | 27 | |||
1941 | 28 | property var sims | ||
1942 | 29 | |||
1943 | 30 | ListItem.Standard { | ||
1944 | 31 | text: sims[0].title | ||
1945 | 32 | } | ||
1946 | 33 | |||
1947 | 34 | ListItem.Standard { | ||
1948 | 35 | objectName: "callFwdSim1" | ||
1949 | 36 | text: i18n.tr("Call forwarding") | ||
1950 | 37 | progression: true | ||
1951 | 38 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), { | ||
1952 | 39 | sim: sims[0], | ||
1953 | 40 | headerTitle: sims[0].title | ||
1954 | 41 | }) | ||
1955 | 42 | } | ||
1956 | 43 | |||
1957 | 44 | ListItem.Standard { | ||
1958 | 45 | objectName: "callWaitSim1" | ||
1959 | 46 | text: i18n.tr("Call waiting") | ||
1960 | 47 | progression: true | ||
1961 | 48 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), { | ||
1962 | 49 | sim: sims[0], | ||
1963 | 50 | headerTitle: sims[0].title | ||
1964 | 51 | }) | ||
1965 | 52 | } | ||
1966 | 53 | |||
1967 | 54 | ListItem.Standard { | ||
1968 | 55 | objectName: "simServicesSim1" | ||
1969 | 56 | text: i18n.tr("Services") | ||
1970 | 57 | progression: true | ||
1971 | 58 | enabled: sims[0].simMng.present | ||
1972 | 59 | onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), { | ||
1973 | 60 | carrierString: sims[0].netReg.name, | ||
1974 | 61 | sim: sims[0].simMng, | ||
1975 | 62 | headerTitle: sims[0].title | ||
1976 | 63 | }) | ||
1977 | 64 | } | ||
1978 | 65 | |||
1979 | 66 | ListItem.Divider {} | ||
1980 | 67 | |||
1981 | 68 | ListItem.Standard { | ||
1982 | 69 | text: sims[1].title | ||
1983 | 70 | } | ||
1984 | 71 | |||
1985 | 72 | ListItem.Standard { | ||
1986 | 73 | objectName: "callFwdSim2" | ||
1987 | 74 | text: i18n.tr("Call forwarding") | ||
1988 | 75 | progression: true | ||
1989 | 76 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), { | ||
1990 | 77 | sim: sims[1], | ||
1991 | 78 | headerTitle: sims[1].title | ||
1992 | 79 | }) | ||
1993 | 80 | } | ||
1994 | 81 | |||
1995 | 82 | ListItem.Standard { | ||
1996 | 83 | objectName: "callWaitSim2" | ||
1997 | 84 | text: i18n.tr("Call waiting") | ||
1998 | 85 | progression: true | ||
1999 | 86 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), { | ||
2000 | 87 | sim: sims[1], | ||
2001 | 88 | headerTitle: sims[1].title | ||
2002 | 89 | }) | ||
2003 | 90 | } | ||
2004 | 91 | |||
2005 | 92 | ListItem.Standard { | ||
2006 | 93 | objectName: "simServicesSim2" | ||
2007 | 94 | text: i18n.tr("Services") | ||
2008 | 95 | progression: true | ||
2009 | 96 | enabled: sims[1].simMng.present | ||
2010 | 97 | onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), { | ||
2011 | 98 | carrierString: sims[1].netReg.name, | ||
2012 | 99 | sim: sims[1].simMng, | ||
2013 | 100 | headerTitle: sims[1].title | ||
2014 | 101 | }) | ||
2015 | 102 | } | ||
2016 | 103 | |||
2017 | 104 | |||
2018 | 105 | GSettings { | ||
2019 | 106 | id: phoneSettings | ||
2020 | 107 | schema.id: "com.ubuntu.phone" | ||
2021 | 108 | Component.onCompleted: { | ||
2022 | 109 | // set default names | ||
2023 | 110 | var simNames = phoneSettings.simNames; | ||
2024 | 111 | var m0 = sims[0].path | ||
2025 | 112 | var m1 = sims[1].path | ||
2026 | 113 | if (!simNames[m0]) { | ||
2027 | 114 | simNames[m0] = "SIM 1"; | ||
2028 | 115 | } | ||
2029 | 116 | if (!simNames[m1]) { | ||
2030 | 117 | simNames[m1] = "SIM 2"; | ||
2031 | 118 | } | ||
2032 | 119 | phoneSettings.simNames = simNames; | ||
2033 | 120 | } | ||
2034 | 121 | } | ||
2035 | 122 | |||
2036 | 123 | Binding { | ||
2037 | 124 | target: sims[0] | ||
2038 | 125 | property: "name" | ||
2039 | 126 | value: phoneSettings.simNames[modemsSorted[0]] | ||
2040 | 127 | } | ||
2041 | 128 | |||
2042 | 129 | Binding { | ||
2043 | 130 | target: sims[1] | ||
2044 | 131 | property: "name" | ||
2045 | 132 | value: phoneSettings.simNames[modemsSorted[1]] | ||
2046 | 133 | } | ||
2047 | 134 | |||
2048 | 135 | } | ||
2049 | 0 | 136 | ||
2050 | === added file 'plugins/phone/NoSims.qml' | |||
2051 | --- plugins/phone/NoSims.qml 1970-01-01 00:00:00 +0000 | |||
2052 | +++ plugins/phone/NoSims.qml 2014-08-26 11:38:32 +0000 | |||
2053 | @@ -0,0 +1,46 @@ | |||
2054 | 1 | /* | ||
2055 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
2056 | 3 | * | ||
2057 | 4 | * This program is free software: you can redistribute it and/or modify | ||
2058 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
2059 | 6 | * published by the Free Software Foundation. | ||
2060 | 7 | * | ||
2061 | 8 | * This program is distributed in the hope that it will be useful, | ||
2062 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2063 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2064 | 11 | * GNU General Public License for more details. | ||
2065 | 12 | * | ||
2066 | 13 | * You should have received a copy of the GNU General Public License | ||
2067 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
2068 | 15 | * | ||
2069 | 16 | * Authors: | ||
2070 | 17 | * Ken Vandine <ken.vandine@canonical.com> | ||
2071 | 18 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
2072 | 19 | * | ||
2073 | 20 | */ | ||
2074 | 21 | import QtQuick 2.0 | ||
2075 | 22 | import Ubuntu.Components 1.1 | ||
2076 | 23 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
2077 | 24 | |||
2078 | 25 | Column { | ||
2079 | 26 | |||
2080 | 27 | ListItem.Standard { | ||
2081 | 28 | text: i18n.tr("Call forwarding") | ||
2082 | 29 | progression: true | ||
2083 | 30 | enabled: false | ||
2084 | 31 | } | ||
2085 | 32 | |||
2086 | 33 | ListItem.Standard { | ||
2087 | 34 | text: i18n.tr("Call waiting") | ||
2088 | 35 | progression: true | ||
2089 | 36 | enabled: false | ||
2090 | 37 | } | ||
2091 | 38 | |||
2092 | 39 | ListItem.Divider {} | ||
2093 | 40 | |||
2094 | 41 | ListItem.Standard { | ||
2095 | 42 | text: i18n.tr("Services") | ||
2096 | 43 | progression: true | ||
2097 | 44 | enabled: false | ||
2098 | 45 | } | ||
2099 | 46 | } | ||
2100 | 0 | 47 | ||
2101 | === added file 'plugins/phone/Ofono.qml' | |||
2102 | --- plugins/phone/Ofono.qml 1970-01-01 00:00:00 +0000 | |||
2103 | +++ plugins/phone/Ofono.qml 2014-08-26 11:38:32 +0000 | |||
2104 | @@ -0,0 +1,50 @@ | |||
2105 | 1 | /* | ||
2106 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
2107 | 3 | * | ||
2108 | 4 | * This program is free software: you can redistribute it and/or modify | ||
2109 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
2110 | 6 | * published by the Free Software Foundation. | ||
2111 | 7 | * | ||
2112 | 8 | * This program is distributed in the hope that it will be useful, | ||
2113 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2114 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2115 | 11 | * GNU General Public License for more details. | ||
2116 | 12 | * | ||
2117 | 13 | * You should have received a copy of the GNU General Public License | ||
2118 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
2119 | 15 | * | ||
2120 | 16 | * Authors: | ||
2121 | 17 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
2122 | 18 | * | ||
2123 | 19 | */ | ||
2124 | 20 | import QtQuick 2.0 | ||
2125 | 21 | import MeeGo.QOfono 0.2 | ||
2126 | 22 | |||
2127 | 23 | Item { | ||
2128 | 24 | property alias callForwarding: callForwarding | ||
2129 | 25 | property alias netReg: netReg | ||
2130 | 26 | property alias simMng: simMng | ||
2131 | 27 | property alias present: simMng.present | ||
2132 | 28 | |||
2133 | 29 | property string path | ||
2134 | 30 | property string name | ||
2135 | 31 | property string title: { | ||
2136 | 32 | var number = simMng.subscriberNumbers[0] || simMng.subscriberIdentity; | ||
2137 | 33 | return name + (number ? " (" + number + ")" : ""); | ||
2138 | 34 | } | ||
2139 | 35 | |||
2140 | 36 | OfonoCallForwarding { | ||
2141 | 37 | id: callForwarding | ||
2142 | 38 | modemPath: path | ||
2143 | 39 | } | ||
2144 | 40 | |||
2145 | 41 | OfonoNetworkRegistration { | ||
2146 | 42 | id: netReg | ||
2147 | 43 | modemPath: path | ||
2148 | 44 | } | ||
2149 | 45 | |||
2150 | 46 | OfonoSimManager { | ||
2151 | 47 | id: simMng | ||
2152 | 48 | modemPath: path | ||
2153 | 49 | } | ||
2154 | 50 | } | ||
2155 | 0 | 51 | ||
2156 | === modified file 'plugins/phone/PageComponent.qml' | |||
2157 | --- plugins/phone/PageComponent.qml 2014-07-18 13:00:36 +0000 | |||
2158 | +++ plugins/phone/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
2159 | @@ -23,52 +23,77 @@ | |||
2160 | 23 | import Ubuntu.Components 0.1 | 23 | import Ubuntu.Components 0.1 |
2161 | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem |
2162 | 25 | import MeeGo.QOfono 0.2 | 25 | import MeeGo.QOfono 0.2 |
2163 | 26 | import "sims.js" as Sims | ||
2164 | 26 | 27 | ||
2165 | 27 | ItemPage { | 28 | ItemPage { |
2166 | 29 | id: root | ||
2167 | 30 | objectName: "phonePage" | ||
2168 | 28 | title: i18n.tr("Phone") | 31 | title: i18n.tr("Phone") |
2171 | 29 | property string carrierName: netop.name | 32 | flickable: flick |
2172 | 30 | property string carrierString: carrierName ? carrierName : i18n.tr("SIM") | 33 | |
2173 | 34 | property var modemsSorted: manager.modems.slice(0).sort() | ||
2174 | 35 | property var simsLoaded: 0 | ||
2175 | 36 | |||
2176 | 37 | states: [ | ||
2177 | 38 | State { | ||
2178 | 39 | name: "noSim" | ||
2179 | 40 | StateChangeScript { | ||
2180 | 41 | script: loader.setSource("NoSims.qml") | ||
2181 | 42 | } | ||
2182 | 43 | when: (simsLoaded === 0) || (Sims.getPresentCount() === 0) | ||
2183 | 44 | }, | ||
2184 | 45 | State { | ||
2185 | 46 | name: "singleSim" | ||
2186 | 47 | StateChangeScript { | ||
2187 | 48 | script: loader.setSource("SingleSim.qml", { sim: Sims.get(0) }) | ||
2188 | 49 | |||
2189 | 50 | } | ||
2190 | 51 | when: simsLoaded && (Sims.getPresentCount() === 1) | ||
2191 | 52 | }, | ||
2192 | 53 | State { | ||
2193 | 54 | name: "multiSim" | ||
2194 | 55 | StateChangeScript { | ||
2195 | 56 | script: loader.setSource("MultiSim.qml", { | ||
2196 | 57 | sims: Sims.getAll() | ||
2197 | 58 | }) | ||
2198 | 59 | } | ||
2199 | 60 | when: simsLoaded && (Sims.getPresentCount() > 1) | ||
2200 | 61 | } | ||
2201 | 62 | ] | ||
2202 | 31 | 63 | ||
2203 | 32 | OfonoManager { | 64 | OfonoManager { |
2204 | 33 | id: manager | 65 | id: manager |
2219 | 34 | } | 66 | Component.onCompleted: { |
2220 | 35 | 67 | // create ofono bindings for all modem paths | |
2221 | 36 | OfonoNetworkRegistration { | 68 | var component = Qt.createComponent("Ofono.qml"); |
2222 | 37 | id: netop; | 69 | modemsSorted.forEach(function (path) { |
2223 | 38 | modemPath: manager.modems[0] | 70 | var sim = component.createObject(root, { |
2224 | 39 | onNameChanged: carrierName = netop.name | 71 | path: path |
2225 | 40 | } | 72 | }); |
2226 | 41 | 73 | if (sim === null) { | |
2227 | 42 | OfonoSimManager { | 74 | console.warn('failed to create sim object'); |
2228 | 43 | id: sim | 75 | } else { |
2229 | 44 | modemPath: manager.modems[0] | 76 | Sims.add(sim); |
2230 | 45 | } | 77 | } |
2231 | 46 | 78 | }); | |
2232 | 47 | Column { | 79 | } |
2233 | 80 | } | ||
2234 | 81 | |||
2235 | 82 | Flickable { | ||
2236 | 83 | id: flick | ||
2237 | 48 | anchors.fill: parent | 84 | anchors.fill: parent |
2261 | 49 | 85 | contentWidth: parent.width | |
2262 | 50 | ListItem.Standard { | 86 | contentHeight: contentItem.childrenRect.height |
2263 | 51 | text: i18n.tr("Call forwarding") | 87 | boundsBehavior: (contentHeight > root.height) ? |
2264 | 52 | progression: true | 88 | Flickable.DragAndOvershootBounds : Flickable.StopAtBounds |
2265 | 53 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {modem: manager.modems[0]}) | 89 | |
2266 | 54 | } | 90 | Column { |
2267 | 55 | 91 | anchors { left: parent.left; right: parent.right } | |
2268 | 56 | ListItem.Standard { | 92 | |
2269 | 57 | text: i18n.tr("Call waiting") | 93 | Loader { |
2270 | 58 | progression: true | 94 | id: loader |
2271 | 59 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {modem: manager.modems[0]}) | 95 | anchors { left: parent.left; right: parent.right } |
2272 | 60 | showDivider: false | 96 | } |
2250 | 61 | } | ||
2251 | 62 | |||
2252 | 63 | ListItem.Divider {} | ||
2253 | 64 | |||
2254 | 65 | ListItem.Standard { | ||
2255 | 66 | // TRANSLATORS: %1 is the name of the (network) carrier | ||
2256 | 67 | text: i18n.tr("%1 Services").arg(carrierString) | ||
2257 | 68 | progression: true | ||
2258 | 69 | enabled: sim.present | ||
2259 | 70 | onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), | ||
2260 | 71 | {carrierString: carrierString, sim: sim}) | ||
2273 | 72 | } | 97 | } |
2274 | 73 | } | 98 | } |
2275 | 74 | } | 99 | } |
2276 | 75 | 100 | ||
2277 | === modified file 'plugins/phone/Services.qml' | |||
2278 | --- plugins/phone/Services.qml 2014-06-19 03:54:01 +0000 | |||
2279 | +++ plugins/phone/Services.qml 2014-08-26 11:38:32 +0000 | |||
2280 | @@ -24,12 +24,15 @@ | |||
2281 | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem | 24 | import Ubuntu.Components.ListItems 0.1 as ListItem |
2282 | 25 | 25 | ||
2283 | 26 | ItemPage { | 26 | ItemPage { |
2284 | 27 | objectName: "servicesPage" | ||
2285 | 28 | title: headerTitle | ||
2286 | 27 | property string carrierString | 29 | property string carrierString |
2287 | 28 | property variant sim | 30 | property variant sim |
2288 | 29 | property var names: [] | 31 | property var names: [] |
2289 | 30 | 32 | ||
2290 | 31 | // TRANSLATORS: %1 is the name of the (network) carrier | 33 | // TRANSLATORS: %1 is the name of the (network) carrier |
2292 | 32 | title: i18n.tr("%1 Services").arg(carrierString) | 34 | property string headerTitle: i18n.tr("%1 Services").arg(carrierString) |
2293 | 35 | |||
2294 | 33 | 36 | ||
2295 | 34 | Component.onCompleted: { | 37 | Component.onCompleted: { |
2296 | 35 | var keys = []; | 38 | var keys = []; |
2297 | 36 | 39 | ||
2298 | === added file 'plugins/phone/SingleSim.qml' | |||
2299 | --- plugins/phone/SingleSim.qml 1970-01-01 00:00:00 +0000 | |||
2300 | +++ plugins/phone/SingleSim.qml 2014-08-26 11:38:32 +0000 | |||
2301 | @@ -0,0 +1,57 @@ | |||
2302 | 1 | /* | ||
2303 | 2 | * Copyright (C) 2014 Canonical Ltd | ||
2304 | 3 | * | ||
2305 | 4 | * This program is free software: you can redistribute it and/or modify | ||
2306 | 5 | * it under the terms of the GNU General Public License version 3 as | ||
2307 | 6 | * published by the Free Software Foundation. | ||
2308 | 7 | * | ||
2309 | 8 | * This program is distributed in the hope that it will be useful, | ||
2310 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
2311 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
2312 | 11 | * GNU General Public License for more details. | ||
2313 | 12 | * | ||
2314 | 13 | * You should have received a copy of the GNU General Public License | ||
2315 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
2316 | 15 | * | ||
2317 | 16 | * Authors: | ||
2318 | 17 | * Ken Vandine <ken.vandine@canonical.com> | ||
2319 | 18 | * Jonas G. Drange <jonas.drange@canonical.com> | ||
2320 | 19 | * | ||
2321 | 20 | */ | ||
2322 | 21 | import QtQuick 2.0 | ||
2323 | 22 | import Ubuntu.Components 1.1 | ||
2324 | 23 | import Ubuntu.Components.ListItems 0.1 as ListItem | ||
2325 | 24 | |||
2326 | 25 | Column { | ||
2327 | 26 | |||
2328 | 27 | property var sim | ||
2329 | 28 | property string carrierName: sim.netReg.name | ||
2330 | 29 | property string carrierString: carrierName ? carrierName : i18n.tr("SIM") | ||
2331 | 30 | |||
2332 | 31 | ListItem.Standard { | ||
2333 | 32 | objectName: "callFwd" | ||
2334 | 33 | text: i18n.tr("Call forwarding") | ||
2335 | 34 | progression: true | ||
2336 | 35 | onClicked: pageStack.push(Qt.resolvedUrl("CallForwarding.qml"), {sim: sim}) | ||
2337 | 36 | } | ||
2338 | 37 | |||
2339 | 38 | ListItem.Standard { | ||
2340 | 39 | objectName: "callWait" | ||
2341 | 40 | text: i18n.tr("Call waiting") | ||
2342 | 41 | progression: true | ||
2343 | 42 | onClicked: pageStack.push(Qt.resolvedUrl("CallWaiting.qml"), {sim: sim}) | ||
2344 | 43 | showDivider: false | ||
2345 | 44 | } | ||
2346 | 45 | |||
2347 | 46 | ListItem.Divider {} | ||
2348 | 47 | |||
2349 | 48 | ListItem.Standard { | ||
2350 | 49 | objectName: "simServices" | ||
2351 | 50 | // TRANSLATORS: %1 is the name of the (network) carrier | ||
2352 | 51 | text: i18n.tr("%1 Services").arg(carrierString) | ||
2353 | 52 | progression: true | ||
2354 | 53 | enabled: sim.simMng.present | ||
2355 | 54 | onClicked: pageStack.push(Qt.resolvedUrl("Services.qml"), | ||
2356 | 55 | {carrierString: carrierString, sim: sim.simMng}) | ||
2357 | 56 | } | ||
2358 | 57 | } | ||
2359 | 0 | 58 | ||
2360 | === added file 'plugins/phone/sims.js' | |||
2361 | --- plugins/phone/sims.js 1970-01-01 00:00:00 +0000 | |||
2362 | +++ plugins/phone/sims.js 2014-08-26 11:38:32 +0000 | |||
2363 | @@ -0,0 +1,34 @@ | |||
2364 | 1 | var sims = []; | ||
2365 | 2 | |||
2366 | 3 | function add (sim) { | ||
2367 | 4 | sims.push(sim); | ||
2368 | 5 | root.simsLoaded++; | ||
2369 | 6 | } | ||
2370 | 7 | |||
2371 | 8 | function getAll () { | ||
2372 | 9 | return sims; | ||
2373 | 10 | } | ||
2374 | 11 | |||
2375 | 12 | function get (n) { | ||
2376 | 13 | return getAll()[n]; | ||
2377 | 14 | } | ||
2378 | 15 | |||
2379 | 16 | function getCount () { | ||
2380 | 17 | return getAll().length; | ||
2381 | 18 | } | ||
2382 | 19 | |||
2383 | 20 | function getPresent () { | ||
2384 | 21 | var present = []; | ||
2385 | 22 | getAll().forEach(function (sim) { | ||
2386 | 23 | if (sim.present) { | ||
2387 | 24 | present.push(sim); | ||
2388 | 25 | } else { | ||
2389 | 26 | return; | ||
2390 | 27 | } | ||
2391 | 28 | }); | ||
2392 | 29 | return present; | ||
2393 | 30 | } | ||
2394 | 31 | |||
2395 | 32 | function getPresentCount () { | ||
2396 | 33 | return getPresent().length; | ||
2397 | 34 | } | ||
2398 | 0 | 35 | ||
2399 | === modified file 'plugins/security-privacy/LockSecurity.qml' | |||
2400 | --- plugins/security-privacy/LockSecurity.qml 2014-08-12 08:37:44 +0000 | |||
2401 | +++ plugins/security-privacy/LockSecurity.qml 2014-08-26 11:38:32 +0000 | |||
2402 | @@ -89,9 +89,9 @@ | |||
2403 | 89 | changeSecurityDialog.oldMethod) { // Changing existing | 89 | changeSecurityDialog.oldMethod) { // Changing existing |
2404 | 90 | switch (changeSecurityDialog.newMethod) { | 90 | switch (changeSecurityDialog.newMethod) { |
2405 | 91 | case UbuntuSecurityPrivacyPanel.Passcode: | 91 | case UbuntuSecurityPrivacyPanel.Passcode: |
2407 | 92 | return i18n.tr("Change passcode") | 92 | return i18n.tr("Change passcode…") |
2408 | 93 | case UbuntuSecurityPrivacyPanel.Passphrase: | 93 | case UbuntuSecurityPrivacyPanel.Passphrase: |
2410 | 94 | return i18n.tr("Change passphrase") | 94 | return i18n.tr("Change passphrase…") |
2411 | 95 | default: // To stop the runtime complaining | 95 | default: // To stop the runtime complaining |
2412 | 96 | return "" | 96 | return "" |
2413 | 97 | } | 97 | } |
2414 | @@ -390,6 +390,7 @@ | |||
2415 | 390 | 390 | ||
2416 | 391 | onClicked: openDialog() | 391 | onClicked: openDialog() |
2417 | 392 | } | 392 | } |
2418 | 393 | showDivider: false | ||
2419 | 393 | } | 394 | } |
2420 | 394 | } | 395 | } |
2421 | 395 | } | 396 | } |
2422 | 396 | 397 | ||
2423 | === modified file 'plugins/security-privacy/PageComponent.qml' | |||
2424 | --- plugins/security-privacy/PageComponent.qml 2014-08-11 11:05:58 +0000 | |||
2425 | +++ plugins/security-privacy/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
2426 | @@ -24,15 +24,20 @@ | |||
2427 | 24 | import Ubuntu.Components 0.1 | 24 | import Ubuntu.Components 0.1 |
2428 | 25 | import Ubuntu.Components.ListItems 0.1 as ListItem | 25 | import Ubuntu.Components.ListItems 0.1 as ListItem |
2429 | 26 | import SystemSettings 1.0 | 26 | import SystemSettings 1.0 |
2430 | 27 | import Ubuntu.SystemSettings.Battery 1.0 | ||
2431 | 27 | import Ubuntu.SystemSettings.Diagnostics 1.0 | 28 | import Ubuntu.SystemSettings.Diagnostics 1.0 |
2432 | 28 | import Ubuntu.SystemSettings.SecurityPrivacy 1.0 | 29 | import Ubuntu.SystemSettings.SecurityPrivacy 1.0 |
2433 | 29 | 30 | ||
2434 | 30 | ItemPage { | 31 | ItemPage { |
2435 | 31 | id: root | 32 | id: root |
2436 | 33 | objectName: "securityPrivacyPage" | ||
2437 | 32 | 34 | ||
2438 | 33 | title: i18n.tr("Security & Privacy") | 35 | title: i18n.tr("Security & Privacy") |
2439 | 34 | flickable: scrollWidget | 36 | flickable: scrollWidget |
2440 | 35 | 37 | ||
2441 | 38 | property alias usePowerd: batteryBackend.powerdRunning | ||
2442 | 39 | property bool lockOnSuspend | ||
2443 | 40 | |||
2444 | 36 | UbuntuDiagnostics { | 41 | UbuntuDiagnostics { |
2445 | 37 | id: diagnosticsWidget | 42 | id: diagnosticsWidget |
2446 | 38 | } | 43 | } |
2447 | @@ -41,6 +46,10 @@ | |||
2448 | 41 | id: securityPrivacy | 46 | id: securityPrivacy |
2449 | 42 | } | 47 | } |
2450 | 43 | 48 | ||
2451 | 49 | UbuntuBatteryPanel { | ||
2452 | 50 | id: batteryBackend | ||
2453 | 51 | } | ||
2454 | 52 | |||
2455 | 44 | GSettings { | 53 | GSettings { |
2456 | 45 | id: unitySettings | 54 | id: unitySettings |
2457 | 46 | schema.id: "com.canonical.Unity.Lenses" | 55 | schema.id: "com.canonical.Unity.Lenses" |
2458 | @@ -53,6 +62,11 @@ | |||
2459 | 53 | } | 62 | } |
2460 | 54 | } | 63 | } |
2461 | 55 | 64 | ||
2462 | 65 | GSettings { | ||
2463 | 66 | id: powerSettings | ||
2464 | 67 | schema.id: usePowerd ? "com.ubuntu.touch.system" : "org.gnome.desktop.session" | ||
2465 | 68 | } | ||
2466 | 69 | |||
2467 | 56 | Flickable { | 70 | Flickable { |
2468 | 57 | id: scrollWidget | 71 | id: scrollWidget |
2469 | 58 | anchors.fill: parent | 72 | anchors.fill: parent |
2470 | @@ -68,42 +82,34 @@ | |||
2471 | 68 | 82 | ||
2472 | 69 | ListItem.Standard { | 83 | ListItem.Standard { |
2473 | 70 | id: securityTitle | 84 | id: securityTitle |
2480 | 71 | text: i18n.tr("Security:") | 85 | text: i18n.tr("Security") |
2481 | 72 | // visible: lockingControl.visible || simControl.visible | 86 | } |
2476 | 73 | } | ||
2477 | 74 | /* When more of the phone locking page is implemented, we can | ||
2478 | 75 | * remove the next item below, which is a duplicate of an item in | ||
2479 | 76 | * PhoneLocking.qml, and uncomment the visible line above. */ | ||
2482 | 77 | ListItem.SingleValue { | 87 | ListItem.SingleValue { |
2488 | 78 | property string swipe: i18n.tr("None") | 88 | id: lockingControl |
2489 | 79 | property string passcode: i18n.tr("Passcode") | 89 | objectName: "lockingControl" |
2490 | 80 | property string passphrase: i18n.tr("Passphrase") | 90 | text: i18n.tr("Lock phone") |
2486 | 81 | |||
2487 | 82 | text: i18n.tr("Lock security") | ||
2491 | 83 | value: { | 91 | value: { |
2499 | 84 | switch (securityPrivacy.securityType) { | 92 | if (batteryBackend.powerdRunning ) { |
2500 | 85 | case UbuntuSecurityPrivacyPanel.Swipe: | 93 | var timeout = Math.round(powerSettings.activityTimeout/60) |
2501 | 86 | return swipe | 94 | return (powerSettings.activityTimeout != 0) ? |
2502 | 87 | case UbuntuSecurityPrivacyPanel.Passcode: | 95 | // TRANSLATORS: %1 is the number of minutes |
2503 | 88 | return passcode | 96 | i18n.tr("After %1 minute", |
2504 | 89 | case UbuntuSecurityPrivacyPanel.Passphrase: | 97 | "After %1 minutes", |
2505 | 90 | return passphrase | 98 | timeout).arg(timeout) : |
2506 | 99 | i18n.tr("Never") | ||
2507 | 100 | } | ||
2508 | 101 | else { | ||
2509 | 102 | var timeout = Math.round(powerSettings.idleDelay/60) | ||
2510 | 103 | return (powerSettings.idleDelay != 0) ? | ||
2511 | 104 | // TRANSLATORS: %1 is the number of minutes | ||
2512 | 105 | i18n.tr("After %1 minute", | ||
2513 | 106 | "After %1 minutes", | ||
2514 | 107 | timeout).arg(timeout) : | ||
2515 | 108 | i18n.tr("Manually") | ||
2516 | 91 | } | 109 | } |
2517 | 92 | } | 110 | } |
2518 | 93 | progression: true | 111 | progression: true |
2532 | 94 | onClicked: pageStack.push(Qt.resolvedUrl("LockSecurity.qml")) | 112 | onClicked: pageStack.push(Qt.resolvedUrl("PhoneLocking.qml"), {usePowerd: usePowerd, powerSettings: powerSettings}) |
2520 | 95 | visible: !showAllUI | ||
2521 | 96 | } | ||
2522 | 97 | ListItem.SingleValue { | ||
2523 | 98 | id: lockingControl | ||
2524 | 99 | text: i18n.tr("Phone locking") | ||
2525 | 100 | // TRANSLATORS: %1 is the number of minutes | ||
2526 | 101 | value: i18n.tr("%1 minute", | ||
2527 | 102 | "%1 minutes", | ||
2528 | 103 | 5).arg(5) | ||
2529 | 104 | progression: true | ||
2530 | 105 | onClicked: pageStack.push(Qt.resolvedUrl("PhoneLocking.qml")) | ||
2531 | 106 | visible: showAllUI | ||
2533 | 107 | } | 113 | } |
2534 | 108 | ListItem.SingleValue { | 114 | ListItem.SingleValue { |
2535 | 109 | id: simControl | 115 | id: simControl |
2536 | @@ -111,10 +117,24 @@ | |||
2537 | 111 | value: "Off" | 117 | value: "Off" |
2538 | 112 | progression: true | 118 | progression: true |
2539 | 113 | visible: showAllUI | 119 | visible: showAllUI |
2544 | 114 | } | 120 | /* Not implemented yet */ |
2545 | 115 | ListItem.Standard { | 121 | //onClicked: pageStack.push(Qt.resolvedUrl("SimPin.qml")) |
2546 | 116 | text: i18n.tr("Privacy:") | 122 | } |
2547 | 117 | visible: securityTitle.visible | 123 | ListItem.Standard { |
2548 | 124 | text: i18n.tr("Encryption") | ||
2549 | 125 | control: Switch { | ||
2550 | 126 | id: encryptionSwitch | ||
2551 | 127 | checked: false | ||
2552 | 128 | } | ||
2553 | 129 | visible: showAllUI | ||
2554 | 130 | } | ||
2555 | 131 | ListItem.Caption { | ||
2556 | 132 | text: i18n.tr( | ||
2557 | 133 | "Encryption protects against access to phone data when the phone is connected to a PC or other device.") | ||
2558 | 134 | visible: showAllUI | ||
2559 | 135 | } | ||
2560 | 136 | ListItem.Standard { | ||
2561 | 137 | text: i18n.tr("Privacy") | ||
2562 | 118 | } | 138 | } |
2563 | 119 | ListItem.Standard { | 139 | ListItem.Standard { |
2564 | 120 | text: i18n.tr("Stats on welcome screen") | 140 | text: i18n.tr("Stats on welcome screen") |
2565 | @@ -164,7 +184,8 @@ | |||
2566 | 164 | } | 184 | } |
2567 | 165 | ListItem.SingleValue { | 185 | ListItem.SingleValue { |
2568 | 166 | text: i18n.tr("Location access") | 186 | text: i18n.tr("Location access") |
2570 | 167 | value: "On" | 187 | value: locationActionGroup.enabled.state ? |
2571 | 188 | i18n.tr("On") : i18n.tr("Off") | ||
2572 | 168 | progression: true | 189 | progression: true |
2573 | 169 | onClicked: pageStack.push(Qt.resolvedUrl("Location.qml")) | 190 | onClicked: pageStack.push(Qt.resolvedUrl("Location.qml")) |
2574 | 170 | visible: showAllUI && // Hidden until the indicator works | 191 | visible: showAllUI && // Hidden until the indicator works |
2575 | @@ -190,7 +211,6 @@ | |||
2576 | 190 | pageStack.push(Qt.resolvedUrl(path)); | 211 | pageStack.push(Qt.resolvedUrl(path)); |
2577 | 191 | } | 212 | } |
2578 | 192 | } | 213 | } |
2579 | 193 | |||
2580 | 194 | } | 214 | } |
2581 | 195 | } | 215 | } |
2582 | 196 | } | 216 | } |
2583 | 197 | 217 | ||
2584 | === modified file 'plugins/security-privacy/PhoneLocking.qml' | |||
2585 | --- plugins/security-privacy/PhoneLocking.qml 2014-06-24 18:50:41 +0000 | |||
2586 | +++ plugins/security-privacy/PhoneLocking.qml 2014-08-26 11:38:32 +0000 | |||
2587 | @@ -26,8 +26,13 @@ | |||
2588 | 26 | import Ubuntu.SystemSettings.SecurityPrivacy 1.0 | 26 | import Ubuntu.SystemSettings.SecurityPrivacy 1.0 |
2589 | 27 | 27 | ||
2590 | 28 | ItemPage { | 28 | ItemPage { |
2591 | 29 | id: root | ||
2592 | 30 | objectName: "phoneLockingPage" | ||
2593 | 29 | title: i18n.tr("Phone locking") | 31 | title: i18n.tr("Phone locking") |
2594 | 30 | 32 | ||
2595 | 33 | property bool usePowerd | ||
2596 | 34 | property variant powerSettings | ||
2597 | 35 | |||
2598 | 31 | UbuntuSecurityPrivacyPanel { | 36 | UbuntuSecurityPrivacyPanel { |
2599 | 32 | id: securityPrivacy | 37 | id: securityPrivacy |
2600 | 33 | } | 38 | } |
2601 | @@ -57,14 +62,31 @@ | |||
2602 | 57 | } | 62 | } |
2603 | 58 | 63 | ||
2604 | 59 | ListItem.SingleValue { | 64 | ListItem.SingleValue { |
2605 | 65 | objectName: "lockTimeout" | ||
2606 | 60 | property bool lockOnSuspend: securityPrivacy.securityType !== | 66 | property bool lockOnSuspend: securityPrivacy.securityType !== |
2607 | 61 | UbuntuSecurityPrivacyPanel.Swipe | 67 | UbuntuSecurityPrivacyPanel.Swipe |
2608 | 62 | text: lockOnSuspend ? i18n.tr("Lock when idle") | 68 | text: lockOnSuspend ? i18n.tr("Lock when idle") |
2609 | 63 | : i18n.tr("Sleep when idle") | 69 | : i18n.tr("Sleep when idle") |
2614 | 64 | // TRANSLATORS: %1 is the number of minutes | 70 | value: { |
2615 | 65 | value: i18n.tr("%1 minute", | 71 | if (usePowerd) { |
2616 | 66 | "%1 minutes", | 72 | var timeout = Math.round(powerSettings.activityTimeout/60) |
2617 | 67 | 5).arg(5) | 73 | return (powerSettings.activityTimeout != 0) ? |
2618 | 74 | // TRANSLATORS: %1 is the number of minutes | ||
2619 | 75 | i18n.tr("%1 minute", | ||
2620 | 76 | "%1 minutes", | ||
2621 | 77 | timeout).arg(timeout) : | ||
2622 | 78 | i18n.tr("Never") | ||
2623 | 79 | } | ||
2624 | 80 | else { | ||
2625 | 81 | var timeout = Math.round(powerSettings.idleDelay/60) | ||
2626 | 82 | return (powerSettings.idleDelay != 0) ? | ||
2627 | 83 | // TRANSLATORS: %1 is the number of minutes | ||
2628 | 84 | i18n.tr("%1 minute", | ||
2629 | 85 | "%1 minutes", | ||
2630 | 86 | timeout).arg(timeout) : | ||
2631 | 87 | i18n.tr("Never") | ||
2632 | 88 | } | ||
2633 | 89 | } | ||
2634 | 68 | progression: true | 90 | progression: true |
2635 | 69 | onClicked: | 91 | onClicked: |
2636 | 70 | pageStack.push( | 92 | pageStack.push( |
2637 | @@ -77,6 +99,7 @@ | |||
2638 | 77 | checked: true | 99 | checked: true |
2639 | 78 | } | 100 | } |
2640 | 79 | text: i18n.tr("Sleep locks immediately") | 101 | text: i18n.tr("Sleep locks immediately") |
2641 | 102 | visible: showAllUI | ||
2642 | 80 | } | 103 | } |
2643 | 81 | 104 | ||
2644 | 82 | /* TODO: once we know how to do this | 105 | /* TODO: once we know how to do this |
2645 | 83 | 106 | ||
2646 | === modified file 'plugins/security-privacy/trust-store-model.cpp' | |||
2647 | --- plugins/security-privacy/trust-store-model.cpp 2014-08-19 13:00:15 +0000 | |||
2648 | +++ plugins/security-privacy/trust-store-model.cpp 2014-08-26 11:38:32 +0000 | |||
2649 | @@ -179,7 +179,7 @@ | |||
2650 | 179 | Q_Q(TrustStoreModel); | 179 | Q_Q(TrustStoreModel); |
2651 | 180 | 180 | ||
2652 | 181 | Q_ASSERT(trustStore); | 181 | Q_ASSERT(trustStore); |
2654 | 182 | Q_ASSERT(row >= 0 && row < d->applications.count()); | 182 | Q_ASSERT(row >= 0 && row < applications.count()); |
2655 | 183 | 183 | ||
2656 | 184 | Application &app = applications[row]; | 184 | Application &app = applications[row]; |
2657 | 185 | app.grantedFeatures.clear(); | 185 | app.grantedFeatures.clear(); |
2658 | 186 | 186 | ||
2659 | === modified file 'plugins/system-update/PageComponent.qml' | |||
2660 | --- plugins/system-update/PageComponent.qml 2014-08-15 09:03:46 +0000 | |||
2661 | +++ plugins/system-update/PageComponent.qml 2014-08-26 11:38:32 +0000 | |||
2662 | @@ -33,7 +33,7 @@ | |||
2663 | 33 | objectName: "systemUpdatesPage" | 33 | objectName: "systemUpdatesPage" |
2664 | 34 | 34 | ||
2665 | 35 | title: i18n.tr("Updates") | 35 | title: i18n.tr("Updates") |
2667 | 36 | flickable: null | 36 | flickable: scrollWidget |
2668 | 37 | 37 | ||
2669 | 38 | property bool installAll: false | 38 | property bool installAll: false |
2670 | 39 | property bool includeSystemUpdate: false | 39 | property bool includeSystemUpdate: false |
2671 | @@ -140,9 +140,6 @@ | |||
2672 | 140 | 140 | ||
2673 | 141 | onCredentialsNotFound: { | 141 | onCredentialsNotFound: { |
2674 | 142 | credentialsNotification.visible = true; | 142 | credentialsNotification.visible = true; |
2675 | 143 | notification.text = i18n.tr("Please log into your Ubuntu One account."); | ||
2676 | 144 | notification.progression = true; | ||
2677 | 145 | notificationAction = root.open_online_accounts; | ||
2678 | 146 | } | 143 | } |
2679 | 147 | 144 | ||
2680 | 148 | onSystemUpdateDownloaded: { | 145 | onSystemUpdateDownloaded: { |
2681 | @@ -152,320 +149,312 @@ | |||
2682 | 152 | 149 | ||
2683 | 153 | onSystemUpdateFailed: { | 150 | onSystemUpdateFailed: { |
2684 | 154 | root.state = "SYSTEMUPDATEFAILED"; | 151 | root.state = "SYSTEMUPDATEFAILED"; |
2685 | 155 | if (lastReason) { | ||
2686 | 156 | notification.text = lastReason; | ||
2687 | 157 | } else { | ||
2688 | 158 | notification.text = i18n.tr("System update has failed."); | ||
2689 | 159 | } | ||
2690 | 160 | notification.progression = false; | ||
2691 | 161 | notificationAction = undefined; | ||
2692 | 162 | } | 152 | } |
2693 | 163 | 153 | ||
2694 | 164 | onUpdateProcessFailed: { | 154 | onUpdateProcessFailed: { |
2695 | 165 | root.state = "SYSTEMUPDATEFAILED"; | 155 | root.state = "SYSTEMUPDATEFAILED"; |
2792 | 166 | if (message) { | 156 | } |
2793 | 167 | notification.text = message; | 157 | } |
2794 | 168 | } else { | 158 | Flickable { |
2795 | 169 | notification.text = i18n.tr("System update failed."); | 159 | id: scrollWidget |
2796 | 170 | } | 160 | |
2797 | 171 | } | 161 | anchors.top: parent.top |
2798 | 172 | } | 162 | anchors.left: parent.left |
2799 | 173 | 163 | anchors.right: parent.right | |
2800 | 174 | Item { | 164 | anchors.bottom: configuration.top |
2801 | 175 | id: checkForUpdatesArea | 165 | |
2802 | 176 | objectName: "checkForUpdatesArea" | 166 | contentHeight: contentItem.childrenRect.height |
2803 | 177 | visible: false | 167 | boundsBehavior: (contentHeight > root.height) ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds |
2708 | 178 | anchors { | ||
2709 | 179 | left: parent.left | ||
2710 | 180 | right: parent.right | ||
2711 | 181 | top: parent.top | ||
2712 | 182 | topMargin: units.gu(2) | ||
2713 | 183 | leftMargin: units.gu(4) | ||
2714 | 184 | rightMargin: units.gu(4) | ||
2715 | 185 | } | ||
2716 | 186 | height: installAllButton.height | ||
2717 | 187 | |||
2718 | 188 | ActivityIndicator { | ||
2719 | 189 | id: activity | ||
2720 | 190 | running: checkForUpdatesArea.visible | ||
2721 | 191 | visible: activity.running | ||
2722 | 192 | anchors { | ||
2723 | 193 | left: parent.left | ||
2724 | 194 | top: parent.top | ||
2725 | 195 | topMargin: units.gu(1) | ||
2726 | 196 | } | ||
2727 | 197 | } | ||
2728 | 198 | |||
2729 | 199 | Label { | ||
2730 | 200 | text: i18n.tr("Checking for updates…") | ||
2731 | 201 | verticalAlignment: Text.AlignVCenter | ||
2732 | 202 | elide: Text.ElideRight | ||
2733 | 203 | anchors { | ||
2734 | 204 | left: activity.right | ||
2735 | 205 | top: parent.top | ||
2736 | 206 | right: checkForUpdatesArea.right | ||
2737 | 207 | bottom: parent.bottom | ||
2738 | 208 | leftMargin: units.gu(2) | ||
2739 | 209 | rightMargin: units.gu(2) | ||
2740 | 210 | } | ||
2741 | 211 | } | ||
2742 | 212 | } | ||
2743 | 213 | |||
2744 | 214 | Button { | ||
2745 | 215 | id: installAllButton | ||
2746 | 216 | objectName: "installAllButton" | ||
2747 | 217 | |||
2748 | 218 | property string primaryText: includeSystemUpdate ? i18n.tr("Install %1 updates…").arg(root.updatesAvailable) : i18n.tr("Install %1 updates").arg(root.updatesAvailable) | ||
2749 | 219 | property string secondaryText: i18n.tr("Pause All") | ||
2750 | 220 | text: root.installAll ? secondaryText : primaryText | ||
2751 | 221 | anchors { | ||
2752 | 222 | left: parent.left | ||
2753 | 223 | right: parent.right | ||
2754 | 224 | top: parent.top | ||
2755 | 225 | topMargin: units.gu(2) | ||
2756 | 226 | leftMargin: units.gu(4) | ||
2757 | 227 | rightMargin: units.gu(4) | ||
2758 | 228 | } | ||
2759 | 229 | visible: false | ||
2760 | 230 | |||
2761 | 231 | color: UbuntuColors.orange | ||
2762 | 232 | onClicked: { | ||
2763 | 233 | root.installAll = !root.installAll; | ||
2764 | 234 | for (var i=0; i < updateList.count; i++) { | ||
2765 | 235 | updateList.currentIndex = i; | ||
2766 | 236 | var item = updateList.currentItem; | ||
2767 | 237 | var modelItem = updateManager.model[i]; | ||
2768 | 238 | if (modelItem.updateState != root.installAll && !modelItem.updateReady) { | ||
2769 | 239 | item.actionButton.clicked(); | ||
2770 | 240 | } | ||
2771 | 241 | } | ||
2772 | 242 | } | ||
2773 | 243 | opacity: root.updatesAvailable > 0 ? 1 : 0 | ||
2774 | 244 | |||
2775 | 245 | Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SlowDuration | ||
2776 | 246 | easing: UbuntuAnimation.StandardEasing } } | ||
2777 | 247 | } | ||
2778 | 248 | |||
2779 | 249 | ListView { | ||
2780 | 250 | id: updateList | ||
2781 | 251 | objectName: "updateList" | ||
2782 | 252 | visible: false | ||
2783 | 253 | anchors { | ||
2784 | 254 | left: parent.left | ||
2785 | 255 | right: parent.right | ||
2786 | 256 | top: installAllButton.visible ? installAllButton.bottom : parent.top | ||
2787 | 257 | bottom: notification.visible ? notification.top : configuration.top | ||
2788 | 258 | margins: units.gu(2) | ||
2789 | 259 | bottomMargin: 0 | ||
2790 | 260 | } | ||
2791 | 261 | model: updateManager.model | ||
2804 | 262 | clip: true | 168 | clip: true |
2850 | 263 | contentHeight: contentItem.childrenRect.height | 169 | /* Set the direction to workaround https://bugreports.qt-project.org/browse/QTBUG-31905 |
2851 | 264 | boundsBehavior: (contentHeight > (root.height - checkForUpdatesArea.height)) ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds | 170 | otherwise the UI might end up in a situation where scrolling doesn't work */ |
2852 | 265 | 171 | flickableDirection: Flickable.VerticalFlick | |
2853 | 266 | delegate: ListItem.Subtitled { | 172 | |
2854 | 267 | id: listItem | 173 | Column { |
2855 | 268 | iconSource: Qt.resolvedUrl(modelData.iconUrl) | 174 | id: columnId |
2856 | 269 | height: modelData.selected ? units.gu(14) : units.gu(8) | 175 | |
2857 | 270 | showDivider: false | 176 | anchors.left: parent.left |
2858 | 271 | 177 | anchors.right: parent.right | |
2859 | 272 | property alias actionButton: buttonAppUpdate | 178 | |
2860 | 273 | 179 | ListItem.Base { | |
2861 | 274 | Rectangle { | 180 | id: checkForUpdatesArea |
2862 | 275 | id: textArea | 181 | objectName: "checkForUpdatesArea" |
2863 | 276 | objectName: "textArea" | 182 | showDivider: false |
2864 | 277 | color: "transparent" | 183 | visible: false |
2865 | 278 | anchors.fill: parent | 184 | |
2866 | 279 | anchors.topMargin: units.gu(1) | 185 | ActivityIndicator { |
2867 | 280 | 186 | id: activity | |
2868 | 281 | property string message: modelData.error | 187 | running: checkForUpdatesArea.visible |
2869 | 282 | property bool retry: false | 188 | visible: activity.running |
2870 | 283 | 189 | anchors { | |
2871 | 284 | onMessageChanged: { | 190 | left: parent.left |
2872 | 285 | if(message.length > 0) { | 191 | top: parent.top |
2873 | 286 | labelVersion.text = message; | 192 | rightMargin: units.gu(2) |
2874 | 287 | buttonAppUpdate.text = i18n.tr("Retry"); | 193 | } |
2875 | 288 | modelData.updateState = false; | 194 | height: parent.height |
2876 | 289 | modelData.selected = false; | 195 | } |
2877 | 290 | textArea.retry = true; | 196 | |
2878 | 291 | } | 197 | Label { |
2879 | 292 | } | 198 | text: i18n.tr("Checking for updates…") |
2880 | 293 | 199 | verticalAlignment: Text.AlignVCenter | |
2881 | 294 | Button { | 200 | elide: Text.ElideRight |
2882 | 295 | id: buttonAppUpdate | 201 | anchors { |
2883 | 296 | objectName: "buttonAppUpdate" | 202 | left: activity.right |
2884 | 297 | anchors.top: parent.top | 203 | top: parent.top |
2885 | 298 | anchors.right: parent.right | 204 | leftMargin: units.gu(2) |
2886 | 299 | anchors.topMargin: units.gu(1) | 205 | } |
2887 | 300 | anchors.rightMargin: units.gu(1) | 206 | height: parent.height |
2888 | 301 | height: labelTitle.height | 207 | } |
2889 | 302 | 208 | } | |
2890 | 303 | property string actionText: modelData.systemUpdate ? i18n.tr("Download") : i18n.tr("Update") | 209 | |
2891 | 304 | property string primaryText: modelData.selected ? i18n.tr("Resume") : actionText | 210 | ListItem.SingleControl { |
2892 | 305 | property string secondaryText: i18n.tr("Pause") | 211 | id: installAllButton |
2893 | 306 | 212 | objectName: "installAllButton" | |
2894 | 307 | text: modelData.updateState ? secondaryText : primaryText | 213 | |
2895 | 214 | control: Button { | ||
2896 | 215 | property string primaryText: includeSystemUpdate ? | ||
2897 | 216 | i18n.tr("Install %1 update…", "Install %1 updates…", root.updatesAvailable).arg(root.updatesAvailable) : | ||
2898 | 217 | i18n.tr("Install %1 update", "Install %1 updates", root.updatesAvailable).arg(root.updatesAvailable) | ||
2899 | 218 | property string secondaryText: i18n.tr("Pause All") | ||
2900 | 219 | color: UbuntuColors.orange | ||
2901 | 220 | text: root.installAll ? secondaryText : primaryText | ||
2902 | 221 | width: parent.width - units.gu(4) | ||
2903 | 308 | 222 | ||
2904 | 309 | onClicked: { | 223 | onClicked: { |
2915 | 310 | if (textArea.retry) { | 224 | root.installAll = !root.installAll; |
2916 | 311 | textArea.retry = false; | 225 | for (var i=0; i < updateList.count; i++) { |
2917 | 312 | updateManager.retryDownload(modelData.packageName); | 226 | updateList.currentIndex = i; |
2918 | 313 | } else if (modelData.updateReady) { | 227 | var item = updateList.currentItem; |
2919 | 314 | updateManager.applySystemUpdate(); | 228 | var modelItem = updateManager.model[i]; |
2920 | 315 | installingImageUpdate.visible = true; | 229 | if (modelItem.updateState != root.installAll && !modelItem.updateReady) { |
2921 | 316 | } else if (modelData.updateState) { | 230 | item.actionButton.clicked(); |
2922 | 317 | if (modelData.systemUpdate) { | 231 | } |
2923 | 318 | updateManager.pauseDownload(modelData.packageName); | 232 | } |
2924 | 319 | } else { | 233 | } |
2925 | 234 | } | ||
2926 | 235 | } | ||
2927 | 236 | |||
2928 | 237 | ListView { | ||
2929 | 238 | id: updateList | ||
2930 | 239 | objectName: "updateList" | ||
2931 | 240 | anchors { | ||
2932 | 241 | left: parent.left | ||
2933 | 242 | right: parent.right | ||
2934 | 243 | } | ||
2935 | 244 | model: updateManager.model | ||
2936 | 245 | height: contentItem.childrenRect.height | ||
2937 | 246 | interactive: false | ||
2938 | 247 | |||
2939 | 248 | delegate: ListItem.Subtitled { | ||
2940 | 249 | id: listItem | ||
2941 | 250 | iconSource: Qt.resolvedUrl(modelData.iconUrl) | ||
2942 | 251 | height: modelData.selected ? units.gu(14) : units.gu(8) | ||
2943 | 252 | showDivider: false | ||
2944 | 253 | |||
2945 | 254 | property alias actionButton: buttonAppUpdate | ||
2946 | 255 | |||
2947 | 256 | Rectangle { | ||
2948 | 257 | id: textArea | ||
2949 | 258 | objectName: "textArea" | ||
2950 | 259 | color: "transparent" | ||
2951 | 260 | anchors.fill: parent | ||
2952 | 261 | anchors.topMargin: units.gu(1) | ||
2953 | 262 | |||
2954 | 263 | property string message: modelData.error | ||
2955 | 264 | property bool retry: false | ||
2956 | 265 | |||
2957 | 266 | onMessageChanged: { | ||
2958 | 267 | if(message.length > 0) { | ||
2959 | 268 | labelVersion.text = message; | ||
2960 | 269 | buttonAppUpdate.text = i18n.tr("Retry"); | ||
2961 | 320 | modelData.updateState = false; | 270 | modelData.updateState = false; |
3098 | 321 | tracker.pause(); | 271 | modelData.selected = false; |
3099 | 322 | } | 272 | textArea.retry = true; |
3100 | 323 | } else { | 273 | } |
3101 | 324 | if (!modelData.selected || modelData.systemUpdate) { | 274 | } |
3102 | 325 | modelData.selected = true; | 275 | |
3103 | 326 | updateManager.startDownload(modelData.packageName); | 276 | Button { |
3104 | 327 | } else { | 277 | id: buttonAppUpdate |
3105 | 328 | modelData.updateState = true; | 278 | objectName: "buttonAppUpdate" |
3106 | 329 | tracker.resume(); | 279 | anchors.top: parent.top |
3107 | 330 | } | 280 | anchors.right: parent.right |
3108 | 331 | } | 281 | anchors.topMargin: units.gu(1) |
3109 | 332 | } | 282 | anchors.rightMargin: units.gu(1) |
3110 | 333 | } | 283 | height: labelTitle.height |
3111 | 334 | 284 | ||
3112 | 335 | Label { | 285 | property string actionText: modelData.systemUpdate ? i18n.tr("Download") : i18n.tr("Update") |
3113 | 336 | id: labelSize | 286 | property string primaryText: modelData.selected ? i18n.tr("Resume") : actionText |
3114 | 337 | objectName: "labelSize" | 287 | property string secondaryText: i18n.tr("Pause") |
3115 | 338 | text: convert_bytes_to_size(modelData.binaryFilesize) | 288 | |
3116 | 339 | anchors.bottom: labelVersion.bottom | 289 | text: modelData.updateState ? secondaryText : primaryText |
3117 | 340 | anchors.right: parent.right | 290 | |
3118 | 341 | anchors.rightMargin: units.gu(1) | 291 | onClicked: { |
3119 | 342 | visible: !modelData.selected | 292 | if (textArea.retry) { |
3120 | 343 | } | 293 | textArea.retry = false; |
3121 | 344 | 294 | updateManager.retryDownload(modelData.packageName); | |
3122 | 345 | Label { | 295 | } else if (modelData.updateReady) { |
3123 | 346 | id: labelTitle | 296 | updateManager.applySystemUpdate(); |
3124 | 347 | objectName: "labelTitle" | 297 | installingImageUpdate.visible = true; |
3125 | 348 | anchors { | 298 | } else if (modelData.updateState) { |
3126 | 349 | top: parent.top | 299 | if (modelData.systemUpdate) { |
3127 | 350 | left: parent.left | 300 | updateManager.pauseDownload(modelData.packageName); |
3128 | 351 | right: buttonAppUpdate.left | 301 | } else { |
3129 | 352 | topMargin: units.gu(1) | 302 | modelData.updateState = false; |
3130 | 353 | rightMargin: units.gu(1) | 303 | tracker.pause(); |
3131 | 354 | } | 304 | } |
3132 | 355 | height: units.gu(3) | 305 | } else { |
3133 | 356 | text: modelData.title | 306 | if (!modelData.selected || modelData.systemUpdate) { |
3134 | 357 | font.bold: true | 307 | modelData.selected = true; |
3135 | 358 | elide: buttonAppUpdate.visible ? Text.ElideRight : Text.ElideNone | 308 | updateManager.startDownload(modelData.packageName); |
3136 | 359 | } | 309 | } else { |
3137 | 360 | 310 | modelData.updateState = true; | |
3138 | 361 | Label { | 311 | tracker.resume(); |
3139 | 362 | id: labelUpdateStatus | 312 | } |
3140 | 363 | objectName: "labelUpdateStatus" | 313 | } |
3141 | 364 | text: i18n.tr("Installing") | 314 | } |
3142 | 365 | anchors.top: labelTitle.bottom | 315 | } |
3143 | 366 | anchors.left: parent.left | 316 | |
3144 | 367 | anchors.right: parent.right | 317 | Label { |
3145 | 368 | opacity: modelData.selected ? 1 : 0 | 318 | id: labelSize |
3146 | 369 | anchors.bottomMargin: units.gu(1) | 319 | objectName: "labelSize" |
3147 | 370 | 320 | text: convert_bytes_to_size(modelData.binaryFilesize) | |
3148 | 371 | Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } } | 321 | anchors.bottom: labelVersion.bottom |
3149 | 372 | } | 322 | anchors.right: parent.right |
3150 | 373 | 323 | anchors.rightMargin: units.gu(1) | |
3151 | 374 | ProgressBar { | 324 | visible: !modelData.selected |
3152 | 375 | id: progress | 325 | } |
3153 | 376 | objectName: "progress" | 326 | |
3154 | 377 | height: units.gu(2) | 327 | Label { |
3155 | 378 | anchors.left: parent.left | 328 | id: labelTitle |
3156 | 379 | anchors.top: labelUpdateStatus.bottom | 329 | objectName: "labelTitle" |
3157 | 380 | anchors.topMargin: units.gu(1) | 330 | anchors { |
3158 | 381 | anchors.right: parent.right | 331 | top: parent.top |
3159 | 382 | opacity: modelData.selected ? 1 : 0 | 332 | left: parent.left |
3160 | 383 | value: modelData.systemUpdate ? modelData.downloadProgress : tracker.progress | 333 | right: buttonAppUpdate.left |
3161 | 384 | minimumValue: 0 | 334 | topMargin: units.gu(1) |
3162 | 385 | maximumValue: 100 | 335 | rightMargin: units.gu(1) |
3163 | 386 | 336 | } | |
3164 | 387 | DownloadTracker { | 337 | height: units.gu(3) |
3165 | 388 | id: tracker | 338 | text: modelData.title |
3166 | 389 | objectName: "tracker" | 339 | font.bold: true |
3167 | 390 | packageName: modelData.packageName | 340 | elide: buttonAppUpdate.visible ? Text.ElideRight : Text.ElideNone |
3168 | 391 | clickToken: modelData.clickToken | 341 | } |
3169 | 392 | download: modelData.downloadUrl | 342 | |
3170 | 393 | 343 | Label { | |
3171 | 394 | onFinished: { | 344 | id: labelUpdateStatus |
3172 | 395 | progress.visible = false; | 345 | objectName: "labelUpdateStatus" |
3173 | 396 | buttonAppUpdate.visible = false; | 346 | text: i18n.tr("Installing") |
3174 | 397 | textArea.message = i18n.tr("Installed"); | 347 | anchors.top: labelTitle.bottom |
3175 | 398 | root.updatesAvailable -= 1; | 348 | anchors.left: parent.left |
3176 | 399 | } | 349 | anchors.right: parent.right |
3177 | 400 | 350 | opacity: modelData.selected ? 1 : 0 | |
3178 | 401 | onErrorFound: { | 351 | anchors.bottomMargin: units.gu(1) |
3179 | 402 | modelData.updateState = false; | 352 | |
3180 | 403 | textArea.message = error; | 353 | Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } } |
3181 | 404 | } | 354 | } |
3182 | 405 | } | 355 | |
3183 | 406 | 356 | ProgressBar { | |
3184 | 407 | Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } } | 357 | id: progress |
3185 | 408 | } | 358 | objectName: "progress" |
3186 | 409 | 359 | height: units.gu(2) | |
3187 | 410 | Label { | 360 | anchors.left: parent.left |
3188 | 411 | id: labelVersion | 361 | anchors.top: labelUpdateStatus.bottom |
3189 | 412 | objectName: "labelVersion" | 362 | anchors.topMargin: units.gu(1) |
3190 | 413 | anchors { | 363 | anchors.right: parent.right |
3191 | 414 | left: parent.left | 364 | opacity: modelData.selected ? 1 : 0 |
3192 | 415 | right: buttonAppUpdate.right | 365 | value: modelData.systemUpdate ? modelData.downloadProgress : tracker.progress |
3193 | 416 | top: (!progress.visible || progress.opacity == 0) ? labelTitle.bottom : progress.bottom | 366 | minimumValue: 0 |
3194 | 417 | topMargin: (!progress.visible || progress.opacity == 0) ? 0 : units.gu(1) | 367 | maximumValue: 100 |
3195 | 418 | bottom: parent.bottom | 368 | |
3196 | 419 | bottomMargin: units.gu(1) | 369 | DownloadTracker { |
3197 | 420 | } | 370 | id: tracker |
3198 | 421 | text: modelData.remoteVersion ? i18n.tr("Version: ") + modelData.remoteVersion : "" | 371 | objectName: "tracker" |
3199 | 422 | color: "black" | 372 | packageName: modelData.packageName |
3200 | 423 | elide: Text.ElideRight | 373 | clickToken: modelData.clickToken |
3201 | 424 | } | 374 | download: modelData.downloadUrl |
3202 | 425 | } | 375 | |
3203 | 426 | } | 376 | onFinished: { |
3204 | 427 | } | 377 | progress.visible = false; |
3205 | 428 | 378 | buttonAppUpdate.visible = false; | |
3206 | 429 | ListItem.Standard { | 379 | textArea.message = i18n.tr("Installed"); |
3207 | 430 | id: notification | 380 | root.updatesAvailable -= 1; |
3208 | 431 | objectName: "notification" | 381 | } |
3209 | 432 | visible: updateNotification.visible || credentialsNotification.visible ? true : false | 382 | |
3210 | 433 | anchors.bottom: configuration.top | 383 | onErrorFound: { |
3211 | 434 | 384 | modelData.updateState = false; | |
3212 | 435 | onClicked: { | 385 | textArea.message = error; |
3213 | 436 | if (notificationAction) { | 386 | } |
3214 | 437 | notificationAction(); | 387 | } |
3215 | 438 | } | 388 | |
3216 | 439 | } | 389 | Behavior on opacity { PropertyAnimation { duration: UbuntuAnimation.SleepyDuration } } |
3217 | 440 | } | 390 | } |
3218 | 441 | 391 | ||
3219 | 442 | ListItem.SingleValue { | 392 | Label { |
3220 | 443 | id: configuration | 393 | id: labelVersion |
3221 | 444 | objectName: "configuration" | 394 | objectName: "labelVersion" |
3222 | 445 | anchors.bottom: parent.bottom | 395 | anchors { |
3223 | 446 | text: i18n.tr("Auto download") | 396 | left: parent.left |
3224 | 447 | value: { | 397 | right: buttonAppUpdate.right |
3225 | 448 | if (updateManager.downloadMode === 0) | 398 | top: (!progress.visible || progress.opacity == 0) ? labelTitle.bottom : progress.bottom |
3226 | 449 | return i18n.tr("Never") | 399 | topMargin: (!progress.visible || progress.opacity == 0) ? 0 : units.gu(1) |
3227 | 450 | else if (updateManager.downloadMode === 1) | 400 | bottom: parent.bottom |
3228 | 451 | return i18n.tr("On wi-fi") | 401 | bottomMargin: units.gu(1) |
3229 | 452 | else if (updateManager.downloadMode === 2) | 402 | } |
3230 | 453 | return i18n.tr("Always") | 403 | text: modelData.remoteVersion ? i18n.tr("Version: ") + modelData.remoteVersion : "" |
3231 | 454 | } | 404 | color: "black" |
3232 | 455 | progression: true | 405 | elide: Text.ElideRight |
3233 | 456 | onClicked: pageStack.push(Qt.resolvedUrl("Configuration.qml"), {updateManager: updateManager}) | 406 | } |
3234 | 407 | } | ||
3235 | 408 | } | ||
3236 | 409 | } | ||
3237 | 410 | |||
3238 | 411 | Column { | ||
3239 | 412 | id: credentialsNotification | ||
3240 | 413 | objectName: "credentialsNotification" | ||
3241 | 414 | |||
3242 | 415 | visible: false | ||
3243 | 416 | |||
3244 | 417 | spacing: units.gu(2) | ||
3245 | 418 | anchors { | ||
3246 | 419 | left: parent.left | ||
3247 | 420 | right: parent.right | ||
3248 | 421 | } | ||
3249 | 422 | ListItem.ThinDivider {} | ||
3250 | 423 | |||
3251 | 424 | Label { | ||
3252 | 425 | text: i18n.tr("Sign in to Ubuntu One to receive updates for apps.") | ||
3253 | 426 | horizontalAlignment: Text.AlignHCenter | ||
3254 | 427 | wrapMode: Text.Wrap | ||
3255 | 428 | anchors { | ||
3256 | 429 | left: parent.left | ||
3257 | 430 | right: parent.right | ||
3258 | 431 | } | ||
3259 | 432 | } | ||
3260 | 433 | Button { | ||
3261 | 434 | text: i18n.tr("Sign In…") | ||
3262 | 435 | anchors { | ||
3263 | 436 | left: parent.left | ||
3264 | 437 | right: parent.right | ||
3265 | 438 | leftMargin: units.gu(2) | ||
3266 | 439 | rightMargin: units.gu(2) | ||
3267 | 440 | } | ||
3268 | 441 | onClicked: open_online_accounts() | ||
3269 | 442 | } | ||
3270 | 443 | |||
3271 | 444 | } | ||
3272 | 445 | |||
3273 | 446 | |||
3274 | 447 | } | ||
3275 | 457 | } | 448 | } |
3276 | 458 | 449 | ||
3277 | 459 | Rectangle { | 450 | Rectangle { |
3278 | 460 | id: updateNotification | 451 | id: updateNotification |
3279 | 461 | objectName: "updateNotification" | 452 | objectName: "updateNotification" |
3280 | 462 | anchors { | 453 | anchors { |
3281 | 454 | bottom: configuration.top | ||
3282 | 463 | left: parent.left | 455 | left: parent.left |
3283 | 464 | right: parent.right | 456 | right: parent.right |
3288 | 465 | top: installAllButton.bottom | 457 | top: parent.top |
3285 | 466 | bottom: notification.visible ? notification.top : configuration.top | ||
3286 | 467 | margins: units.gu(2) | ||
3287 | 468 | bottomMargin: 0 | ||
3289 | 469 | } | 458 | } |
3290 | 470 | visible: false | 459 | visible: false |
3291 | 471 | property string text: "" | 460 | property string text: "" |
3292 | @@ -482,35 +471,14 @@ | |||
3293 | 482 | } | 471 | } |
3294 | 483 | 472 | ||
3295 | 484 | Rectangle { | 473 | Rectangle { |
3296 | 485 | id: credentialsNotification | ||
3297 | 486 | objectName: "credentialsNotification" | ||
3298 | 487 | anchors { | ||
3299 | 488 | left: parent.left | ||
3300 | 489 | right: parent.right | ||
3301 | 490 | top: installAllButton.bottom | ||
3302 | 491 | bottom: notification.visible ? notification.top : configuration.top | ||
3303 | 492 | margins: units.gu(2) | ||
3304 | 493 | bottomMargin: 0 | ||
3305 | 494 | } | ||
3306 | 495 | visible: false | ||
3307 | 496 | |||
3308 | 497 | color: "transparent" | ||
3309 | 498 | |||
3310 | 499 | Column { | ||
3311 | 500 | anchors.centerIn: parent | ||
3312 | 501 | |||
3313 | 502 | Label { | ||
3314 | 503 | text: i18n.tr("Credentials not found") | ||
3315 | 504 | anchors.horizontalCenter: parent.horizontalCenter | ||
3316 | 505 | fontSize: "large" | ||
3317 | 506 | } | ||
3318 | 507 | } | ||
3319 | 508 | } | ||
3320 | 509 | |||
3321 | 510 | Rectangle { | ||
3322 | 511 | id: installingImageUpdate | 474 | id: installingImageUpdate |
3323 | 512 | objectName: "installingImageUpdate" | 475 | objectName: "installingImageUpdate" |
3325 | 513 | anchors.fill: parent | 476 | anchors { |
3326 | 477 | bottom: configuration.top | ||
3327 | 478 | left: parent.left | ||
3328 | 479 | right: parent.right | ||
3329 | 480 | top: parent.top | ||
3330 | 481 | } | ||
3331 | 514 | visible: false | 482 | visible: false |
3332 | 515 | 483 | ||
3333 | 516 | color: "#221e1c" | 484 | color: "#221e1c" |
3334 | @@ -536,6 +504,29 @@ | |||
3335 | 536 | } | 504 | } |
3336 | 537 | } | 505 | } |
3337 | 538 | 506 | ||
3338 | 507 | Column { | ||
3339 | 508 | id: configuration | ||
3340 | 509 | |||
3341 | 510 | anchors.bottom: parent.bottom | ||
3342 | 511 | anchors.left: parent.left | ||
3343 | 512 | anchors.right: parent.right | ||
3344 | 513 | ListItem.ThinDivider {} | ||
3345 | 514 | ListItem.SingleValue { | ||
3346 | 515 | objectName: "configuration" | ||
3347 | 516 | text: i18n.tr("Auto download") | ||
3348 | 517 | value: { | ||
3349 | 518 | if (updateManager.downloadMode === 0) | ||
3350 | 519 | return i18n.tr("Never") | ||
3351 | 520 | else if (updateManager.downloadMode === 1) | ||
3352 | 521 | return i18n.tr("On wi-fi") | ||
3353 | 522 | else if (updateManager.downloadMode === 2) | ||
3354 | 523 | return i18n.tr("Always") | ||
3355 | 524 | } | ||
3356 | 525 | progression: true | ||
3357 | 526 | onClicked: pageStack.push(Qt.resolvedUrl("Configuration.qml"), {updateManager: updateManager}) | ||
3358 | 527 | } | ||
3359 | 528 | } | ||
3360 | 529 | |||
3361 | 539 | function convert_bytes_to_size(bytes) { | 530 | function convert_bytes_to_size(bytes) { |
3362 | 540 | var SIZE_IN_GIB = 1024.0 * 1024.0 * 1024.0; | 531 | var SIZE_IN_GIB = 1024.0 * 1024.0 * 1024.0; |
3363 | 541 | var SIZE_IN_MIB = 1024.0 * 1024.0; | 532 | var SIZE_IN_MIB = 1024.0 * 1024.0; |
3364 | 542 | 533 | ||
3365 | === modified file 'plugins/system-update/update_manager.cpp' | |||
3366 | --- plugins/system-update/update_manager.cpp 2014-05-13 14:30:04 +0000 | |||
3367 | +++ plugins/system-update/update_manager.cpp 2014-08-26 11:38:32 +0000 | |||
3368 | @@ -40,7 +40,8 @@ | |||
3369 | 40 | QObject(parent), | 40 | QObject(parent), |
3370 | 41 | m_systemCheckingUpdate(false), | 41 | m_systemCheckingUpdate(false), |
3371 | 42 | m_clickCheckingUpdate(false), | 42 | m_clickCheckingUpdate(false), |
3373 | 43 | m_checkingUpdates(0) | 43 | m_checkingUpdates(0), |
3374 | 44 | m_downloadMode(-1) | ||
3375 | 44 | { | 45 | { |
3376 | 45 | // SSO SERVICE | 46 | // SSO SERVICE |
3377 | 46 | QObject::connect(&m_service, SIGNAL(credentialsFound(const Token&)), | 47 | QObject::connect(&m_service, SIGNAL(credentialsFound(const Token&)), |
3378 | 47 | 48 | ||
3379 | === modified file 'plugins/time-date/timezonelocationmodel.cpp' | |||
3380 | --- plugins/time-date/timezonelocationmodel.cpp 2014-06-11 13:05:23 +0000 | |||
3381 | +++ plugins/time-date/timezonelocationmodel.cpp 2014-08-26 11:38:32 +0000 | |||
3382 | @@ -134,6 +134,7 @@ | |||
3383 | 134 | return QVariant(); | 134 | return QVariant(); |
3384 | 135 | break; | 135 | break; |
3385 | 136 | } | 136 | } |
3386 | 137 | throw "Unreachable code"; | ||
3387 | 137 | } | 138 | } |
3388 | 138 | 139 | ||
3389 | 139 | QHash<int, QByteArray> TimeZoneLocationModel::roleNames() const | 140 | QHash<int, QByteArray> TimeZoneLocationModel::roleNames() const |
3390 | @@ -193,11 +194,10 @@ | |||
3391 | 193 | TzDB *tzdb = tz_load_db(); | 194 | TzDB *tzdb = tz_load_db(); |
3392 | 194 | GPtrArray *tz_locations = tz_get_locations(tzdb); | 195 | GPtrArray *tz_locations = tz_get_locations(tzdb); |
3393 | 195 | 196 | ||
3394 | 196 | CcTimezoneLocation *tmp; | ||
3395 | 197 | TimeZoneLocationModel::TzLocation tmpTz; | 197 | TimeZoneLocationModel::TzLocation tmpTz; |
3396 | 198 | 198 | ||
3397 | 199 | for (guint i = 0; i < tz_locations->len; ++i) { | 199 | for (guint i = 0; i < tz_locations->len; ++i) { |
3399 | 200 | tmp = (CcTimezoneLocation *) g_ptr_array_index(tz_locations, i); | 200 | auto tmp = static_cast<CcTimezoneLocation *>(g_ptr_array_index(tz_locations, i)); |
3400 | 201 | gchar *en_name, *country, *zone, *state, *full_country; | 201 | gchar *en_name, *country, *zone, *state, *full_country; |
3401 | 202 | g_object_get (tmp, "en_name", &en_name, | 202 | g_object_get (tmp, "en_name", &en_name, |
3402 | 203 | "country", &country, | 203 | "country", &country, |
3403 | 204 | 204 | ||
3404 | === modified file 'po/am.po' | |||
3405 | --- po/am.po 2014-08-22 07:38:19 +0000 | |||
3406 | +++ po/am.po 2014-08-26 11:38:32 +0000 | |||
3407 | @@ -15,7 +15,7 @@ | |||
3408 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
3409 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
3410 | 17 | "Plural-Forms: nplurals=2; plural=n > 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n > 1;\n" |
3412 | 18 | "X-Launchpad-Export-Date: 2014-08-22 07:37+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-23 07:14+0000\n" |
3413 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
3414 | 20 | 20 | ||
3415 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
3416 | 22 | 22 | ||
3417 | === modified file 'po/en_AU.po' | |||
3418 | --- po/en_AU.po 2014-08-20 06:22:04 +0000 | |||
3419 | +++ po/en_AU.po 2014-08-26 11:38:32 +0000 | |||
3420 | @@ -8,14 +8,14 @@ | |||
3421 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
3422 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
3423 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
3425 | 11 | "PO-Revision-Date: 2014-08-13 02:03+0000\n" | 11 | "PO-Revision-Date: 2014-08-23 02:38+0000\n" |
3426 | 12 | "Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n" | 12 | "Last-Translator: Jared Norris <jarednorris@ubuntu.com>\n" |
3427 | 13 | "Language-Team: English (Australia) <en_AU@li.org>\n" | 13 | "Language-Team: English (Australia) <en_AU@li.org>\n" |
3428 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
3429 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
3430 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
3431 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
3433 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:21+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-24 06:45+0000\n" |
3434 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
3435 | 20 | 20 | ||
3436 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
3437 | @@ -50,7 +50,7 @@ | |||
3438 | 50 | 50 | ||
3439 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
3440 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
3442 | 53 | msgstr "" | 53 | msgstr "Auto correction" |
3443 | 54 | 54 | ||
3444 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
3445 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
3446 | @@ -66,12 +66,13 @@ | |||
3447 | 66 | 66 | ||
3448 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
3449 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
3451 | 69 | msgstr "" | 69 | msgstr "Auto punctuation" |
3452 | 70 | 70 | ||
3453 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
3454 | 72 | msgid "" | 72 | msgid "" |
3455 | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
3456 | 74 | msgstr "" | 74 | msgstr "" |
3457 | 75 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | ||
3458 | 75 | 76 | ||
3459 | 76 | #: ../plugins/language//PageComponent.qml:185 | 77 | #: ../plugins/language//PageComponent.qml:185 |
3460 | 77 | #: ../plugins/sound//PageComponent.qml:186 | 78 | #: ../plugins/sound//PageComponent.qml:186 |
3461 | @@ -80,7 +81,7 @@ | |||
3462 | 80 | 81 | ||
3463 | 81 | #: ../plugins/language//PageComponent.qml:195 | 82 | #: ../plugins/language//PageComponent.qml:195 |
3464 | 82 | msgid "Keyboard vibration" | 83 | msgid "Keyboard vibration" |
3466 | 83 | msgstr "" | 84 | msgstr "Keyboard vibration" |
3467 | 84 | 85 | ||
3468 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 86 | #: ../plugins/language//KeyboardLayouts.qml:39 |
3469 | 86 | msgid "Current layouts:" | 87 | msgid "Current layouts:" |
3470 | @@ -310,7 +311,7 @@ | |||
3471 | 310 | 311 | ||
3472 | 311 | #: ../plugins/security-privacy//AppAccess.qml:35 | 312 | #: ../plugins/security-privacy//AppAccess.qml:35 |
3473 | 312 | msgid "Apps that you have granted and have requested access to:" | 313 | msgid "Apps that you have granted and have requested access to:" |
3475 | 313 | msgstr "" | 314 | msgstr "Apps that you have granted and have requested access to:" |
3476 | 314 | 315 | ||
3477 | 315 | #: ../plugins/security-privacy//AppAccess.qml:41 | 316 | #: ../plugins/security-privacy//AppAccess.qml:41 |
3478 | 316 | #: ../plugins/bluetooth//PageComponent.qml:100 | 317 | #: ../plugins/bluetooth//PageComponent.qml:100 |
3479 | @@ -319,24 +320,24 @@ | |||
3480 | 319 | 320 | ||
3481 | 320 | #: ../plugins/security-privacy//AppAccess.qml:42 | 321 | #: ../plugins/security-privacy//AppAccess.qml:42 |
3482 | 321 | msgid "Apps that have requested access to your camera" | 322 | msgid "Apps that have requested access to your camera" |
3484 | 322 | msgstr "" | 323 | msgstr "Apps that have requested access to your camera" |
3485 | 323 | 324 | ||
3486 | 324 | #: ../plugins/security-privacy//AppAccess.qml:46 | 325 | #: ../plugins/security-privacy//AppAccess.qml:46 |
3487 | 325 | msgid "Mic" | 326 | msgid "Mic" |
3489 | 326 | msgstr "" | 327 | msgstr "Mic" |
3490 | 327 | 328 | ||
3491 | 328 | #: ../plugins/security-privacy//AppAccess.qml:47 | 329 | #: ../plugins/security-privacy//AppAccess.qml:47 |
3492 | 329 | msgid "Apps that have requested access to your mic" | 330 | msgid "Apps that have requested access to your mic" |
3494 | 330 | msgstr "" | 331 | msgstr "Apps that have requested access to your mic" |
3495 | 331 | 332 | ||
3496 | 332 | #: ../plugins/security-privacy//AppAccess.qml:59 | 333 | #: ../plugins/security-privacy//AppAccess.qml:59 |
3497 | 333 | #, qt-format | 334 | #, qt-format |
3498 | 334 | msgid "%1/%2" | 335 | msgid "%1/%2" |
3500 | 335 | msgstr "" | 336 | msgstr "%1/%2" |
3501 | 336 | 337 | ||
3502 | 337 | #: ../plugins/security-privacy//AppAccess.qml:60 | 338 | #: ../plugins/security-privacy//AppAccess.qml:60 |
3503 | 338 | msgid "0" | 339 | msgid "0" |
3505 | 339 | msgstr "" | 340 | msgstr "0" |
3506 | 340 | 341 | ||
3507 | 341 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 342 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
3508 | 342 | msgid "Change passcode" | 343 | msgid "Change passcode" |
3509 | @@ -1075,7 +1076,7 @@ | |||
3510 | 1075 | #: ../plugins/battery//PageComponent.qml:290 | 1076 | #: ../plugins/battery//PageComponent.qml:290 |
3511 | 1076 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1077 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
3512 | 1077 | msgid "Display brightness" | 1078 | msgid "Display brightness" |
3514 | 1078 | msgstr "" | 1079 | msgstr "Display brightness" |
3515 | 1079 | 1080 | ||
3516 | 1080 | #. TRANSLATORS: %1 is the number of minutes | 1081 | #. TRANSLATORS: %1 is the number of minutes |
3517 | 1081 | #: ../plugins/battery//PageComponent.qml:306 | 1082 | #: ../plugins/battery//PageComponent.qml:306 |
3518 | @@ -1418,7 +1419,7 @@ | |||
3519 | 1418 | 1419 | ||
3520 | 1419 | #: ../plugins/brightness//PageComponent.qml:65 | 1420 | #: ../plugins/brightness//PageComponent.qml:65 |
3521 | 1420 | msgid "Brightens and dims the display to suit the surroundings." | 1421 | msgid "Brightens and dims the display to suit the surroundings." |
3523 | 1421 | msgstr "" | 1422 | msgstr "Brightens and dims the display to suit the surroundings." |
3524 | 1422 | 1423 | ||
3525 | 1423 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching | 1424 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching |
3526 | 1424 | #: ../plugins/sound//PageComponent.qml:38 | 1425 | #: ../plugins/sound//PageComponent.qml:38 |
3527 | @@ -1564,27 +1565,27 @@ | |||
3528 | 1564 | 1565 | ||
3529 | 1565 | #: ../wizard/qml/Pages//15-passwd.qml:37 | 1566 | #: ../wizard/qml/Pages//15-passwd.qml:37 |
3530 | 1566 | msgid "Set lock security" | 1567 | msgid "Set lock security" |
3532 | 1567 | msgstr "" | 1568 | msgstr "Set lock security" |
3533 | 1568 | 1569 | ||
3534 | 1569 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1570 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
3535 | 1570 | msgid "Swipe" | 1571 | msgid "Swipe" |
3537 | 1571 | msgstr "" | 1572 | msgstr "Swipe" |
3538 | 1572 | 1573 | ||
3539 | 1573 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1574 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
3540 | 1574 | msgid "Those passcodes don't match." | 1575 | msgid "Those passcodes don't match." |
3542 | 1575 | msgstr "" | 1576 | msgstr "Those passcodes don't match." |
3543 | 1576 | 1577 | ||
3544 | 1577 | #: ../wizard/qml/Pages//15-passwd.qml:138 | 1578 | #: ../wizard/qml/Pages//15-passwd.qml:138 |
3545 | 1578 | msgid "Those passphrases don't match." | 1579 | msgid "Those passphrases don't match." |
3547 | 1579 | msgstr "" | 1580 | msgstr "Those passphrases don't match." |
3548 | 1580 | 1581 | ||
3549 | 1581 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1582 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
3550 | 1582 | msgid "Passcode must be at least four digits long." | 1583 | msgid "Passcode must be at least four digits long." |
3552 | 1583 | msgstr "" | 1584 | msgstr "Passcode must be at least four digits long." |
3553 | 1584 | 1585 | ||
3554 | 1585 | #: ../wizard/qml/Pages//15-passwd.qml:148 | 1586 | #: ../wizard/qml/Pages//15-passwd.qml:148 |
3555 | 1586 | msgid "Passphrase must be at least four characters long." | 1587 | msgid "Passphrase must be at least four characters long." |
3557 | 1587 | msgstr "" | 1588 | msgstr "Passphrase must be at least four characters long." |
3558 | 1588 | 1589 | ||
3559 | 1589 | #: ../wizard/qml/Pages//10-welcome.qml:25 | 1590 | #: ../wizard/qml/Pages//10-welcome.qml:25 |
3560 | 1590 | msgid "Hello" | 1591 | msgid "Hello" |
3561 | @@ -1890,8 +1891,8 @@ | |||
3562 | 1890 | 1891 | ||
3563 | 1891 | #: ../push-helper/software-updates-helper.py:78 | 1892 | #: ../push-helper/software-updates-helper.py:78 |
3564 | 1892 | msgid "There's an updated system image." | 1893 | msgid "There's an updated system image." |
3566 | 1893 | msgstr "" | 1894 | msgstr "There's an updated system image." |
3567 | 1894 | 1895 | ||
3568 | 1895 | #: ../push-helper/software-updates-helper.py:79 | 1896 | #: ../push-helper/software-updates-helper.py:79 |
3569 | 1896 | msgid "Tap to open the system updater." | 1897 | msgid "Tap to open the system updater." |
3571 | 1897 | msgstr "" | 1898 | msgstr "Tap to open the system updater." |
3572 | 1898 | 1899 | ||
3573 | === modified file 'po/en_GB.po' | |||
3574 | --- po/en_GB.po 2014-08-20 06:22:04 +0000 | |||
3575 | +++ po/en_GB.po 2014-08-26 11:38:32 +0000 | |||
3576 | @@ -8,14 +8,14 @@ | |||
3577 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
3578 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
3579 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
3581 | 11 | "PO-Revision-Date: 2014-08-12 12:45+0000\n" | 11 | "PO-Revision-Date: 2014-08-22 11:37+0000\n" |
3582 | 12 | "Last-Translator: Alan Pope ㋛ <alan@ubuntu.com>\n" | 12 | "Last-Translator: Alan Pope ㋛ <alan@ubuntu.com>\n" |
3583 | 13 | "Language-Team: English (United Kingdom) <en_GB@li.org>\n" | 13 | "Language-Team: English (United Kingdom) <en_GB@li.org>\n" |
3584 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
3585 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
3586 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
3587 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
3589 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:21+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-23 07:15+0000\n" |
3590 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
3591 | 20 | 20 | ||
3592 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
3593 | @@ -50,7 +50,7 @@ | |||
3594 | 50 | 50 | ||
3595 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
3596 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
3598 | 53 | msgstr "" | 53 | msgstr "Auto correction" |
3599 | 54 | 54 | ||
3600 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
3601 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
3602 | @@ -66,12 +66,14 @@ | |||
3603 | 66 | 66 | ||
3604 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
3605 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
3607 | 69 | msgstr "" | 69 | msgstr "Auto punctuation" |
3608 | 70 | 70 | ||
3609 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
3610 | 72 | msgid "" | 72 | msgid "" |
3611 | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
3612 | 74 | msgstr "" | 74 | msgstr "" |
3613 | 75 | "Adds a full-stop, and any missing quotes or brackets, when you tap Space " | ||
3614 | 76 | "twice." | ||
3615 | 75 | 77 | ||
3616 | 76 | #: ../plugins/language//PageComponent.qml:185 | 78 | #: ../plugins/language//PageComponent.qml:185 |
3617 | 77 | #: ../plugins/sound//PageComponent.qml:186 | 79 | #: ../plugins/sound//PageComponent.qml:186 |
3618 | @@ -80,7 +82,7 @@ | |||
3619 | 80 | 82 | ||
3620 | 81 | #: ../plugins/language//PageComponent.qml:195 | 83 | #: ../plugins/language//PageComponent.qml:195 |
3621 | 82 | msgid "Keyboard vibration" | 84 | msgid "Keyboard vibration" |
3623 | 83 | msgstr "" | 85 | msgstr "Keyboard vibration" |
3624 | 84 | 86 | ||
3625 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 87 | #: ../plugins/language//KeyboardLayouts.qml:39 |
3626 | 86 | msgid "Current layouts:" | 88 | msgid "Current layouts:" |
3627 | @@ -310,7 +312,7 @@ | |||
3628 | 310 | 312 | ||
3629 | 311 | #: ../plugins/security-privacy//AppAccess.qml:35 | 313 | #: ../plugins/security-privacy//AppAccess.qml:35 |
3630 | 312 | msgid "Apps that you have granted and have requested access to:" | 314 | msgid "Apps that you have granted and have requested access to:" |
3632 | 313 | msgstr "" | 315 | msgstr "Apps that you have granted and have requested access to:" |
3633 | 314 | 316 | ||
3634 | 315 | #: ../plugins/security-privacy//AppAccess.qml:41 | 317 | #: ../plugins/security-privacy//AppAccess.qml:41 |
3635 | 316 | #: ../plugins/bluetooth//PageComponent.qml:100 | 318 | #: ../plugins/bluetooth//PageComponent.qml:100 |
3636 | @@ -319,24 +321,24 @@ | |||
3637 | 319 | 321 | ||
3638 | 320 | #: ../plugins/security-privacy//AppAccess.qml:42 | 322 | #: ../plugins/security-privacy//AppAccess.qml:42 |
3639 | 321 | msgid "Apps that have requested access to your camera" | 323 | msgid "Apps that have requested access to your camera" |
3641 | 322 | msgstr "" | 324 | msgstr "Apps that have requested access to your camera" |
3642 | 323 | 325 | ||
3643 | 324 | #: ../plugins/security-privacy//AppAccess.qml:46 | 326 | #: ../plugins/security-privacy//AppAccess.qml:46 |
3644 | 325 | msgid "Mic" | 327 | msgid "Mic" |
3646 | 326 | msgstr "" | 328 | msgstr "Mic" |
3647 | 327 | 329 | ||
3648 | 328 | #: ../plugins/security-privacy//AppAccess.qml:47 | 330 | #: ../plugins/security-privacy//AppAccess.qml:47 |
3649 | 329 | msgid "Apps that have requested access to your mic" | 331 | msgid "Apps that have requested access to your mic" |
3651 | 330 | msgstr "" | 332 | msgstr "Apps that have requested access to your mic" |
3652 | 331 | 333 | ||
3653 | 332 | #: ../plugins/security-privacy//AppAccess.qml:59 | 334 | #: ../plugins/security-privacy//AppAccess.qml:59 |
3654 | 333 | #, qt-format | 335 | #, qt-format |
3655 | 334 | msgid "%1/%2" | 336 | msgid "%1/%2" |
3657 | 335 | msgstr "" | 337 | msgstr "%1/%2" |
3658 | 336 | 338 | ||
3659 | 337 | #: ../plugins/security-privacy//AppAccess.qml:60 | 339 | #: ../plugins/security-privacy//AppAccess.qml:60 |
3660 | 338 | msgid "0" | 340 | msgid "0" |
3662 | 339 | msgstr "" | 341 | msgstr "0" |
3663 | 340 | 342 | ||
3664 | 341 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 343 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
3665 | 342 | msgid "Change passcode" | 344 | msgid "Change passcode" |
3666 | @@ -1075,7 +1077,7 @@ | |||
3667 | 1075 | #: ../plugins/battery//PageComponent.qml:290 | 1077 | #: ../plugins/battery//PageComponent.qml:290 |
3668 | 1076 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1078 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
3669 | 1077 | msgid "Display brightness" | 1079 | msgid "Display brightness" |
3671 | 1078 | msgstr "" | 1080 | msgstr "Display brightness" |
3672 | 1079 | 1081 | ||
3673 | 1080 | #. TRANSLATORS: %1 is the number of minutes | 1082 | #. TRANSLATORS: %1 is the number of minutes |
3674 | 1081 | #: ../plugins/battery//PageComponent.qml:306 | 1083 | #: ../plugins/battery//PageComponent.qml:306 |
3675 | @@ -1418,7 +1420,7 @@ | |||
3676 | 1418 | 1420 | ||
3677 | 1419 | #: ../plugins/brightness//PageComponent.qml:65 | 1421 | #: ../plugins/brightness//PageComponent.qml:65 |
3678 | 1420 | msgid "Brightens and dims the display to suit the surroundings." | 1422 | msgid "Brightens and dims the display to suit the surroundings." |
3680 | 1421 | msgstr "" | 1423 | msgstr "Brightens and dims the display to suit the surroundings." |
3681 | 1422 | 1424 | ||
3682 | 1423 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching | 1425 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching |
3683 | 1424 | #: ../plugins/sound//PageComponent.qml:38 | 1426 | #: ../plugins/sound//PageComponent.qml:38 |
3684 | @@ -1564,27 +1566,27 @@ | |||
3685 | 1564 | 1566 | ||
3686 | 1565 | #: ../wizard/qml/Pages//15-passwd.qml:37 | 1567 | #: ../wizard/qml/Pages//15-passwd.qml:37 |
3687 | 1566 | msgid "Set lock security" | 1568 | msgid "Set lock security" |
3689 | 1567 | msgstr "" | 1569 | msgstr "Set lock security" |
3690 | 1568 | 1570 | ||
3691 | 1569 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1571 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
3692 | 1570 | msgid "Swipe" | 1572 | msgid "Swipe" |
3694 | 1571 | msgstr "" | 1573 | msgstr "Swipe" |
3695 | 1572 | 1574 | ||
3696 | 1573 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1575 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
3697 | 1574 | msgid "Those passcodes don't match." | 1576 | msgid "Those passcodes don't match." |
3699 | 1575 | msgstr "" | 1577 | msgstr "Those passcodes don't match." |
3700 | 1576 | 1578 | ||
3701 | 1577 | #: ../wizard/qml/Pages//15-passwd.qml:138 | 1579 | #: ../wizard/qml/Pages//15-passwd.qml:138 |
3702 | 1578 | msgid "Those passphrases don't match." | 1580 | msgid "Those passphrases don't match." |
3704 | 1579 | msgstr "" | 1581 | msgstr "Those passphrases don't match." |
3705 | 1580 | 1582 | ||
3706 | 1581 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1583 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
3707 | 1582 | msgid "Passcode must be at least four digits long." | 1584 | msgid "Passcode must be at least four digits long." |
3709 | 1583 | msgstr "" | 1585 | msgstr "Passcode must be at least four digits long." |
3710 | 1584 | 1586 | ||
3711 | 1585 | #: ../wizard/qml/Pages//15-passwd.qml:148 | 1587 | #: ../wizard/qml/Pages//15-passwd.qml:148 |
3712 | 1586 | msgid "Passphrase must be at least four characters long." | 1588 | msgid "Passphrase must be at least four characters long." |
3714 | 1587 | msgstr "" | 1589 | msgstr "Passphrase must be at least four characters long." |
3715 | 1588 | 1590 | ||
3716 | 1589 | #: ../wizard/qml/Pages//10-welcome.qml:25 | 1591 | #: ../wizard/qml/Pages//10-welcome.qml:25 |
3717 | 1590 | msgid "Hello" | 1592 | msgid "Hello" |
3718 | @@ -1890,8 +1892,8 @@ | |||
3719 | 1890 | 1892 | ||
3720 | 1891 | #: ../push-helper/software-updates-helper.py:78 | 1893 | #: ../push-helper/software-updates-helper.py:78 |
3721 | 1892 | msgid "There's an updated system image." | 1894 | msgid "There's an updated system image." |
3723 | 1893 | msgstr "" | 1895 | msgstr "There's an updated system image." |
3724 | 1894 | 1896 | ||
3725 | 1895 | #: ../push-helper/software-updates-helper.py:79 | 1897 | #: ../push-helper/software-updates-helper.py:79 |
3726 | 1896 | msgid "Tap to open the system updater." | 1898 | msgid "Tap to open the system updater." |
3728 | 1897 | msgstr "" | 1899 | msgstr "Tap to open the system updater." |
3729 | 1898 | 1900 | ||
3730 | === modified file 'po/es.po' | |||
3731 | --- po/es.po 2014-08-20 06:22:04 +0000 | |||
3732 | +++ po/es.po 2014-08-26 11:38:32 +0000 | |||
3733 | @@ -8,14 +8,14 @@ | |||
3734 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
3735 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
3736 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
3739 | 11 | "PO-Revision-Date: 2014-08-16 13:20+0000\n" | 11 | "PO-Revision-Date: 2014-08-26 05:19+0000\n" |
3740 | 12 | "Last-Translator: Adolfo Jayme <fitoschido@gmail.com>\n" | 12 | "Last-Translator: Leo Arias <leo.arias@canonical.com>\n" |
3741 | 13 | "Language-Team: Spanish <es@li.org>\n" | 13 | "Language-Team: Spanish <es@li.org>\n" |
3742 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
3743 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
3744 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
3745 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
3747 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:21+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-26 07:46+0000\n" |
3748 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
3749 | 20 | 20 | ||
3750 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
3751 | @@ -50,7 +50,7 @@ | |||
3752 | 50 | 50 | ||
3753 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
3754 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
3756 | 53 | msgstr "" | 53 | msgstr "Corrección automática" |
3757 | 54 | 54 | ||
3758 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
3759 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
3760 | @@ -66,7 +66,7 @@ | |||
3761 | 66 | 66 | ||
3762 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
3763 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
3765 | 69 | msgstr "" | 69 | msgstr "Puntuación automática" |
3766 | 70 | 70 | ||
3767 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
3768 | 72 | msgid "" | 72 | msgid "" |
3769 | @@ -80,7 +80,7 @@ | |||
3770 | 80 | 80 | ||
3771 | 81 | #: ../plugins/language//PageComponent.qml:195 | 81 | #: ../plugins/language//PageComponent.qml:195 |
3772 | 82 | msgid "Keyboard vibration" | 82 | msgid "Keyboard vibration" |
3774 | 83 | msgstr "" | 83 | msgstr "Vibración de teclado" |
3775 | 84 | 84 | ||
3776 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 |
3777 | 86 | msgid "Current layouts:" | 86 | msgid "Current layouts:" |
3778 | @@ -216,13 +216,13 @@ | |||
3779 | 216 | #. reports are to be sent by the system. | 216 | #. reports are to be sent by the system. |
3780 | 217 | #: ../plugins/security-privacy//PageComponent.qml:184 | 217 | #: ../plugins/security-privacy//PageComponent.qml:184 |
3781 | 218 | msgid "Sent" | 218 | msgid "Sent" |
3783 | 219 | msgstr "Enviado" | 219 | msgstr "Enviados" |
3784 | 220 | 220 | ||
3785 | 221 | #. TRANSLATORS: This string is shown when crash | 221 | #. TRANSLATORS: This string is shown when crash |
3786 | 222 | #. reports are not to be sent by the system | 222 | #. reports are not to be sent by the system |
3787 | 223 | #: ../plugins/security-privacy//PageComponent.qml:187 | 223 | #: ../plugins/security-privacy//PageComponent.qml:187 |
3788 | 224 | msgid "Not sent" | 224 | msgid "Not sent" |
3790 | 225 | msgstr "No enviado" | 225 | msgstr "No enviados" |
3791 | 226 | 226 | ||
3792 | 227 | #: ../plugins/security-privacy//PhoneLocking.qml:62 | 227 | #: ../plugins/security-privacy//PhoneLocking.qml:62 |
3793 | 228 | #: ../plugins/battery//PageComponent.qml:300 | 228 | #: ../plugins/battery//PageComponent.qml:300 |
3794 | @@ -321,24 +321,24 @@ | |||
3795 | 321 | 321 | ||
3796 | 322 | #: ../plugins/security-privacy//AppAccess.qml:42 | 322 | #: ../plugins/security-privacy//AppAccess.qml:42 |
3797 | 323 | msgid "Apps that have requested access to your camera" | 323 | msgid "Apps that have requested access to your camera" |
3799 | 324 | msgstr "" | 324 | msgstr "Aplicaciones que solicitaron acceso a la cámara" |
3800 | 325 | 325 | ||
3801 | 326 | #: ../plugins/security-privacy//AppAccess.qml:46 | 326 | #: ../plugins/security-privacy//AppAccess.qml:46 |
3802 | 327 | msgid "Mic" | 327 | msgid "Mic" |
3804 | 328 | msgstr "" | 328 | msgstr "Micrófono" |
3805 | 329 | 329 | ||
3806 | 330 | #: ../plugins/security-privacy//AppAccess.qml:47 | 330 | #: ../plugins/security-privacy//AppAccess.qml:47 |
3807 | 331 | msgid "Apps that have requested access to your mic" | 331 | msgid "Apps that have requested access to your mic" |
3809 | 332 | msgstr "" | 332 | msgstr "Aplicaciones que solicitaron acceso al micrófono" |
3810 | 333 | 333 | ||
3811 | 334 | #: ../plugins/security-privacy//AppAccess.qml:59 | 334 | #: ../plugins/security-privacy//AppAccess.qml:59 |
3812 | 335 | #, qt-format | 335 | #, qt-format |
3813 | 336 | msgid "%1/%2" | 336 | msgid "%1/%2" |
3815 | 337 | msgstr "" | 337 | msgstr "%1/%2" |
3816 | 338 | 338 | ||
3817 | 339 | #: ../plugins/security-privacy//AppAccess.qml:60 | 339 | #: ../plugins/security-privacy//AppAccess.qml:60 |
3818 | 340 | msgid "0" | 340 | msgid "0" |
3820 | 341 | msgstr "" | 341 | msgstr "0" |
3821 | 342 | 342 | ||
3822 | 343 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 343 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
3823 | 344 | msgid "Change passcode" | 344 | msgid "Change passcode" |
3824 | @@ -1079,7 +1079,7 @@ | |||
3825 | 1079 | #: ../plugins/battery//PageComponent.qml:290 | 1079 | #: ../plugins/battery//PageComponent.qml:290 |
3826 | 1080 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1080 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
3827 | 1081 | msgid "Display brightness" | 1081 | msgid "Display brightness" |
3829 | 1082 | msgstr "" | 1082 | msgstr "Brillo de pantalla" |
3830 | 1083 | 1083 | ||
3831 | 1084 | #. TRANSLATORS: %1 is the number of minutes | 1084 | #. TRANSLATORS: %1 is the number of minutes |
3832 | 1085 | #: ../plugins/battery//PageComponent.qml:306 | 1085 | #: ../plugins/battery//PageComponent.qml:306 |
3833 | @@ -1212,8 +1212,8 @@ | |||
3834 | 1212 | "Selected apps can alert you using notification bubbles, sounds, vibrations, " | 1212 | "Selected apps can alert you using notification bubbles, sounds, vibrations, " |
3835 | 1213 | "and the Notification Center." | 1213 | "and the Notification Center." |
3836 | 1214 | msgstr "" | 1214 | msgstr "" |
3839 | 1215 | "Aplicaciones seleccionadas pueden avisarle usando burbujas de notificación, " | 1215 | "Las aplicaciones seleccionadas pueden alertarle mediante notificaciones, " |
3840 | 1216 | "sonidos, vibraciones y el Centro de notificaciones." | 1216 | "sonidos, vibración y el Centro de notificaciones." |
3841 | 1217 | 1217 | ||
3842 | 1218 | #: ../plugins/phone//ServiceInfo.qml:109 | 1218 | #: ../plugins/phone//ServiceInfo.qml:109 |
3843 | 1219 | #, qt-format | 1219 | #, qt-format |
3844 | @@ -1397,7 +1397,7 @@ | |||
3845 | 1397 | 1397 | ||
3846 | 1398 | #: ../plugins/system-update//Configuration.qml:35 | 1398 | #: ../plugins/system-update//Configuration.qml:35 |
3847 | 1399 | msgid "Download future updates automatically:" | 1399 | msgid "Download future updates automatically:" |
3849 | 1400 | msgstr "Descargar automáticamente actualizaciones futuras:" | 1400 | msgstr "Descarga automática de actualizaciones:" |
3850 | 1401 | 1401 | ||
3851 | 1402 | #: ../plugins/system-update//Configuration.qml:54 | 1402 | #: ../plugins/system-update//Configuration.qml:54 |
3852 | 1403 | msgid "When on wi-fi" | 1403 | msgid "When on wi-fi" |
3853 | @@ -1423,7 +1423,7 @@ | |||
3854 | 1423 | 1423 | ||
3855 | 1424 | #: ../plugins/brightness//PageComponent.qml:65 | 1424 | #: ../plugins/brightness//PageComponent.qml:65 |
3856 | 1425 | msgid "Brightens and dims the display to suit the surroundings." | 1425 | msgid "Brightens and dims the display to suit the surroundings." |
3858 | 1426 | msgstr "" | 1426 | msgstr "Aumenta o disminuye el brillo de la pantalla según la luz ambiental." |
3859 | 1427 | 1427 | ||
3860 | 1428 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching | 1428 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching |
3861 | 1429 | #: ../plugins/sound//PageComponent.qml:38 | 1429 | #: ../plugins/sound//PageComponent.qml:38 |
3862 | @@ -1569,11 +1569,11 @@ | |||
3863 | 1569 | 1569 | ||
3864 | 1570 | #: ../wizard/qml/Pages//15-passwd.qml:37 | 1570 | #: ../wizard/qml/Pages//15-passwd.qml:37 |
3865 | 1571 | msgid "Set lock security" | 1571 | msgid "Set lock security" |
3867 | 1572 | msgstr "" | 1572 | msgstr "Establecer la seguridad de bloqueo" |
3868 | 1573 | 1573 | ||
3869 | 1574 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1574 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
3870 | 1575 | msgid "Swipe" | 1575 | msgid "Swipe" |
3872 | 1576 | msgstr "" | 1576 | msgstr "Deslizar" |
3873 | 1577 | 1577 | ||
3874 | 1578 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1578 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
3875 | 1579 | msgid "Those passcodes don't match." | 1579 | msgid "Those passcodes don't match." |
3876 | @@ -1895,7 +1895,7 @@ | |||
3877 | 1895 | 1895 | ||
3878 | 1896 | #: ../push-helper/software-updates-helper.py:78 | 1896 | #: ../push-helper/software-updates-helper.py:78 |
3879 | 1897 | msgid "There's an updated system image." | 1897 | msgid "There's an updated system image." |
3881 | 1898 | msgstr "" | 1898 | msgstr "Hay una actualización de la imagen del sistema disponible." |
3882 | 1899 | 1899 | ||
3883 | 1900 | #: ../push-helper/software-updates-helper.py:79 | 1900 | #: ../push-helper/software-updates-helper.py:79 |
3884 | 1901 | msgid "Tap to open the system updater." | 1901 | msgid "Tap to open the system updater." |
3885 | 1902 | 1902 | ||
3886 | === modified file 'po/fi.po' | |||
3887 | --- po/fi.po 2014-08-20 06:22:04 +0000 | |||
3888 | +++ po/fi.po 2014-08-26 11:38:32 +0000 | |||
3889 | @@ -8,14 +8,14 @@ | |||
3890 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
3891 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
3892 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
3894 | 11 | "PO-Revision-Date: 2014-08-18 07:37+0000\n" | 11 | "PO-Revision-Date: 2014-08-22 09:53+0000\n" |
3895 | 12 | "Last-Translator: Timo Jyrinki <timo.jyrinki@canonical.com>\n" | 12 | "Last-Translator: Timo Jyrinki <timo.jyrinki@canonical.com>\n" |
3896 | 13 | "Language-Team: Finnish <fi@li.org>\n" | 13 | "Language-Team: Finnish <fi@li.org>\n" |
3897 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
3898 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
3899 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
3900 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
3902 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:19+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-23 07:15+0000\n" |
3903 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
3904 | 20 | 20 | ||
3905 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
3906 | @@ -50,7 +50,7 @@ | |||
3907 | 50 | 50 | ||
3908 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
3909 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
3911 | 53 | msgstr "" | 53 | msgstr "Automaattinen korjaus" |
3912 | 54 | 54 | ||
3913 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
3914 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
3915 | @@ -66,12 +66,14 @@ | |||
3916 | 66 | 66 | ||
3917 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
3918 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
3920 | 69 | msgstr "" | 69 | msgstr "Automaattiset välimerkit" |
3921 | 70 | 70 | ||
3922 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
3923 | 72 | msgid "" | 72 | msgid "" |
3924 | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
3925 | 74 | msgstr "" | 74 | msgstr "" |
3926 | 75 | "Lisää pisteen sekä puuttuvat lainausmerkit ja sulut, kun painat välilyöntiä " | ||
3927 | 76 | "kahdesti." | ||
3928 | 75 | 77 | ||
3929 | 76 | #: ../plugins/language//PageComponent.qml:185 | 78 | #: ../plugins/language//PageComponent.qml:185 |
3930 | 77 | #: ../plugins/sound//PageComponent.qml:186 | 79 | #: ../plugins/sound//PageComponent.qml:186 |
3931 | @@ -80,7 +82,7 @@ | |||
3932 | 80 | 82 | ||
3933 | 81 | #: ../plugins/language//PageComponent.qml:195 | 83 | #: ../plugins/language//PageComponent.qml:195 |
3934 | 82 | msgid "Keyboard vibration" | 84 | msgid "Keyboard vibration" |
3936 | 83 | msgstr "" | 85 | msgstr "Näppäimistön värinä" |
3937 | 84 | 86 | ||
3938 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 87 | #: ../plugins/language//KeyboardLayouts.qml:39 |
3939 | 86 | msgid "Current layouts:" | 88 | msgid "Current layouts:" |
3940 | @@ -148,14 +150,14 @@ | |||
3941 | 148 | #: ../plugins/security-privacy//PhoneLocking.qml:41 | 150 | #: ../plugins/security-privacy//PhoneLocking.qml:41 |
3942 | 149 | #: ../wizard/qml/Pages//15-passwd.qml:88 | 151 | #: ../wizard/qml/Pages//15-passwd.qml:88 |
3943 | 150 | msgid "Passcode" | 152 | msgid "Passcode" |
3945 | 151 | msgstr "Pääsykoodi" | 153 | msgstr "Suojakoodi" |
3946 | 152 | 154 | ||
3947 | 153 | #: ../plugins/security-privacy//PageComponent.qml:80 | 155 | #: ../plugins/security-privacy//PageComponent.qml:80 |
3948 | 154 | #: ../plugins/security-privacy//PhoneLocking.qml:42 | 156 | #: ../plugins/security-privacy//PhoneLocking.qml:42 |
3949 | 155 | #: ../plugins/security-privacy//LockSecurity.qml:346 | 157 | #: ../plugins/security-privacy//LockSecurity.qml:346 |
3950 | 156 | #: ../wizard/qml/Pages//15-passwd.qml:90 | 158 | #: ../wizard/qml/Pages//15-passwd.qml:90 |
3951 | 157 | msgid "Passphrase" | 159 | msgid "Passphrase" |
3953 | 158 | msgstr "Avainlause" | 160 | msgstr "Salasana" |
3954 | 159 | 161 | ||
3955 | 160 | #: ../plugins/security-privacy//PageComponent.qml:82 | 162 | #: ../plugins/security-privacy//PageComponent.qml:82 |
3956 | 161 | #: ../plugins/security-privacy//PhoneLocking.qml:44 | 163 | #: ../plugins/security-privacy//PhoneLocking.qml:44 |
3957 | @@ -312,7 +314,7 @@ | |||
3958 | 312 | 314 | ||
3959 | 313 | #: ../plugins/security-privacy//AppAccess.qml:35 | 315 | #: ../plugins/security-privacy//AppAccess.qml:35 |
3960 | 314 | msgid "Apps that you have granted and have requested access to:" | 316 | msgid "Apps that you have granted and have requested access to:" |
3962 | 315 | msgstr "" | 317 | msgstr "Sovellukset, jotka ovat pyytäneet ja joille on annettu oikeudet:" |
3963 | 316 | 318 | ||
3964 | 317 | #: ../plugins/security-privacy//AppAccess.qml:41 | 319 | #: ../plugins/security-privacy//AppAccess.qml:41 |
3965 | 318 | #: ../plugins/bluetooth//PageComponent.qml:100 | 320 | #: ../plugins/bluetooth//PageComponent.qml:100 |
3966 | @@ -321,32 +323,32 @@ | |||
3967 | 321 | 323 | ||
3968 | 322 | #: ../plugins/security-privacy//AppAccess.qml:42 | 324 | #: ../plugins/security-privacy//AppAccess.qml:42 |
3969 | 323 | msgid "Apps that have requested access to your camera" | 325 | msgid "Apps that have requested access to your camera" |
3971 | 324 | msgstr "" | 326 | msgstr "Sovellukset jotka ovat pyytäneet pääsyä kameraan" |
3972 | 325 | 327 | ||
3973 | 326 | #: ../plugins/security-privacy//AppAccess.qml:46 | 328 | #: ../plugins/security-privacy//AppAccess.qml:46 |
3974 | 327 | msgid "Mic" | 329 | msgid "Mic" |
3976 | 328 | msgstr "" | 330 | msgstr "Mikrofoni" |
3977 | 329 | 331 | ||
3978 | 330 | #: ../plugins/security-privacy//AppAccess.qml:47 | 332 | #: ../plugins/security-privacy//AppAccess.qml:47 |
3979 | 331 | msgid "Apps that have requested access to your mic" | 333 | msgid "Apps that have requested access to your mic" |
3981 | 332 | msgstr "" | 334 | msgstr "Sovellukset jotka ovat pyytäneet pääsyä mikrofoniin" |
3982 | 333 | 335 | ||
3983 | 334 | #: ../plugins/security-privacy//AppAccess.qml:59 | 336 | #: ../plugins/security-privacy//AppAccess.qml:59 |
3984 | 335 | #, qt-format | 337 | #, qt-format |
3985 | 336 | msgid "%1/%2" | 338 | msgid "%1/%2" |
3987 | 337 | msgstr "" | 339 | msgstr "%1/%2" |
3988 | 338 | 340 | ||
3989 | 339 | #: ../plugins/security-privacy//AppAccess.qml:60 | 341 | #: ../plugins/security-privacy//AppAccess.qml:60 |
3990 | 340 | msgid "0" | 342 | msgid "0" |
3992 | 341 | msgstr "" | 343 | msgstr "0" |
3993 | 342 | 344 | ||
3994 | 343 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 345 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
3995 | 344 | msgid "Change passcode" | 346 | msgid "Change passcode" |
3997 | 345 | msgstr "Vaihda pääsykoodi" | 347 | msgstr "Vaihda suojakoodi" |
3998 | 346 | 348 | ||
3999 | 347 | #: ../plugins/security-privacy//LockSecurity.qml:94 | 349 | #: ../plugins/security-privacy//LockSecurity.qml:94 |
4000 | 348 | msgid "Change passphrase" | 350 | msgid "Change passphrase" |
4002 | 349 | msgstr "Vaihda avainlause" | 351 | msgstr "Vaihda salasanaa" |
4003 | 350 | 352 | ||
4004 | 351 | #: ../plugins/security-privacy//LockSecurity.qml:101 | 353 | #: ../plugins/security-privacy//LockSecurity.qml:101 |
4005 | 352 | msgid "Switch to swipe" | 354 | msgid "Switch to swipe" |
4006 | @@ -354,43 +356,43 @@ | |||
4007 | 354 | 356 | ||
4008 | 355 | #: ../plugins/security-privacy//LockSecurity.qml:103 | 357 | #: ../plugins/security-privacy//LockSecurity.qml:103 |
4009 | 356 | msgid "Switch to passcode" | 358 | msgid "Switch to passcode" |
4011 | 357 | msgstr "Vaihda pääsykoodiin" | 359 | msgstr "Vaihda suojakoodiin" |
4012 | 358 | 360 | ||
4013 | 359 | #: ../plugins/security-privacy//LockSecurity.qml:105 | 361 | #: ../plugins/security-privacy//LockSecurity.qml:105 |
4014 | 360 | msgid "Switch to passphrase" | 362 | msgid "Switch to passphrase" |
4016 | 361 | msgstr "Vaihda avainlauseeseen" | 363 | msgstr "Vaihda salasanaan" |
4017 | 362 | 364 | ||
4018 | 363 | #: ../plugins/security-privacy//LockSecurity.qml:114 | 365 | #: ../plugins/security-privacy//LockSecurity.qml:114 |
4019 | 364 | msgid "Existing passcode" | 366 | msgid "Existing passcode" |
4021 | 365 | msgstr "Nykyinen pääsykoodi" | 367 | msgstr "Nykyinen suojakoodi" |
4022 | 366 | 368 | ||
4023 | 367 | #: ../plugins/security-privacy//LockSecurity.qml:116 | 369 | #: ../plugins/security-privacy//LockSecurity.qml:116 |
4024 | 368 | msgid "Existing passphrase" | 370 | msgid "Existing passphrase" |
4026 | 369 | msgstr "Nykyinen avainlause" | 371 | msgstr "Nykyinen salasana" |
4027 | 370 | 372 | ||
4028 | 371 | #: ../plugins/security-privacy//LockSecurity.qml:170 | 373 | #: ../plugins/security-privacy//LockSecurity.qml:170 |
4029 | 372 | msgid "Choose passcode" | 374 | msgid "Choose passcode" |
4031 | 373 | msgstr "Valitse pääsykoodi" | 375 | msgstr "Valitse suojakoodi" |
4032 | 374 | 376 | ||
4033 | 375 | #: ../plugins/security-privacy//LockSecurity.qml:172 | 377 | #: ../plugins/security-privacy//LockSecurity.qml:172 |
4034 | 376 | msgid "Choose passphrase" | 378 | msgid "Choose passphrase" |
4036 | 377 | msgstr "Valitse avainlause" | 379 | msgstr "Valitse salasana" |
4037 | 378 | 380 | ||
4038 | 379 | #: ../plugins/security-privacy//LockSecurity.qml:216 | 381 | #: ../plugins/security-privacy//LockSecurity.qml:216 |
4039 | 380 | msgid "Confirm passcode" | 382 | msgid "Confirm passcode" |
4041 | 381 | msgstr "Vahvista pääsykoodi" | 383 | msgstr "Vahvista suojakoodi" |
4042 | 382 | 384 | ||
4043 | 383 | #: ../plugins/security-privacy//LockSecurity.qml:218 | 385 | #: ../plugins/security-privacy//LockSecurity.qml:218 |
4044 | 384 | msgid "Confirm passphrase" | 386 | msgid "Confirm passphrase" |
4046 | 385 | msgstr "Vahvista avainlause" | 387 | msgstr "Vahvista salasana" |
4047 | 386 | 388 | ||
4048 | 387 | #: ../plugins/security-privacy//LockSecurity.qml:261 | 389 | #: ../plugins/security-privacy//LockSecurity.qml:261 |
4049 | 388 | msgid "Those passcodes don't match. Try again." | 390 | msgid "Those passcodes don't match. Try again." |
4051 | 389 | msgstr "Pääsykoodit eivät vastaa toisiaan. Yritä uudelleen." | 391 | msgstr "Suojakoodit eivät vastaa toisiaan. Yritä uudelleen." |
4052 | 390 | 392 | ||
4053 | 391 | #: ../plugins/security-privacy//LockSecurity.qml:264 | 393 | #: ../plugins/security-privacy//LockSecurity.qml:264 |
4054 | 392 | msgid "Those passphrases don't match. Try again." | 394 | msgid "Those passphrases don't match. Try again." |
4056 | 393 | msgstr "Avainlauseet eivät vastaa toisiaan. Yritä uudelleen." | 395 | msgstr "Salasanat eivät vastaa toisiaan. Yritä uudelleen." |
4057 | 394 | 396 | ||
4058 | 395 | #: ../plugins/security-privacy//LockSecurity.qml:295 | 397 | #: ../plugins/security-privacy//LockSecurity.qml:295 |
4059 | 396 | msgid "Unset" | 398 | msgid "Unset" |
4060 | @@ -418,7 +420,7 @@ | |||
4061 | 418 | 420 | ||
4062 | 419 | #: ../plugins/security-privacy//LockSecurity.qml:345 | 421 | #: ../plugins/security-privacy//LockSecurity.qml:345 |
4063 | 420 | msgid "4-digit passcode" | 422 | msgid "4-digit passcode" |
4065 | 421 | msgstr "4-numeroinen pääsykoodi" | 423 | msgstr "4-numeroinen suojakoodi" |
4066 | 422 | 424 | ||
4067 | 423 | #: ../plugins/security-privacy//LockSecurity.qml:347 | 425 | #: ../plugins/security-privacy//LockSecurity.qml:347 |
4068 | 424 | msgid "Swipe (no security)… " | 426 | msgid "Swipe (no security)… " |
4069 | @@ -426,19 +428,19 @@ | |||
4070 | 426 | 428 | ||
4071 | 427 | #: ../plugins/security-privacy//LockSecurity.qml:348 | 429 | #: ../plugins/security-privacy//LockSecurity.qml:348 |
4072 | 428 | msgid "4-digit passcode…" | 430 | msgid "4-digit passcode…" |
4074 | 429 | msgstr "Nelinumeroinen pääsykoodi…" | 431 | msgstr "Nelinumeroinen suojakoodi…" |
4075 | 430 | 432 | ||
4076 | 431 | #: ../plugins/security-privacy//LockSecurity.qml:349 | 433 | #: ../plugins/security-privacy//LockSecurity.qml:349 |
4077 | 432 | msgid "Passphrase…" | 434 | msgid "Passphrase…" |
4079 | 433 | msgstr "Avainlause…" | 435 | msgstr "Salasana…" |
4080 | 434 | 436 | ||
4081 | 435 | #: ../plugins/security-privacy//LockSecurity.qml:380 | 437 | #: ../plugins/security-privacy//LockSecurity.qml:380 |
4082 | 436 | msgid "Change passcode…" | 438 | msgid "Change passcode…" |
4084 | 437 | msgstr "Vaihda pääsykoodi…" | 439 | msgstr "Vaihda suojakoodi…" |
4085 | 438 | 440 | ||
4086 | 439 | #: ../plugins/security-privacy//LockSecurity.qml:381 | 441 | #: ../plugins/security-privacy//LockSecurity.qml:381 |
4087 | 440 | msgid "Change passphrase…" | 442 | msgid "Change passphrase…" |
4089 | 441 | msgstr "Vaihda avainlause…" | 443 | msgstr "Vaihda salasana…" |
4090 | 442 | 444 | ||
4091 | 443 | #: ../plugins/security-privacy//Dash.qml:45 | 445 | #: ../plugins/security-privacy//Dash.qml:45 |
4092 | 444 | msgid "Return results from:" | 446 | msgid "Return results from:" |
4093 | @@ -841,7 +843,7 @@ | |||
4094 | 841 | 843 | ||
4095 | 842 | #: ../plugins/about//DevMode.qml:98 | 844 | #: ../plugins/about//DevMode.qml:98 |
4096 | 843 | msgid "You need a passcode or passphrase set to use Developer Mode." | 845 | msgid "You need a passcode or passphrase set to use Developer Mode." |
4098 | 844 | msgstr "Tarvitset kehittäjätilaa varten tunnuskoodin tai salasanan." | 846 | msgstr "Tarvitset kehittäjätilaa varten suojakoodin tai salasanan." |
4099 | 845 | 847 | ||
4100 | 846 | #: ../plugins/about//Storage.qml:87 | 848 | #: ../plugins/about//Storage.qml:87 |
4101 | 847 | msgid "Used by Ubuntu" | 849 | msgid "Used by Ubuntu" |
4102 | @@ -1077,7 +1079,7 @@ | |||
4103 | 1077 | #: ../plugins/battery//PageComponent.qml:290 | 1079 | #: ../plugins/battery//PageComponent.qml:290 |
4104 | 1078 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1080 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
4105 | 1079 | msgid "Display brightness" | 1081 | msgid "Display brightness" |
4107 | 1080 | msgstr "" | 1082 | msgstr "Näytön kirkkaus" |
4108 | 1081 | 1083 | ||
4109 | 1082 | #. TRANSLATORS: %1 is the number of minutes | 1084 | #. TRANSLATORS: %1 is the number of minutes |
4110 | 1083 | #: ../plugins/battery//PageComponent.qml:306 | 1085 | #: ../plugins/battery//PageComponent.qml:306 |
4111 | @@ -1421,7 +1423,7 @@ | |||
4112 | 1421 | 1423 | ||
4113 | 1422 | #: ../plugins/brightness//PageComponent.qml:65 | 1424 | #: ../plugins/brightness//PageComponent.qml:65 |
4114 | 1423 | msgid "Brightens and dims the display to suit the surroundings." | 1425 | msgid "Brightens and dims the display to suit the surroundings." |
4116 | 1424 | msgstr "" | 1426 | msgstr "Näytön kirkkauden säätö ympäristöön sopivaksi" |
4117 | 1425 | 1427 | ||
4118 | 1426 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching | 1428 | #. TRANSLATORS: This is a keyword or name for the sound plugin which is used while searching |
4119 | 1427 | #: ../plugins/sound//PageComponent.qml:38 | 1429 | #: ../plugins/sound//PageComponent.qml:38 |
4120 | @@ -1567,27 +1569,27 @@ | |||
4121 | 1567 | 1569 | ||
4122 | 1568 | #: ../wizard/qml/Pages//15-passwd.qml:37 | 1570 | #: ../wizard/qml/Pages//15-passwd.qml:37 |
4123 | 1569 | msgid "Set lock security" | 1571 | msgid "Set lock security" |
4125 | 1570 | msgstr "" | 1572 | msgstr "Aseta lukitustapa" |
4126 | 1571 | 1573 | ||
4127 | 1572 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1574 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
4128 | 1573 | msgid "Swipe" | 1575 | msgid "Swipe" |
4130 | 1574 | msgstr "" | 1576 | msgstr "Pyyhkäisy" |
4131 | 1575 | 1577 | ||
4132 | 1576 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1578 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
4133 | 1577 | msgid "Those passcodes don't match." | 1579 | msgid "Those passcodes don't match." |
4135 | 1578 | msgstr "" | 1580 | msgstr "Suojakoodit eivät täsmää." |
4136 | 1579 | 1581 | ||
4137 | 1580 | #: ../wizard/qml/Pages//15-passwd.qml:138 | 1582 | #: ../wizard/qml/Pages//15-passwd.qml:138 |
4138 | 1581 | msgid "Those passphrases don't match." | 1583 | msgid "Those passphrases don't match." |
4140 | 1582 | msgstr "" | 1584 | msgstr "Salasanat eivät täsmää." |
4141 | 1583 | 1585 | ||
4142 | 1584 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1586 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
4143 | 1585 | msgid "Passcode must be at least four digits long." | 1587 | msgid "Passcode must be at least four digits long." |
4145 | 1586 | msgstr "" | 1588 | msgstr "Suojakoodin tulee olla vähintään neljä numeroa." |
4146 | 1587 | 1589 | ||
4147 | 1588 | #: ../wizard/qml/Pages//15-passwd.qml:148 | 1590 | #: ../wizard/qml/Pages//15-passwd.qml:148 |
4148 | 1589 | msgid "Passphrase must be at least four characters long." | 1591 | msgid "Passphrase must be at least four characters long." |
4150 | 1590 | msgstr "" | 1592 | msgstr "Salasanan tulee olla vähintään neljä kirjainta." |
4151 | 1591 | 1593 | ||
4152 | 1592 | #: ../wizard/qml/Pages//10-welcome.qml:25 | 1594 | #: ../wizard/qml/Pages//10-welcome.qml:25 |
4153 | 1593 | msgid "Hello" | 1595 | msgid "Hello" |
4154 | @@ -1893,8 +1895,8 @@ | |||
4155 | 1893 | 1895 | ||
4156 | 1894 | #: ../push-helper/software-updates-helper.py:78 | 1896 | #: ../push-helper/software-updates-helper.py:78 |
4157 | 1895 | msgid "There's an updated system image." | 1897 | msgid "There's an updated system image." |
4159 | 1896 | msgstr "" | 1898 | msgstr "Päivitetty järjestelmäversio saatavilla." |
4160 | 1897 | 1899 | ||
4161 | 1898 | #: ../push-helper/software-updates-helper.py:79 | 1900 | #: ../push-helper/software-updates-helper.py:79 |
4162 | 1899 | msgid "Tap to open the system updater." | 1901 | msgid "Tap to open the system updater." |
4164 | 1900 | msgstr "" | 1902 | msgstr "Kosketa avataksesi järjestelmän päivityksen." |
4165 | 1901 | 1903 | ||
4166 | === modified file 'po/fr.po' | |||
4167 | --- po/fr.po 2014-08-22 07:38:19 +0000 | |||
4168 | +++ po/fr.po 2014-08-26 11:38:32 +0000 | |||
4169 | @@ -8,14 +8,15 @@ | |||
4170 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4171 | 9 | "Report-Msgid-Bugs-To: \n" | 9 | "Report-Msgid-Bugs-To: \n" |
4172 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4175 | 11 | "PO-Revision-Date: 2014-08-21 19:05+0000\n" | 11 | "PO-Revision-Date: 2014-08-26 07:42+0000\n" |
4176 | 12 | "Last-Translator: Anne <anneonyme017@gmail.com>\n" | 12 | "Last-Translator: Jean-Baptiste Lallement <jean-" |
4177 | 13 | "baptiste.lallement@ubuntu.com>\n" | ||
4178 | 13 | "Language-Team: LANGUAGE <LL@li.org>\n" | 14 | "Language-Team: LANGUAGE <LL@li.org>\n" |
4179 | 14 | "MIME-Version: 1.0\n" | 15 | "MIME-Version: 1.0\n" |
4180 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 16 | "Content-Type: text/plain; charset=UTF-8\n" |
4181 | 16 | "Content-Transfer-Encoding: 8bit\n" | 17 | "Content-Transfer-Encoding: 8bit\n" |
4182 | 17 | "Plural-Forms: nplurals=2; plural=n > 1;\n" | 18 | "Plural-Forms: nplurals=2; plural=n > 1;\n" |
4184 | 18 | "X-Launchpad-Export-Date: 2014-08-22 07:38+0000\n" | 19 | "X-Launchpad-Export-Date: 2014-08-26 07:45+0000\n" |
4185 | 19 | "X-Generator: Launchpad (build 17163)\n" | 20 | "X-Generator: Launchpad (build 17163)\n" |
4186 | 20 | "Language: \n" | 21 | "Language: \n" |
4187 | 21 | 22 | ||
4188 | @@ -75,6 +76,8 @@ | |||
4189 | 75 | msgid "" | 76 | msgid "" |
4190 | 76 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 77 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
4191 | 77 | msgstr "" | 78 | msgstr "" |
4192 | 79 | "Ajoute un point, ainsi que les parenthèses ou les guillemets manquants, " | ||
4193 | 80 | "lorsque vous appuyez deux fois sur Espace." | ||
4194 | 78 | 81 | ||
4195 | 79 | #: ../plugins/language//PageComponent.qml:185 | 82 | #: ../plugins/language//PageComponent.qml:185 |
4196 | 80 | #: ../plugins/sound//PageComponent.qml:186 | 83 | #: ../plugins/sound//PageComponent.qml:186 |
4197 | @@ -366,7 +369,7 @@ | |||
4198 | 366 | 369 | ||
4199 | 367 | #: ../plugins/security-privacy//LockSecurity.qml:105 | 370 | #: ../plugins/security-privacy//LockSecurity.qml:105 |
4200 | 368 | msgid "Switch to passphrase" | 371 | msgid "Switch to passphrase" |
4202 | 369 | msgstr "Passer en verrouillage par phrase secrète" | 372 | msgstr "Verrouiller par phrase secrète" |
4203 | 370 | 373 | ||
4204 | 371 | #: ../plugins/security-privacy//LockSecurity.qml:114 | 374 | #: ../plugins/security-privacy//LockSecurity.qml:114 |
4205 | 372 | msgid "Existing passcode" | 375 | msgid "Existing passcode" |
4206 | @@ -1587,7 +1590,7 @@ | |||
4207 | 1587 | 1590 | ||
4208 | 1588 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1591 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
4209 | 1589 | msgid "Swipe" | 1592 | msgid "Swipe" |
4211 | 1590 | msgstr "" | 1593 | msgstr "Glissement" |
4212 | 1591 | 1594 | ||
4213 | 1592 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1595 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
4214 | 1593 | msgid "Those passcodes don't match." | 1596 | msgid "Those passcodes don't match." |
4215 | 1594 | 1597 | ||
4216 | === modified file 'po/gl.po' | |||
4217 | --- po/gl.po 2014-08-22 07:38:19 +0000 | |||
4218 | +++ po/gl.po 2014-08-26 11:38:32 +0000 | |||
4219 | @@ -8,14 +8,14 @@ | |||
4220 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4221 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4222 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4224 | 11 | "PO-Revision-Date: 2014-08-21 14:17+0000\n" | 11 | "PO-Revision-Date: 2014-08-23 20:46+0000\n" |
4225 | 12 | "Last-Translator: Marcos Lans <Unknown>\n" | 12 | "Last-Translator: Marcos Lans <Unknown>\n" |
4226 | 13 | "Language-Team: Galician <gl@li.org>\n" | 13 | "Language-Team: Galician <gl@li.org>\n" |
4227 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4228 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4229 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4230 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
4232 | 18 | "X-Launchpad-Export-Date: 2014-08-22 07:38+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-24 06:45+0000\n" |
4233 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
4234 | 20 | "Language: Galician\n" | 20 | "Language: Galician\n" |
4235 | 21 | 21 | ||
4236 | @@ -132,7 +132,7 @@ | |||
4237 | 132 | #: ../plugins/security-privacy//PageComponent.qml:151 | 132 | #: ../plugins/security-privacy//PageComponent.qml:151 |
4238 | 133 | #: ../plugins/security-privacy//Dash.qml:46 | 133 | #: ../plugins/security-privacy//Dash.qml:46 |
4239 | 134 | msgid "Phone only" | 134 | msgid "Phone only" |
4241 | 135 | msgstr "Existente no teléfono" | 135 | msgstr "Só do teléfono" |
4242 | 136 | 136 | ||
4243 | 137 | #: ../plugins/security-privacy//PageComponent.qml:71 | 137 | #: ../plugins/security-privacy//PageComponent.qml:71 |
4244 | 138 | msgid "Security:" | 138 | msgid "Security:" |
4245 | @@ -846,8 +846,8 @@ | |||
4246 | 846 | #: ../plugins/about//DevMode.qml:98 | 846 | #: ../plugins/about//DevMode.qml:98 |
4247 | 847 | msgid "You need a passcode or passphrase set to use Developer Mode." | 847 | msgid "You need a passcode or passphrase set to use Developer Mode." |
4248 | 848 | msgstr "" | 848 | msgstr "" |
4251 | 849 | "Precisa estabelecer unha clave ou frase secreta para usar o Modo " | 849 | "Precisa estabelecer unha clave ou unha frase secreta para usar o Modo " |
4252 | 850 | "Desenvolvedor" | 850 | "Desenvolvedor." |
4253 | 851 | 851 | ||
4254 | 852 | #: ../plugins/about//Storage.qml:87 | 852 | #: ../plugins/about//Storage.qml:87 |
4255 | 853 | msgid "Used by Ubuntu" | 853 | msgid "Used by Ubuntu" |
4256 | @@ -1586,7 +1586,7 @@ | |||
4257 | 1586 | 1586 | ||
4258 | 1587 | #: ../wizard/qml/Pages//15-passwd.qml:138 | 1587 | #: ../wizard/qml/Pages//15-passwd.qml:138 |
4259 | 1588 | msgid "Those passphrases don't match." | 1588 | msgid "Those passphrases don't match." |
4261 | 1589 | msgstr "As frases de paso non coinciden." | 1589 | msgstr "As frases secretas non coinciden." |
4262 | 1590 | 1590 | ||
4263 | 1591 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1591 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
4264 | 1592 | msgid "Passcode must be at least four digits long." | 1592 | msgid "Passcode must be at least four digits long." |
4265 | @@ -1594,7 +1594,7 @@ | |||
4266 | 1594 | 1594 | ||
4267 | 1595 | #: ../wizard/qml/Pages//15-passwd.qml:148 | 1595 | #: ../wizard/qml/Pages//15-passwd.qml:148 |
4268 | 1596 | msgid "Passphrase must be at least four characters long." | 1596 | msgid "Passphrase must be at least four characters long." |
4270 | 1597 | msgstr "A frase de paso debe ter 4 caracteres como mínimo." | 1597 | msgstr "A frase secreta debe ter 4 caracteres como mínimo." |
4271 | 1598 | 1598 | ||
4272 | 1599 | #: ../wizard/qml/Pages//10-welcome.qml:25 | 1599 | #: ../wizard/qml/Pages//10-welcome.qml:25 |
4273 | 1600 | msgid "Hello" | 1600 | msgid "Hello" |
4274 | 1601 | 1601 | ||
4275 | === modified file 'po/he.po' | |||
4276 | --- po/he.po 2014-08-20 06:22:04 +0000 | |||
4277 | +++ po/he.po 2014-08-26 11:38:32 +0000 | |||
4278 | @@ -8,14 +8,14 @@ | |||
4279 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4280 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4281 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4283 | 11 | "PO-Revision-Date: 2014-07-30 13:16+0000\n" | 11 | "PO-Revision-Date: 2014-08-25 11:33+0000\n" |
4284 | 12 | "Last-Translator: Yaron <sh.yaron@gmail.com>\n" | 12 | "Last-Translator: Yaron <sh.yaron@gmail.com>\n" |
4285 | 13 | "Language-Team: Hebrew <he@li.org>\n" | 13 | "Language-Team: Hebrew <he@li.org>\n" |
4286 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4287 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4288 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4289 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
4291 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:19+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-26 07:46+0000\n" |
4292 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
4293 | 20 | 20 | ||
4294 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
4295 | @@ -50,7 +50,7 @@ | |||
4296 | 50 | 50 | ||
4297 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
4298 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
4300 | 53 | msgstr "" | 53 | msgstr "תיקון אוטומטי" |
4301 | 54 | 54 | ||
4302 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
4303 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
4304 | @@ -66,12 +66,12 @@ | |||
4305 | 66 | 66 | ||
4306 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
4307 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
4309 | 69 | msgstr "" | 69 | msgstr "פיסוק אוטומטי" |
4310 | 70 | 70 | ||
4311 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
4312 | 72 | msgid "" | 72 | msgid "" |
4313 | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
4315 | 74 | msgstr "" | 74 | msgstr "הוספת נקודה וכל מרכאות או סוגריים חסרים בעת נגיעה כפולה ברווח." |
4316 | 75 | 75 | ||
4317 | 76 | #: ../plugins/language//PageComponent.qml:185 | 76 | #: ../plugins/language//PageComponent.qml:185 |
4318 | 77 | #: ../plugins/sound//PageComponent.qml:186 | 77 | #: ../plugins/sound//PageComponent.qml:186 |
4319 | @@ -80,7 +80,7 @@ | |||
4320 | 80 | 80 | ||
4321 | 81 | #: ../plugins/language//PageComponent.qml:195 | 81 | #: ../plugins/language//PageComponent.qml:195 |
4322 | 82 | msgid "Keyboard vibration" | 82 | msgid "Keyboard vibration" |
4324 | 83 | msgstr "" | 83 | msgstr "רטט מקלדת" |
4325 | 84 | 84 | ||
4326 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 |
4327 | 86 | msgid "Current layouts:" | 86 | msgid "Current layouts:" |
4328 | @@ -310,7 +310,7 @@ | |||
4329 | 310 | 310 | ||
4330 | 311 | #: ../plugins/security-privacy//AppAccess.qml:35 | 311 | #: ../plugins/security-privacy//AppAccess.qml:35 |
4331 | 312 | msgid "Apps that you have granted and have requested access to:" | 312 | msgid "Apps that you have granted and have requested access to:" |
4333 | 313 | msgstr "" | 313 | msgstr "יישומים שאישרת וביקשו לגשת אל:" |
4334 | 314 | 314 | ||
4335 | 315 | #: ../plugins/security-privacy//AppAccess.qml:41 | 315 | #: ../plugins/security-privacy//AppAccess.qml:41 |
4336 | 316 | #: ../plugins/bluetooth//PageComponent.qml:100 | 316 | #: ../plugins/bluetooth//PageComponent.qml:100 |
4337 | @@ -319,24 +319,24 @@ | |||
4338 | 319 | 319 | ||
4339 | 320 | #: ../plugins/security-privacy//AppAccess.qml:42 | 320 | #: ../plugins/security-privacy//AppAccess.qml:42 |
4340 | 321 | msgid "Apps that have requested access to your camera" | 321 | msgid "Apps that have requested access to your camera" |
4342 | 322 | msgstr "" | 322 | msgstr "יישומים שביקשו לגשת למצלמה שלך" |
4343 | 323 | 323 | ||
4344 | 324 | #: ../plugins/security-privacy//AppAccess.qml:46 | 324 | #: ../plugins/security-privacy//AppAccess.qml:46 |
4345 | 325 | msgid "Mic" | 325 | msgid "Mic" |
4347 | 326 | msgstr "" | 326 | msgstr "מיקרופון" |
4348 | 327 | 327 | ||
4349 | 328 | #: ../plugins/security-privacy//AppAccess.qml:47 | 328 | #: ../plugins/security-privacy//AppAccess.qml:47 |
4350 | 329 | msgid "Apps that have requested access to your mic" | 329 | msgid "Apps that have requested access to your mic" |
4352 | 330 | msgstr "" | 330 | msgstr "יישומים שביקשו לגשת למצלמה שלך" |
4353 | 331 | 331 | ||
4354 | 332 | #: ../plugins/security-privacy//AppAccess.qml:59 | 332 | #: ../plugins/security-privacy//AppAccess.qml:59 |
4355 | 333 | #, qt-format | 333 | #, qt-format |
4356 | 334 | msgid "%1/%2" | 334 | msgid "%1/%2" |
4358 | 335 | msgstr "" | 335 | msgstr "%1/%2" |
4359 | 336 | 336 | ||
4360 | 337 | #: ../plugins/security-privacy//AppAccess.qml:60 | 337 | #: ../plugins/security-privacy//AppAccess.qml:60 |
4361 | 338 | msgid "0" | 338 | msgid "0" |
4363 | 339 | msgstr "" | 339 | msgstr "0" |
4364 | 340 | 340 | ||
4365 | 341 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 341 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
4366 | 342 | msgid "Change passcode" | 342 | msgid "Change passcode" |
4367 | @@ -550,19 +550,19 @@ | |||
4368 | 550 | 550 | ||
4369 | 551 | #: ../plugins/bluetooth//PageComponent.qml:78 | 551 | #: ../plugins/bluetooth//PageComponent.qml:78 |
4370 | 552 | msgid "Connecting…" | 552 | msgid "Connecting…" |
4372 | 553 | msgstr "" | 553 | msgstr "בהתחברות…" |
4373 | 554 | 554 | ||
4374 | 555 | #: ../plugins/bluetooth//PageComponent.qml:79 | 555 | #: ../plugins/bluetooth//PageComponent.qml:79 |
4375 | 556 | msgid "Disconnecting…" | 556 | msgid "Disconnecting…" |
4377 | 557 | msgstr "" | 557 | msgstr "מתבצע ניתוק…" |
4378 | 558 | 558 | ||
4379 | 559 | #: ../plugins/bluetooth//PageComponent.qml:80 | 559 | #: ../plugins/bluetooth//PageComponent.qml:80 |
4380 | 560 | msgid "Disconnected" | 560 | msgid "Disconnected" |
4382 | 561 | msgstr "" | 561 | msgstr "מנותק" |
4383 | 562 | 562 | ||
4384 | 563 | #: ../plugins/bluetooth//PageComponent.qml:81 | 563 | #: ../plugins/bluetooth//PageComponent.qml:81 |
4385 | 564 | msgid "Unknown" | 564 | msgid "Unknown" |
4387 | 565 | msgstr "" | 565 | msgstr "לא ידוע" |
4388 | 566 | 566 | ||
4389 | 567 | #: ../plugins/bluetooth//PageComponent.qml:87 | 567 | #: ../plugins/bluetooth//PageComponent.qml:87 |
4390 | 568 | msgid "Computer" | 568 | msgid "Computer" |
4391 | @@ -665,7 +665,7 @@ | |||
4392 | 665 | 665 | ||
4393 | 666 | #: ../plugins/bluetooth//PageComponent.qml:236 | 666 | #: ../plugins/bluetooth//PageComponent.qml:236 |
4394 | 667 | msgid "Connect a device:" | 667 | msgid "Connect a device:" |
4396 | 668 | msgstr "" | 668 | msgstr "חיבור התקן:" |
4397 | 669 | 669 | ||
4398 | 670 | #: ../plugins/bluetooth//PageComponent.qml:266 | 670 | #: ../plugins/bluetooth//PageComponent.qml:266 |
4399 | 671 | msgid "None detected" | 671 | msgid "None detected" |
4400 | @@ -674,7 +674,7 @@ | |||
4401 | 674 | #: ../plugins/bluetooth//PageComponent.qml:274 | 674 | #: ../plugins/bluetooth//PageComponent.qml:274 |
4402 | 675 | #: ../plugins/bluetooth//PageComponent.qml:360 | 675 | #: ../plugins/bluetooth//PageComponent.qml:360 |
4403 | 676 | msgid "Connect automatically when detected:" | 676 | msgid "Connect automatically when detected:" |
4405 | 677 | msgstr "" | 677 | msgstr "חיבור אוטומטי בעת הזיהוי:" |
4406 | 678 | 678 | ||
4407 | 679 | #: ../plugins/bluetooth//PageComponent.qml:309 | 679 | #: ../plugins/bluetooth//PageComponent.qml:309 |
4408 | 680 | #: ../plugins/wifi//NetworkDetails.qml:43 | 680 | #: ../plugins/wifi//NetworkDetails.qml:43 |
4409 | @@ -687,7 +687,7 @@ | |||
4410 | 687 | 687 | ||
4411 | 688 | #: ../plugins/bluetooth//PageComponent.qml:351 | 688 | #: ../plugins/bluetooth//PageComponent.qml:351 |
4412 | 689 | msgid "Status" | 689 | msgid "Status" |
4414 | 690 | msgstr "" | 690 | msgstr "מצב" |
4415 | 691 | 691 | ||
4416 | 692 | #: ../plugins/bluetooth//PageComponent.qml:355 | 692 | #: ../plugins/bluetooth//PageComponent.qml:355 |
4417 | 693 | msgid "Signal Strength" | 693 | msgid "Signal Strength" |
4418 | @@ -704,7 +704,7 @@ | |||
4419 | 704 | 704 | ||
4420 | 705 | #: ../plugins/bluetooth//PageComponent.qml:392 | 705 | #: ../plugins/bluetooth//PageComponent.qml:392 |
4421 | 706 | msgid "Forget this device" | 706 | msgid "Forget this device" |
4423 | 707 | msgstr "" | 707 | msgstr "התעלמות מהתקן זה" |
4424 | 708 | 708 | ||
4425 | 709 | #: ../plugins/bluetooth//ProvidePinCodeDialog.qml:28 | 709 | #: ../plugins/bluetooth//ProvidePinCodeDialog.qml:28 |
4426 | 710 | #: ../plugins/bluetooth//ConfirmPasskeyDialog.qml:28 | 710 | #: ../plugins/bluetooth//ConfirmPasskeyDialog.qml:28 |
4427 | @@ -977,7 +977,7 @@ | |||
4428 | 977 | 977 | ||
4429 | 978 | #: ../plugins/reset//ResetLauncherHome.qml:59 | 978 | #: ../plugins/reset//ResetLauncherHome.qml:59 |
4430 | 979 | msgid "The phone needs to restart for changes to take effect." | 979 | msgid "The phone needs to restart for changes to take effect." |
4432 | 980 | msgstr "" | 980 | msgstr "על הטלפון להפעיל עצמו מחדש כדי שהשינויים יכנסו לתוקף." |
4433 | 981 | 981 | ||
4434 | 982 | #: ../plugins/reset//EraseEverything.qml:41 | 982 | #: ../plugins/reset//EraseEverything.qml:41 |
4435 | 983 | msgid "" | 983 | msgid "" |
4436 | @@ -987,7 +987,7 @@ | |||
4437 | 987 | 987 | ||
4438 | 988 | #: ../plugins/reset//EraseEverything.qml:44 | 988 | #: ../plugins/reset//EraseEverything.qml:44 |
4439 | 989 | msgid "Erase & Reset Everything" | 989 | msgid "Erase & Reset Everything" |
4441 | 990 | msgstr "" | 990 | msgstr "מחיקה ואיפוס של הכול" |
4442 | 991 | 991 | ||
4443 | 992 | #. TRANSLATORS: This is a keyword or name for the battery plugin which is used while searching | 992 | #. TRANSLATORS: This is a keyword or name for the battery plugin which is used while searching |
4444 | 993 | #: ../plugins/battery//PageComponent.qml:34 | 993 | #: ../plugins/battery//PageComponent.qml:34 |
4445 | @@ -1066,7 +1066,7 @@ | |||
4446 | 1066 | #: ../plugins/battery//PageComponent.qml:290 | 1066 | #: ../plugins/battery//PageComponent.qml:290 |
4447 | 1067 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1067 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
4448 | 1068 | msgid "Display brightness" | 1068 | msgid "Display brightness" |
4450 | 1069 | msgstr "" | 1069 | msgstr "בהירות התצוגה" |
4451 | 1070 | 1070 | ||
4452 | 1071 | #. TRANSLATORS: %1 is the number of minutes | 1071 | #. TRANSLATORS: %1 is the number of minutes |
4453 | 1072 | #: ../plugins/battery//PageComponent.qml:306 | 1072 | #: ../plugins/battery//PageComponent.qml:306 |
4454 | @@ -1192,7 +1192,7 @@ | |||
4455 | 1192 | #: ../plugins/notifications//PageComponent.qml:29 | 1192 | #: ../plugins/notifications//PageComponent.qml:29 |
4456 | 1193 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:96 | 1193 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:96 |
4457 | 1194 | msgid "Notifications" | 1194 | msgid "Notifications" |
4459 | 1195 | msgstr "" | 1195 | msgstr "התרעות" |
4460 | 1196 | 1196 | ||
4461 | 1197 | #: ../plugins/notifications//PageComponent.qml:40 | 1197 | #: ../plugins/notifications//PageComponent.qml:40 |
4462 | 1198 | msgid "" | 1198 | msgid "" |
4463 | @@ -1549,11 +1549,11 @@ | |||
4464 | 1549 | 1549 | ||
4465 | 1550 | #: ../wizard/qml/Pages//15-passwd.qml:37 | 1550 | #: ../wizard/qml/Pages//15-passwd.qml:37 |
4466 | 1551 | msgid "Set lock security" | 1551 | msgid "Set lock security" |
4468 | 1552 | msgstr "" | 1552 | msgstr "הגדרת הגנת נעילה" |
4469 | 1553 | 1553 | ||
4470 | 1554 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1554 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
4471 | 1555 | msgid "Swipe" | 1555 | msgid "Swipe" |
4473 | 1556 | msgstr "" | 1556 | msgstr "החלקה" |
4474 | 1557 | 1557 | ||
4475 | 1558 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1558 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
4476 | 1559 | msgid "Those passcodes don't match." | 1559 | msgid "Those passcodes don't match." |
4477 | @@ -1781,7 +1781,7 @@ | |||
4478 | 1781 | #. TRANSLATORS: This is a keyword or name for the notifications plugin which is used while searching | 1781 | #. TRANSLATORS: This is a keyword or name for the notifications plugin which is used while searching |
4479 | 1782 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:100 | 1782 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:100 |
4480 | 1783 | msgid "notifications" | 1783 | msgid "notifications" |
4482 | 1784 | msgstr "" | 1784 | msgstr "התרעות" |
4483 | 1785 | 1785 | ||
4484 | 1786 | #. TRANSLATORS: This is a keyword or name for the phone plugin which is used while searching | 1786 | #. TRANSLATORS: This is a keyword or name for the phone plugin which is used while searching |
4485 | 1787 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:106 | 1787 | #: /home/elopio/workspace/canonical/ubuntu-system-settings/bugs/fix1357605-translations/builddir/po/settings.js:106 |
4486 | @@ -1875,7 +1875,7 @@ | |||
4487 | 1875 | 1875 | ||
4488 | 1876 | #: ../push-helper/software-updates-helper.py:78 | 1876 | #: ../push-helper/software-updates-helper.py:78 |
4489 | 1877 | msgid "There's an updated system image." | 1877 | msgid "There's an updated system image." |
4491 | 1878 | msgstr "" | 1878 | msgstr "קיימת תמונת מערכת עדכנית יותר." |
4492 | 1879 | 1879 | ||
4493 | 1880 | #: ../push-helper/software-updates-helper.py:79 | 1880 | #: ../push-helper/software-updates-helper.py:79 |
4494 | 1881 | msgid "Tap to open the system updater." | 1881 | msgid "Tap to open the system updater." |
4495 | 1882 | 1882 | ||
4496 | === modified file 'po/hu.po' | |||
4497 | --- po/hu.po 2014-08-22 07:38:19 +0000 | |||
4498 | +++ po/hu.po 2014-08-26 11:38:32 +0000 | |||
4499 | @@ -8,14 +8,14 @@ | |||
4500 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4501 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4502 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4504 | 11 | "PO-Revision-Date: 2014-08-21 19:21+0000\n" | 11 | "PO-Revision-Date: 2014-08-25 08:27+0000\n" |
4505 | 12 | "Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n" | 12 | "Last-Translator: Richard Somlói <ricsipontaz@gmail.com>\n" |
4506 | 13 | "Language-Team: Hungarian <hu@li.org>\n" | 13 | "Language-Team: Hungarian <hu@li.org>\n" |
4507 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4508 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4509 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4510 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
4512 | 18 | "X-Launchpad-Export-Date: 2014-08-22 07:38+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-26 07:46+0000\n" |
4513 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
4514 | 20 | 20 | ||
4515 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
4516 | @@ -41,7 +41,7 @@ | |||
4517 | 41 | 41 | ||
4518 | 42 | #: ../plugins/language//PageComponent.qml:79 | 42 | #: ../plugins/language//PageComponent.qml:79 |
4519 | 43 | msgid "Display language…" | 43 | msgid "Display language…" |
4521 | 44 | msgstr "Megjelenítési nyelv…" | 44 | msgstr "Megjelenítés nyelve" |
4522 | 45 | 45 | ||
4523 | 46 | #: ../plugins/language//PageComponent.qml:93 | 46 | #: ../plugins/language//PageComponent.qml:93 |
4524 | 47 | #: ../plugins/language//KeyboardLayouts.qml:26 | 47 | #: ../plugins/language//KeyboardLayouts.qml:26 |
4525 | @@ -72,7 +72,7 @@ | |||
4526 | 72 | msgid "" | 72 | msgid "" |
4527 | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 73 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
4528 | 74 | msgstr "" | 74 | msgstr "" |
4530 | 75 | "Új mondatot kezd és hozzáad minden hiányzó idézőjelet vagy zárójelet ha " | 75 | "Új mondatot kezd és hozzáad minden hiányzó idézőjelet vagy zárójelet, ha " |
4531 | 76 | "megérinti kétszer a Szóközt." | 76 | "megérinti kétszer a Szóközt." |
4532 | 77 | 77 | ||
4533 | 78 | #: ../plugins/language//PageComponent.qml:185 | 78 | #: ../plugins/language//PageComponent.qml:185 |
4534 | @@ -208,7 +208,7 @@ | |||
4535 | 208 | #: ../plugins/security-privacy//PageComponent.qml:174 | 208 | #: ../plugins/security-privacy//PageComponent.qml:174 |
4536 | 209 | #: ../plugins/security-privacy//AppAccess.qml:28 | 209 | #: ../plugins/security-privacy//AppAccess.qml:28 |
4537 | 210 | msgid "Other app access" | 210 | msgid "Other app access" |
4539 | 211 | msgstr "Egyéb alkalmazás hozzáférés" | 211 | msgstr "Egyéb alkalmazás hozzáférések" |
4540 | 212 | 212 | ||
4541 | 213 | #: ../plugins/security-privacy//PageComponent.qml:179 | 213 | #: ../plugins/security-privacy//PageComponent.qml:179 |
4542 | 214 | msgid "Diagnostics" | 214 | msgid "Diagnostics" |
4543 | @@ -408,7 +408,7 @@ | |||
4544 | 408 | #: ../plugins/background//Preview.qml:104 | 408 | #: ../plugins/background//Preview.qml:104 |
4545 | 409 | #: ../plugins/phone//CallForwarding.qml:148 | 409 | #: ../plugins/phone//CallForwarding.qml:148 |
4546 | 410 | msgid "Set" | 410 | msgid "Set" |
4548 | 411 | msgstr "Beállít" | 411 | msgstr "Beállítás" |
4549 | 412 | 412 | ||
4550 | 413 | #: ../plugins/security-privacy//LockSecurity.qml:340 | 413 | #: ../plugins/security-privacy//LockSecurity.qml:340 |
4551 | 414 | msgid "Unlock the phone using:" | 414 | msgid "Unlock the phone using:" |
4552 | @@ -424,23 +424,23 @@ | |||
4553 | 424 | 424 | ||
4554 | 425 | #: ../plugins/security-privacy//LockSecurity.qml:347 | 425 | #: ../plugins/security-privacy//LockSecurity.qml:347 |
4555 | 426 | msgid "Swipe (no security)… " | 426 | msgid "Swipe (no security)… " |
4557 | 427 | msgstr "Csúsztatás (nincs zárolás)… " | 427 | msgstr "Csúsztatás (nincs zárolás) " |
4558 | 428 | 428 | ||
4559 | 429 | #: ../plugins/security-privacy//LockSecurity.qml:348 | 429 | #: ../plugins/security-privacy//LockSecurity.qml:348 |
4560 | 430 | msgid "4-digit passcode…" | 430 | msgid "4-digit passcode…" |
4562 | 431 | msgstr "4 jegyű jelkód…" | 431 | msgstr "4 jegyű jelkód" |
4563 | 432 | 432 | ||
4564 | 433 | #: ../plugins/security-privacy//LockSecurity.qml:349 | 433 | #: ../plugins/security-privacy//LockSecurity.qml:349 |
4565 | 434 | msgid "Passphrase…" | 434 | msgid "Passphrase…" |
4567 | 435 | msgstr "Jelmondat…" | 435 | msgstr "Jelmondat" |
4568 | 436 | 436 | ||
4569 | 437 | #: ../plugins/security-privacy//LockSecurity.qml:380 | 437 | #: ../plugins/security-privacy//LockSecurity.qml:380 |
4570 | 438 | msgid "Change passcode…" | 438 | msgid "Change passcode…" |
4572 | 439 | msgstr "Jelkód módosítása…" | 439 | msgstr "Jelkód módosítása" |
4573 | 440 | 440 | ||
4574 | 441 | #: ../plugins/security-privacy//LockSecurity.qml:381 | 441 | #: ../plugins/security-privacy//LockSecurity.qml:381 |
4575 | 442 | msgid "Change passphrase…" | 442 | msgid "Change passphrase…" |
4577 | 443 | msgstr "Jelmondat módosítása…" | 443 | msgstr "Jelmondat módosítása" |
4578 | 444 | 444 | ||
4579 | 445 | #: ../plugins/security-privacy//Dash.qml:45 | 445 | #: ../plugins/security-privacy//Dash.qml:45 |
4580 | 446 | msgid "Return results from:" | 446 | msgid "Return results from:" |
4581 | @@ -535,7 +535,7 @@ | |||
4582 | 535 | 535 | ||
4583 | 536 | #: ../plugins/cellular//Hotspot.qml:65 | 536 | #: ../plugins/cellular//Hotspot.qml:65 |
4584 | 537 | msgid "Set up hotspot" | 537 | msgid "Set up hotspot" |
4586 | 538 | msgstr "Hotspot felállítása" | 538 | msgstr "Hotspot beállítása" |
4587 | 539 | 539 | ||
4588 | 540 | #: ../plugins/cellular//HotspotSetup.qml:29 | 540 | #: ../plugins/cellular//HotspotSetup.qml:29 |
4589 | 541 | msgid "Change hotspot setup" | 541 | msgid "Change hotspot setup" |
4590 | @@ -846,7 +846,8 @@ | |||
4591 | 846 | #: ../plugins/about//DevMode.qml:98 | 846 | #: ../plugins/about//DevMode.qml:98 |
4592 | 847 | msgid "You need a passcode or passphrase set to use Developer Mode." | 847 | msgid "You need a passcode or passphrase set to use Developer Mode." |
4593 | 848 | msgstr "" | 848 | msgstr "" |
4595 | 849 | "A Fejlesztői mód használatához egy jelkódra vagy jelmondatra van szüksége." | 849 | "A Fejlesztői mód használatához be kell állítani egy jelkódot vagy " |
4596 | 850 | "jelmondatot." | ||
4597 | 850 | 851 | ||
4598 | 851 | #: ../plugins/about//Storage.qml:87 | 852 | #: ../plugins/about//Storage.qml:87 |
4599 | 852 | msgid "Used by Ubuntu" | 853 | msgid "Used by Ubuntu" |
4600 | @@ -979,11 +980,11 @@ | |||
4601 | 979 | 980 | ||
4602 | 980 | #: ../plugins/reset//PageComponent.qml:87 | 981 | #: ../plugins/reset//PageComponent.qml:87 |
4603 | 981 | msgid "Reset all system settings…" | 982 | msgid "Reset all system settings…" |
4605 | 982 | msgstr "Minden rendszerbeállítás visszaállítása…" | 983 | msgstr "Minden rendszerbeállítás visszaállítása" |
4606 | 983 | 984 | ||
4607 | 984 | #: ../plugins/reset//PageComponent.qml:101 | 985 | #: ../plugins/reset//PageComponent.qml:101 |
4608 | 985 | msgid "Erase & Reset Everything…" | 986 | msgid "Erase & Reset Everything…" |
4610 | 986 | msgstr "Minden visszaállítása és törlése…" | 987 | msgstr "Minden visszaállítása és törlése" |
4611 | 987 | 988 | ||
4612 | 988 | #: ../plugins/reset//ResetLauncherHome.qml:40 | 989 | #: ../plugins/reset//ResetLauncherHome.qml:40 |
4613 | 989 | msgid "The Launcher will be returned to its original contents." | 990 | msgid "The Launcher will be returned to its original contents." |
4614 | @@ -1115,11 +1116,11 @@ | |||
4615 | 1115 | 1116 | ||
4616 | 1116 | #: ../plugins/battery//SleepValues.qml:74 | 1117 | #: ../plugins/battery//SleepValues.qml:74 |
4617 | 1117 | msgid "Lock the phone when it's not in use:" | 1118 | msgid "Lock the phone when it's not in use:" |
4619 | 1118 | msgstr "Telefon zárolása, ha nem aktív:" | 1119 | msgstr "Telefon zárolása, ha nincs használatban:" |
4620 | 1119 | 1120 | ||
4621 | 1120 | #: ../plugins/battery//SleepValues.qml:74 | 1121 | #: ../plugins/battery//SleepValues.qml:74 |
4622 | 1121 | msgid "Put the phone to sleep when it is not in use:" | 1122 | msgid "Put the phone to sleep when it is not in use:" |
4624 | 1122 | msgstr "Altassa el a telefont ha nem aktív:" | 1123 | msgstr "Telefon altatása, ha nincs használatban:" |
4625 | 1123 | 1124 | ||
4626 | 1124 | #: ../plugins/battery//SleepValues.qml:107 | 1125 | #: ../plugins/battery//SleepValues.qml:107 |
4627 | 1125 | msgid "" | 1126 | msgid "" |
4628 | @@ -1140,7 +1141,7 @@ | |||
4629 | 1140 | 1141 | ||
4630 | 1141 | #: ../plugins/wifi//PageComponent.qml:120 ../plugins/wifi//OtherNetwork.qml:27 | 1142 | #: ../plugins/wifi//PageComponent.qml:120 ../plugins/wifi//OtherNetwork.qml:27 |
4631 | 1142 | msgid "Other network" | 1143 | msgid "Other network" |
4633 | 1143 | msgstr "Más hálózat" | 1144 | msgstr "Egyéb hálózat" |
4634 | 1144 | 1145 | ||
4635 | 1145 | #: ../plugins/wifi//NetworkDetails.qml:36 | 1146 | #: ../plugins/wifi//NetworkDetails.qml:36 |
4636 | 1146 | msgid "Network details" | 1147 | msgid "Network details" |
4637 | @@ -1515,7 +1516,7 @@ | |||
4638 | 1515 | 1516 | ||
4639 | 1516 | #: ../wizard/qml/Pages//no-sim.qml:57 | 1517 | #: ../wizard/qml/Pages//no-sim.qml:57 |
4640 | 1517 | msgid "To use the telephone and SMS features a SIM must be installed." | 1518 | msgid "To use the telephone and SMS features a SIM must be installed." |
4642 | 1518 | msgstr "A telefonáláshoz vagy az SMS funkciókhoz szükséges egy SIM kártya." | 1519 | msgstr "A telefonáláshoz és az SMS funkciókhoz szükséges egy SIM kártya." |
4643 | 1519 | 1520 | ||
4644 | 1520 | #: ../wizard/qml/Pages//no-sim.qml:59 | 1521 | #: ../wizard/qml/Pages//no-sim.qml:59 |
4645 | 1521 | msgid "Install a SIM before continuing." | 1522 | msgid "Install a SIM before continuing." |
4646 | @@ -1534,7 +1535,7 @@ | |||
4647 | 1534 | "Your phone is set up to automatically report errors to Canonical. This can " | 1535 | "Your phone is set up to automatically report errors to Canonical. This can " |
4648 | 1535 | "be disabled in system settings." | 1536 | "be disabled in system settings." |
4649 | 1536 | msgstr "" | 1537 | msgstr "" |
4651 | 1537 | "A telefonja automatikusan hibajelentéseket küld a Canonical-nak. Ezt a " | 1538 | "A telefonja automatikusan hibajelentéseket küld a Canonical felé. Ezt a " |
4652 | 1538 | "rendszerbeállításokban kikapcsolhatja." | 1539 | "rendszerbeállításokban kikapcsolhatja." |
4653 | 1539 | 1540 | ||
4654 | 1540 | #: ../wizard/qml/Pages//30-location.qml:41 | 1541 | #: ../wizard/qml/Pages//30-location.qml:41 |
4655 | 1541 | 1542 | ||
4656 | === modified file 'po/pt.po' | |||
4657 | --- po/pt.po 2014-08-20 06:22:04 +0000 | |||
4658 | +++ po/pt.po 2014-08-26 11:38:32 +0000 | |||
4659 | @@ -8,14 +8,14 @@ | |||
4660 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4661 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4662 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4664 | 11 | "PO-Revision-Date: 2014-08-13 00:03+0000\n" | 11 | "PO-Revision-Date: 2014-08-25 16:45+0000\n" |
4665 | 12 | "Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n" | 12 | "Last-Translator: Ivo Xavier <ivofernandes12@gmail.com>\n" |
4666 | 13 | "Language-Team: Portuguese <pt@li.org>\n" | 13 | "Language-Team: Portuguese <pt@li.org>\n" |
4667 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4668 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4669 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4670 | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" | 17 | "Plural-Forms: nplurals=2; plural=n != 1;\n" |
4672 | 18 | "X-Launchpad-Export-Date: 2014-08-20 06:20+0000\n" | 18 | "X-Launchpad-Export-Date: 2014-08-26 07:46+0000\n" |
4673 | 19 | "X-Generator: Launchpad (build 17163)\n" | 19 | "X-Generator: Launchpad (build 17163)\n" |
4674 | 20 | 20 | ||
4675 | 21 | #: ../plugins/language//SpellChecking.qml:27 | 21 | #: ../plugins/language//SpellChecking.qml:27 |
4676 | @@ -50,7 +50,7 @@ | |||
4677 | 50 | 50 | ||
4678 | 51 | #: ../plugins/language//PageComponent.qml:128 | 51 | #: ../plugins/language//PageComponent.qml:128 |
4679 | 52 | msgid "Auto correction" | 52 | msgid "Auto correction" |
4681 | 53 | msgstr "" | 53 | msgstr "Correção automática" |
4682 | 54 | 54 | ||
4683 | 55 | #: ../plugins/language//PageComponent.qml:138 | 55 | #: ../plugins/language//PageComponent.qml:138 |
4684 | 56 | msgid "Word suggestions" | 56 | msgid "Word suggestions" |
4685 | @@ -66,7 +66,7 @@ | |||
4686 | 66 | 66 | ||
4687 | 67 | #: ../plugins/language//PageComponent.qml:168 | 67 | #: ../plugins/language//PageComponent.qml:168 |
4688 | 68 | msgid "Auto punctuation" | 68 | msgid "Auto punctuation" |
4690 | 69 | msgstr "" | 69 | msgstr "Pontuação automática" |
4691 | 70 | 70 | ||
4692 | 71 | #: ../plugins/language//PageComponent.qml:178 | 71 | #: ../plugins/language//PageComponent.qml:178 |
4693 | 72 | msgid "" | 72 | msgid "" |
4694 | @@ -80,7 +80,7 @@ | |||
4695 | 80 | 80 | ||
4696 | 81 | #: ../plugins/language//PageComponent.qml:195 | 81 | #: ../plugins/language//PageComponent.qml:195 |
4697 | 82 | msgid "Keyboard vibration" | 82 | msgid "Keyboard vibration" |
4699 | 83 | msgstr "" | 83 | msgstr "Vibração do teclado" |
4700 | 84 | 84 | ||
4701 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 | 85 | #: ../plugins/language//KeyboardLayouts.qml:39 |
4702 | 86 | msgid "Current layouts:" | 86 | msgid "Current layouts:" |
4703 | @@ -311,7 +311,7 @@ | |||
4704 | 311 | 311 | ||
4705 | 312 | #: ../plugins/security-privacy//AppAccess.qml:35 | 312 | #: ../plugins/security-privacy//AppAccess.qml:35 |
4706 | 313 | msgid "Apps that you have granted and have requested access to:" | 313 | msgid "Apps that you have granted and have requested access to:" |
4708 | 314 | msgstr "" | 314 | msgstr "Aplicações que garantiu acesso a:" |
4709 | 315 | 315 | ||
4710 | 316 | #: ../plugins/security-privacy//AppAccess.qml:41 | 316 | #: ../plugins/security-privacy//AppAccess.qml:41 |
4711 | 317 | #: ../plugins/bluetooth//PageComponent.qml:100 | 317 | #: ../plugins/bluetooth//PageComponent.qml:100 |
4712 | @@ -320,24 +320,24 @@ | |||
4713 | 320 | 320 | ||
4714 | 321 | #: ../plugins/security-privacy//AppAccess.qml:42 | 321 | #: ../plugins/security-privacy//AppAccess.qml:42 |
4715 | 322 | msgid "Apps that have requested access to your camera" | 322 | msgid "Apps that have requested access to your camera" |
4717 | 323 | msgstr "" | 323 | msgstr "Aplicações que requesitaram acesso à câmara" |
4718 | 324 | 324 | ||
4719 | 325 | #: ../plugins/security-privacy//AppAccess.qml:46 | 325 | #: ../plugins/security-privacy//AppAccess.qml:46 |
4720 | 326 | msgid "Mic" | 326 | msgid "Mic" |
4722 | 327 | msgstr "" | 327 | msgstr "Mic" |
4723 | 328 | 328 | ||
4724 | 329 | #: ../plugins/security-privacy//AppAccess.qml:47 | 329 | #: ../plugins/security-privacy//AppAccess.qml:47 |
4725 | 330 | msgid "Apps that have requested access to your mic" | 330 | msgid "Apps that have requested access to your mic" |
4727 | 331 | msgstr "" | 331 | msgstr "Aplicações que requesitaram acesso ao mic" |
4728 | 332 | 332 | ||
4729 | 333 | #: ../plugins/security-privacy//AppAccess.qml:59 | 333 | #: ../plugins/security-privacy//AppAccess.qml:59 |
4730 | 334 | #, qt-format | 334 | #, qt-format |
4731 | 335 | msgid "%1/%2" | 335 | msgid "%1/%2" |
4733 | 336 | msgstr "" | 336 | msgstr "%1/%2" |
4734 | 337 | 337 | ||
4735 | 338 | #: ../plugins/security-privacy//AppAccess.qml:60 | 338 | #: ../plugins/security-privacy//AppAccess.qml:60 |
4736 | 339 | msgid "0" | 339 | msgid "0" |
4738 | 340 | msgstr "" | 340 | msgstr "0" |
4739 | 341 | 341 | ||
4740 | 342 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 342 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
4741 | 343 | msgid "Change passcode" | 343 | msgid "Change passcode" |
4742 | @@ -1079,7 +1079,7 @@ | |||
4743 | 1079 | #: ../plugins/battery//PageComponent.qml:290 | 1079 | #: ../plugins/battery//PageComponent.qml:290 |
4744 | 1080 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1080 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
4745 | 1081 | msgid "Display brightness" | 1081 | msgid "Display brightness" |
4747 | 1082 | msgstr "" | 1082 | msgstr "Brilho do ecrã" |
4748 | 1083 | 1083 | ||
4749 | 1084 | #. TRANSLATORS: %1 is the number of minutes | 1084 | #. TRANSLATORS: %1 is the number of minutes |
4750 | 1085 | #: ../plugins/battery//PageComponent.qml:306 | 1085 | #: ../plugins/battery//PageComponent.qml:306 |
4751 | @@ -1575,7 +1575,7 @@ | |||
4752 | 1575 | 1575 | ||
4753 | 1576 | #: ../wizard/qml/Pages//15-passwd.qml:86 | 1576 | #: ../wizard/qml/Pages//15-passwd.qml:86 |
4754 | 1577 | msgid "Swipe" | 1577 | msgid "Swipe" |
4756 | 1578 | msgstr "" | 1578 | msgstr "Deslize" |
4757 | 1579 | 1579 | ||
4758 | 1580 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1580 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
4759 | 1581 | msgid "Those passcodes don't match." | 1581 | msgid "Those passcodes don't match." |
4760 | @@ -1587,7 +1587,7 @@ | |||
4761 | 1587 | 1587 | ||
4762 | 1588 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1588 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
4763 | 1589 | msgid "Passcode must be at least four digits long." | 1589 | msgid "Passcode must be at least four digits long." |
4765 | 1590 | msgstr "" | 1590 | msgstr "A senha deve ter no mínimo 4 dígitos." |
4766 | 1591 | 1591 | ||
4767 | 1592 | #: ../wizard/qml/Pages//15-passwd.qml:148 | 1592 | #: ../wizard/qml/Pages//15-passwd.qml:148 |
4768 | 1593 | msgid "Passphrase must be at least four characters long." | 1593 | msgid "Passphrase must be at least four characters long." |
4769 | @@ -1897,8 +1897,8 @@ | |||
4770 | 1897 | 1897 | ||
4771 | 1898 | #: ../push-helper/software-updates-helper.py:78 | 1898 | #: ../push-helper/software-updates-helper.py:78 |
4772 | 1899 | msgid "There's an updated system image." | 1899 | msgid "There's an updated system image." |
4774 | 1900 | msgstr "" | 1900 | msgstr "Há uma nova imagem de sistema." |
4775 | 1901 | 1901 | ||
4776 | 1902 | #: ../push-helper/software-updates-helper.py:79 | 1902 | #: ../push-helper/software-updates-helper.py:79 |
4777 | 1903 | msgid "Tap to open the system updater." | 1903 | msgid "Tap to open the system updater." |
4779 | 1904 | msgstr "" | 1904 | msgstr "Carregue para abrir o atualizador de sistema." |
4780 | 1905 | 1905 | ||
4781 | === modified file 'po/ro.po' | |||
4782 | --- po/ro.po 2014-08-20 06:22:04 +0000 | |||
4783 | +++ po/ro.po 2014-08-26 11:38:32 +0000 | |||
4784 | @@ -8,15 +8,15 @@ | |||
4785 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4786 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4787 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4790 | 11 | "PO-Revision-Date: 2014-08-12 14:39+0000\n" | 11 | "PO-Revision-Date: 2014-08-24 16:50+0000\n" |
4791 | 12 | "Last-Translator: Marian Vasile <marianvasile1972@gmail.com>\n" | 12 | "Last-Translator: Meriuță Cornel <meriutacornel@neacornel.eu>\n" |
4792 | 13 | "Language-Team: Romanian <ro@li.org>\n" | 13 | "Language-Team: Romanian <ro@li.org>\n" |
4793 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4794 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4795 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4796 | 17 | "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " | 17 | "Plural-Forms: nplurals=3; plural=(n == 1 ? 0: (((n % 100 > 19) || ((n % 100 " |
4797 | 18 | "== 0) && (n != 0))) ? 2: 1));\n" | 18 | "== 0) && (n != 0))) ? 2: 1));\n" |
4799 | 19 | "X-Launchpad-Export-Date: 2014-08-20 06:20+0000\n" | 19 | "X-Launchpad-Export-Date: 2014-08-25 08:05+0000\n" |
4800 | 20 | "X-Generator: Launchpad (build 17163)\n" | 20 | "X-Generator: Launchpad (build 17163)\n" |
4801 | 21 | 21 | ||
4802 | 22 | #: ../plugins/language//SpellChecking.qml:27 | 22 | #: ../plugins/language//SpellChecking.qml:27 |
4803 | @@ -51,7 +51,7 @@ | |||
4804 | 51 | 51 | ||
4805 | 52 | #: ../plugins/language//PageComponent.qml:128 | 52 | #: ../plugins/language//PageComponent.qml:128 |
4806 | 53 | msgid "Auto correction" | 53 | msgid "Auto correction" |
4808 | 54 | msgstr "" | 54 | msgstr "Corecție automată" |
4809 | 55 | 55 | ||
4810 | 56 | #: ../plugins/language//PageComponent.qml:138 | 56 | #: ../plugins/language//PageComponent.qml:138 |
4811 | 57 | msgid "Word suggestions" | 57 | msgid "Word suggestions" |
4812 | @@ -68,12 +68,14 @@ | |||
4813 | 68 | 68 | ||
4814 | 69 | #: ../plugins/language//PageComponent.qml:168 | 69 | #: ../plugins/language//PageComponent.qml:168 |
4815 | 70 | msgid "Auto punctuation" | 70 | msgid "Auto punctuation" |
4817 | 71 | msgstr "" | 71 | msgstr "Punctuație automată" |
4818 | 72 | 72 | ||
4819 | 73 | #: ../plugins/language//PageComponent.qml:178 | 73 | #: ../plugins/language//PageComponent.qml:178 |
4820 | 74 | msgid "" | 74 | msgid "" |
4821 | 75 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 75 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
4822 | 76 | msgstr "" | 76 | msgstr "" |
4823 | 77 | "Adăugați o perioadă, și orice citate lipsă sau paranteze, atunci când " | ||
4824 | 78 | "atingeți Spațiu de două ori." | ||
4825 | 77 | 79 | ||
4826 | 78 | #: ../plugins/language//PageComponent.qml:185 | 80 | #: ../plugins/language//PageComponent.qml:185 |
4827 | 79 | #: ../plugins/sound//PageComponent.qml:186 | 81 | #: ../plugins/sound//PageComponent.qml:186 |
4828 | @@ -82,7 +84,7 @@ | |||
4829 | 82 | 84 | ||
4830 | 83 | #: ../plugins/language//PageComponent.qml:195 | 85 | #: ../plugins/language//PageComponent.qml:195 |
4831 | 84 | msgid "Keyboard vibration" | 86 | msgid "Keyboard vibration" |
4833 | 85 | msgstr "" | 87 | msgstr "Vibrație tastatură" |
4834 | 86 | 88 | ||
4835 | 87 | #: ../plugins/language//KeyboardLayouts.qml:39 | 89 | #: ../plugins/language//KeyboardLayouts.qml:39 |
4836 | 88 | msgid "Current layouts:" | 90 | msgid "Current layouts:" |
4837 | @@ -326,24 +328,24 @@ | |||
4838 | 326 | 328 | ||
4839 | 327 | #: ../plugins/security-privacy//AppAccess.qml:42 | 329 | #: ../plugins/security-privacy//AppAccess.qml:42 |
4840 | 328 | msgid "Apps that have requested access to your camera" | 330 | msgid "Apps that have requested access to your camera" |
4842 | 329 | msgstr "" | 331 | msgstr "Aplicații care au solicitat accesul la camera dumneavostră" |
4843 | 330 | 332 | ||
4844 | 331 | #: ../plugins/security-privacy//AppAccess.qml:46 | 333 | #: ../plugins/security-privacy//AppAccess.qml:46 |
4845 | 332 | msgid "Mic" | 334 | msgid "Mic" |
4847 | 333 | msgstr "" | 335 | msgstr "Microfon" |
4848 | 334 | 336 | ||
4849 | 335 | #: ../plugins/security-privacy//AppAccess.qml:47 | 337 | #: ../plugins/security-privacy//AppAccess.qml:47 |
4850 | 336 | msgid "Apps that have requested access to your mic" | 338 | msgid "Apps that have requested access to your mic" |
4852 | 337 | msgstr "" | 339 | msgstr "Aplicații care au solicitat accesul la microfonul dumneavoastră" |
4853 | 338 | 340 | ||
4854 | 339 | #: ../plugins/security-privacy//AppAccess.qml:59 | 341 | #: ../plugins/security-privacy//AppAccess.qml:59 |
4855 | 340 | #, qt-format | 342 | #, qt-format |
4856 | 341 | msgid "%1/%2" | 343 | msgid "%1/%2" |
4858 | 342 | msgstr "" | 344 | msgstr "%1/%2" |
4859 | 343 | 345 | ||
4860 | 344 | #: ../plugins/security-privacy//AppAccess.qml:60 | 346 | #: ../plugins/security-privacy//AppAccess.qml:60 |
4861 | 345 | msgid "0" | 347 | msgid "0" |
4863 | 346 | msgstr "" | 348 | msgstr "0" |
4864 | 347 | 349 | ||
4865 | 348 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 350 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
4866 | 349 | msgid "Change passcode" | 351 | msgid "Change passcode" |
4867 | @@ -1090,7 +1092,7 @@ | |||
4868 | 1090 | #: ../plugins/battery//PageComponent.qml:290 | 1092 | #: ../plugins/battery//PageComponent.qml:290 |
4869 | 1091 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1093 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
4870 | 1092 | msgid "Display brightness" | 1094 | msgid "Display brightness" |
4872 | 1093 | msgstr "" | 1095 | msgstr "Luminozitate afișaj" |
4873 | 1094 | 1096 | ||
4874 | 1095 | #. TRANSLATORS: %1 is the number of minutes | 1097 | #. TRANSLATORS: %1 is the number of minutes |
4875 | 1096 | #: ../plugins/battery//PageComponent.qml:306 | 1098 | #: ../plugins/battery//PageComponent.qml:306 |
4876 | @@ -1594,11 +1596,11 @@ | |||
4877 | 1594 | 1596 | ||
4878 | 1595 | #: ../wizard/qml/Pages//15-passwd.qml:136 | 1597 | #: ../wizard/qml/Pages//15-passwd.qml:136 |
4879 | 1596 | msgid "Those passcodes don't match." | 1598 | msgid "Those passcodes don't match." |
4881 | 1597 | msgstr "" | 1599 | msgstr "Aceste coduri de acces nu se potrivesc." |
4882 | 1598 | 1600 | ||
4883 | 1599 | #: ../wizard/qml/Pages//15-passwd.qml:138 | 1601 | #: ../wizard/qml/Pages//15-passwd.qml:138 |
4884 | 1600 | msgid "Those passphrases don't match." | 1602 | msgid "Those passphrases don't match." |
4886 | 1601 | msgstr "" | 1603 | msgstr "Aceste fraze secrete nu se potrivesc." |
4887 | 1602 | 1604 | ||
4888 | 1603 | #: ../wizard/qml/Pages//15-passwd.qml:146 | 1605 | #: ../wizard/qml/Pages//15-passwd.qml:146 |
4889 | 1604 | msgid "Passcode must be at least four digits long." | 1606 | msgid "Passcode must be at least four digits long." |
4890 | @@ -1912,8 +1914,8 @@ | |||
4891 | 1912 | 1914 | ||
4892 | 1913 | #: ../push-helper/software-updates-helper.py:78 | 1915 | #: ../push-helper/software-updates-helper.py:78 |
4893 | 1914 | msgid "There's an updated system image." | 1916 | msgid "There's an updated system image." |
4895 | 1915 | msgstr "" | 1917 | msgstr "Există o imagine de sistem actualizată." |
4896 | 1916 | 1918 | ||
4897 | 1917 | #: ../push-helper/software-updates-helper.py:79 | 1919 | #: ../push-helper/software-updates-helper.py:79 |
4898 | 1918 | msgid "Tap to open the system updater." | 1920 | msgid "Tap to open the system updater." |
4900 | 1919 | msgstr "" | 1921 | msgstr "Atingeți pentru a deschide programul de actualizare a sistemului." |
4901 | 1920 | 1922 | ||
4902 | === modified file 'po/ru.po' | |||
4903 | --- po/ru.po 2014-08-20 06:22:04 +0000 | |||
4904 | +++ po/ru.po 2014-08-26 11:38:32 +0000 | |||
4905 | @@ -8,15 +8,15 @@ | |||
4906 | 8 | "Project-Id-Version: ubuntu-system-settings\n" | 8 | "Project-Id-Version: ubuntu-system-settings\n" |
4907 | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" | 9 | "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" |
4908 | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" | 10 | "POT-Creation-Date: 2014-08-15 19:11-0600\n" |
4911 | 11 | "PO-Revision-Date: 2014-08-12 11:23+0000\n" | 11 | "PO-Revision-Date: 2014-08-26 07:16+0000\n" |
4912 | 12 | "Last-Translator: Ilya Barilo <mail@sourcelocalizer.ru>\n" | 12 | "Last-Translator: Jay ZDLin <Unknown>\n" |
4913 | 13 | "Language-Team: Russian <ru@li.org>\n" | 13 | "Language-Team: Russian <ru@li.org>\n" |
4914 | 14 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
4915 | 15 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
4916 | 16 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
4917 | 17 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " | 17 | "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " |
4918 | 18 | "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" | 18 | "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" |
4920 | 19 | "X-Launchpad-Export-Date: 2014-08-20 06:21+0000\n" | 19 | "X-Launchpad-Export-Date: 2014-08-26 07:46+0000\n" |
4921 | 20 | "X-Generator: Launchpad (build 17163)\n" | 20 | "X-Generator: Launchpad (build 17163)\n" |
4922 | 21 | 21 | ||
4923 | 22 | #: ../plugins/language//SpellChecking.qml:27 | 22 | #: ../plugins/language//SpellChecking.qml:27 |
4924 | @@ -51,7 +51,7 @@ | |||
4925 | 51 | 51 | ||
4926 | 52 | #: ../plugins/language//PageComponent.qml:128 | 52 | #: ../plugins/language//PageComponent.qml:128 |
4927 | 53 | msgid "Auto correction" | 53 | msgid "Auto correction" |
4929 | 54 | msgstr "" | 54 | msgstr "Автоисправление" |
4930 | 55 | 55 | ||
4931 | 56 | #: ../plugins/language//PageComponent.qml:138 | 56 | #: ../plugins/language//PageComponent.qml:138 |
4932 | 57 | msgid "Word suggestions" | 57 | msgid "Word suggestions" |
4933 | @@ -68,12 +68,14 @@ | |||
4934 | 68 | 68 | ||
4935 | 69 | #: ../plugins/language//PageComponent.qml:168 | 69 | #: ../plugins/language//PageComponent.qml:168 |
4936 | 70 | msgid "Auto punctuation" | 70 | msgid "Auto punctuation" |
4938 | 71 | msgstr "" | 71 | msgstr "Пунктуация (автоматически)" |
4939 | 72 | 72 | ||
4940 | 73 | #: ../plugins/language//PageComponent.qml:178 | 73 | #: ../plugins/language//PageComponent.qml:178 |
4941 | 74 | msgid "" | 74 | msgid "" |
4942 | 75 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." | 75 | "Adds a period, and any missing quotes or brackets, when you tap Space twice." |
4943 | 76 | msgstr "" | 76 | msgstr "" |
4944 | 77 | "Добавление точек и отсутствующих кавычек или скобок при двойном нажатии " | ||
4945 | 78 | "пробела." | ||
4946 | 77 | 79 | ||
4947 | 78 | #: ../plugins/language//PageComponent.qml:185 | 80 | #: ../plugins/language//PageComponent.qml:185 |
4948 | 79 | #: ../plugins/sound//PageComponent.qml:186 | 81 | #: ../plugins/sound//PageComponent.qml:186 |
4949 | @@ -82,7 +84,7 @@ | |||
4950 | 82 | 84 | ||
4951 | 83 | #: ../plugins/language//PageComponent.qml:195 | 85 | #: ../plugins/language//PageComponent.qml:195 |
4952 | 84 | msgid "Keyboard vibration" | 86 | msgid "Keyboard vibration" |
4954 | 85 | msgstr "" | 87 | msgstr "Вибрация клавиатуры" |
4955 | 86 | 88 | ||
4956 | 87 | #: ../plugins/language//KeyboardLayouts.qml:39 | 89 | #: ../plugins/language//KeyboardLayouts.qml:39 |
4957 | 88 | msgid "Current layouts:" | 90 | msgid "Current layouts:" |
4958 | @@ -325,24 +327,24 @@ | |||
4959 | 325 | 327 | ||
4960 | 326 | #: ../plugins/security-privacy//AppAccess.qml:42 | 328 | #: ../plugins/security-privacy//AppAccess.qml:42 |
4961 | 327 | msgid "Apps that have requested access to your camera" | 329 | msgid "Apps that have requested access to your camera" |
4963 | 328 | msgstr "" | 330 | msgstr "Приложения, запросившие доступ к камере" |
4964 | 329 | 331 | ||
4965 | 330 | #: ../plugins/security-privacy//AppAccess.qml:46 | 332 | #: ../plugins/security-privacy//AppAccess.qml:46 |
4966 | 331 | msgid "Mic" | 333 | msgid "Mic" |
4968 | 332 | msgstr "" | 334 | msgstr "Микрофон" |
4969 | 333 | 335 | ||
4970 | 334 | #: ../plugins/security-privacy//AppAccess.qml:47 | 336 | #: ../plugins/security-privacy//AppAccess.qml:47 |
4971 | 335 | msgid "Apps that have requested access to your mic" | 337 | msgid "Apps that have requested access to your mic" |
4973 | 336 | msgstr "" | 338 | msgstr "Приложения, запросившие доступ к микрофону" |
4974 | 337 | 339 | ||
4975 | 338 | #: ../plugins/security-privacy//AppAccess.qml:59 | 340 | #: ../plugins/security-privacy//AppAccess.qml:59 |
4976 | 339 | #, qt-format | 341 | #, qt-format |
4977 | 340 | msgid "%1/%2" | 342 | msgid "%1/%2" |
4979 | 341 | msgstr "" | 343 | msgstr "%1/%2" |
4980 | 342 | 344 | ||
4981 | 343 | #: ../plugins/security-privacy//AppAccess.qml:60 | 345 | #: ../plugins/security-privacy//AppAccess.qml:60 |
4982 | 344 | msgid "0" | 346 | msgid "0" |
4984 | 345 | msgstr "" | 347 | msgstr "0" |
4985 | 346 | 348 | ||
4986 | 347 | #: ../plugins/security-privacy//LockSecurity.qml:92 | 349 | #: ../plugins/security-privacy//LockSecurity.qml:92 |
4987 | 348 | msgid "Change passcode" | 350 | msgid "Change passcode" |
4988 | @@ -1083,7 +1085,7 @@ | |||
4989 | 1083 | #: ../plugins/battery//PageComponent.qml:290 | 1085 | #: ../plugins/battery//PageComponent.qml:290 |
4990 | 1084 | #: ../plugins/brightness//BrightnessSlider.qml:51 | 1086 | #: ../plugins/brightness//BrightnessSlider.qml:51 |
4991 | 1085 | msgid "Display brightness" | 1087 | msgid "Display brightness" |
4993 | 1086 | msgstr "" | 1088 | msgstr "Яркость экрана" |
4994 | 1087 | 1089 | ||
4995 | 1088 | #. TRANSLATORS: %1 is the number of minutes | 1090 | #. TRANSLATORS: %1 is the number of minutes |
4996 | 1089 | #: ../plugins/battery//PageComponent.qml:306 | 1091 | #: ../plugins/battery//PageComponent.qml:306 |
4997 | @@ -1429,7 +1431,7 @@ | |||
4998 | 1429 | 1431 | ||
4999 | 1430 | #: ../plugins/brightness//PageComponent.qml:65 | 1432 | #: ../plugins/brightness//PageComponent.qml:65 |
5000 | 1431 | msgid "Brightens and dims the display to suit the surroundings." | 1433 | msgid "Brightens and dims the display to suit the surroundings." |
Do you want to merge https:/ /bugs.launchpad .net/ubuntu/ +source/ ubuntu- system- settings/ +bug/1361297 as well, or do you want to land this even with the broken setting?