Merge lp:~juhapekka-piiroinen/ubuntu-qtcreator-plugins/add-support-for-multiple-devices into lp:ubuntu-qtcreator-plugins

Proposed by Juhapekka Piiroinen
Status: Merged
Approved by: Zoltan Balogh
Approved revision: 193
Merged at revision: 182
Proposed branch: lp:~juhapekka-piiroinen/ubuntu-qtcreator-plugins/add-support-for-multiple-devices
Merge into: lp:ubuntu-qtcreator-plugins
Diff against target: 2566 lines (+1016/-806)
33 files modified
README (+1/-0)
qtcreator/share/qtcreator/ubuntu/menu.json (+33/-37)
qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily_bootstrap (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_hasnetwork (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_network_clone (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_portforward (+7/-6)
qtcreator/share/qtcreator/ubuntu/scripts/device_reboot (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2bootloader (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2recovery (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_rootshell (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_set_persist-sys-usb-config (+3/-1)
qtcreator/share/qtcreator/ubuntu/scripts/device_shutdown (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/device_time_clone (+3/-1)
qtcreator/share/qtcreator/ubuntu/scripts/device_version (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/openssh_connect (+8/-6)
qtcreator/share/qtcreator/ubuntu/scripts/openssh_install (+3/-1)
qtcreator/share/qtcreator/ubuntu/scripts/openssh_publickey (+6/-4)
qtcreator/share/qtcreator/ubuntu/scripts/openssh_remove (+5/-3)
qtcreator/share/qtcreator/ubuntu/scripts/openssh_version (+8/-6)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildanddeploypackage (+10/-8)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildpackage (+11/-9)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_close_all_apps (+3/-2)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_deploy_package (+13/-10)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_developertools (+8/-6)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_restart_appslense (+2/-1)
qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_run_app (+13/-11)
qtcreator/src/plugins/ubuntu/ubuntuconstants.h (+1/-0)
qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.cpp (+56/-32)
qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.h (+3/-1)
qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.ui (+760/-629)
qtcreator/src/plugins/ubuntu/ubuntumenu.cpp (+1/-0)
qtcreator/src/plugins/ubuntu/ubuntuprojectapplicationwizard.cpp (+8/-2)
To merge this branch: bzr merge lp:~juhapekka-piiroinen/ubuntu-qtcreator-plugins/add-support-for-multiple-devices
Reviewer Review Type Date Requested Status
Zoltan Balogh Pending
Review via email: mp+161948@code.launchpad.net

Description of the change

Adding support for multiple devices to Devices -tab.
Use ssh identify file for ssh and scp commands.
Added a fix for ARM platform (chromebook with 13.04), was missing application templates.

To post a comment you must log in.
191. By Juhapekka Piiroinen

Linked to bugs.

192. By Juhapekka Piiroinen

Fixed an issue with openssh_publickey script.
Improved Devices tab to use stackedwidgets.

193. By Juhapekka Piiroinen

added missing lines to pass the device serialnumber

194. By Juhapekka Piiroinen

.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'README'
2--- README 2013-02-15 11:50:19 +0000
3+++ README 2013-05-01 23:52:25 +0000
4@@ -1,3 +1,4 @@
5+
6 Ubuntu Qt Creator plugins
7 ===================================
8
9
10=== modified file 'qtcreator/share/qtcreator/ubuntu/menu.json'
11--- qtcreator/share/qtcreator/ubuntu/menu.json 2013-04-26 08:19:25 +0000
12+++ qtcreator/share/qtcreator/ubuntu/menu.json 2013-05-01 23:52:25 +0000
13@@ -14,7 +14,7 @@
14 "deviceRequired": true,
15 "qmlProjectRequired": true,
16 "actions": [
17- "%SCRIPTDIRECTORY%/qtc_device_run_app %FOLDERNAME% %DISPLAYNAME%.desktop %DISPLAYNAME%.qml /home/phablet/dev_tmp /home/phablet/.local/share/applications"
18+ "%SCRIPTDIRECTORY%/qtc_device_run_app %SERIALNUMBER% %FOLDERNAME% %DISPLAYNAME%.desktop %DISPLAYNAME%.qml /home/phablet/dev_tmp /home/phablet/.local/share/applications"
19 ]
20 },
21 {
22@@ -25,7 +25,7 @@
23 "deviceRequired": true,
24 "qmlProjectRequired": true,
25 "actions": [
26- "%SCRIPTDIRECTORY%/qtc_device_close_all_apps %DISPLAYNAME%"
27+ "%SCRIPTDIRECTORY%/qtc_device_close_all_apps %SERIALNUMBER% %DISPLAYNAME%"
28 ]
29 },
30 {
31@@ -48,7 +48,7 @@
32 "qmlProjectRequired": true,
33 "actions": [
34 "%SCRIPTDIRECTORY%/qtc_project_create_package",
35- "%SCRIPTDIRECTORY%/qtc_device_deploy_package ../%FOLDERNAME%*.deb phablet@127.0.0.1 2222 /home/phablet"
36+ "%SCRIPTDIRECTORY%/qtc_device_deploy_package %SERIALNUMBER% ../%FOLDERNAME%*.deb phablet@127.0.0.1 2222 /home/phablet"
37 ]
38 },
39 {
40@@ -59,7 +59,7 @@
41 "deviceRequired": true,
42 "qmakeProjectRequired": true,
43 "actions": [
44- "%SCRIPTDIRECTORY%/qtc_device_buildpackage %FOLDERNAME%"
45+ "%SCRIPTDIRECTORY%/qtc_device_buildpackage %SERIALNUMBER% %FOLDERNAME%"
46 ]
47 },
48 {
49@@ -70,7 +70,7 @@
50 "deviceRequired": true,
51 "qmakeProjectRequired": true,
52 "actions": [
53- "%SCRIPTDIRECTORY%/qtc_device_buildanddeploypackage %FOLDERNAME%"
54+ "%SCRIPTDIRECTORY%/qtc_device_buildanddeploypackage %SERIALNUMBER% %FOLDERNAME%"
55 ]
56 }
57 ]
58@@ -166,7 +166,7 @@
59 "keysequence": "Ctrl+F10",
60 "deviceRequired": true,
61 "actions": [
62- "x-terminal-emulator -e \"ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null phablet@127.0.0.1 -p2222\""
63+ "x-terminal-emulator -e \"ssh -i ~/.ssh/ubuntudevice_%SERIALNUMBER%_id_rsa -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null phablet@127.0.0.1 -p2222\""
64 ]
65 },
66 {
67@@ -174,7 +174,7 @@
68 "id": "Ubuntu.Menu.Device.CloseAllApps",
69 "deviceRequired": true,
70 "actions": [
71- "%SCRIPTDIRECTORY%/qtc_device_close_all_apps"
72+ "%SCRIPTDIRECTORY%/qtc_device_close_all_apps %SERIALNUMBER%"
73 ]
74 },
75 {
76@@ -187,7 +187,7 @@
77 "keysequence": "Ctrl+F11",
78 "deviceRequired": true,
79 "actions": [
80- "%SCRIPTDIRECTORY%/qtc_device_developertools"
81+ "%SCRIPTDIRECTORY%/qtc_device_developertools %SERIALNUMBER%"
82 ]
83 }
84 ]
85@@ -202,9 +202,9 @@
86 "keysequence": "Ctrl+F8",
87 "deviceRequired": true,
88 "actions": [
89- "adb root",
90- "adb wait-for-device",
91- "adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin reboot"
92+ "adb -s %SERIALNUMBER% root",
93+ "adb -s %SERIALNUMBER% wait-for-device",
94+ "adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin reboot"
95 ]
96 },
97 {
98@@ -213,9 +213,9 @@
99 "keysequence": "Ctrl+F9",
100 "deviceRequired": true,
101 "actions": [
102- "adb root",
103- "adb wait-for-device",
104- "adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin shutdown -h now"
105+ "adb -s %SERIALNUMBER% root",
106+ "adb -s %SERIALNUMBER% wait-for-device",
107+ "adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin shutdown -h now"
108 ]
109 }
110 ]
111@@ -231,9 +231,9 @@
112 "id": "Ubuntu.Menu.Device.AptGet.Update",
113 "deviceRequired": true,
114 "actions": [
115- "adb root",
116- "adb wait-for-device",
117- "adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get update"
118+ "adb -s %SERIALNUMBER% root",
119+ "adb -s %SERIALNUMBER% wait-for-device",
120+ "adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get update"
121 ]
122 },
123 {
124@@ -241,9 +241,9 @@
125 "id": "Ubuntu.Menu.Device.AptGet.Upgrade",
126 "deviceRequired": true,
127 "actions": [
128- "adb root",
129- "adb wait-for-device",
130- "x-terminal-emulator -e \"adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get upgrade\""
131+ "adb -s %SERIALNUMBER% root",
132+ "adb -s %SERIALNUMBER% wait-for-device",
133+ "x-terminal-emulator -e \"adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get upgrade\""
134 ]
135 },
136 {
137@@ -251,8 +251,6 @@
138 "id": "Ubuntu.Menu.Device.AptGet.Install",
139 "deviceRequired": true,
140 "actions": [
141- "adb root",
142- "adb wait-for-device",
143 {
144 "queryDialog": {
145 "title": "Install Package",
146@@ -260,9 +258,9 @@
147 "value": "<packagename>"
148 }
149 },
150- "adb root",
151- "adb wait-for-device",
152- "adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -y install %0"
153+ "adb -s %SERIALNUMBER% root",
154+ "adb -s %SERIALNUMBER% wait-for-device",
155+ "adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -y install %0"
156 ]
157 },
158 {
159@@ -270,8 +268,8 @@
160 "id": "Ubuntu.Menu.Device.AptGet.BuildDep",
161 "deviceRequired": true,
162 "actions": [
163- "adb root",
164- "adb wait-for-device",
165+ "adb -s %SERIALNUMBER% root",
166+ "adb -s %SERIALNUMBER% wait-for-device",
167 {
168 "queryDialog": {
169 "title": "Install Package Build Dependencies",
170@@ -279,9 +277,7 @@
171 "value": "<packagename>"
172 }
173 },
174- "adb root",
175- "adb wait-for-device",
176- "adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -y build-dep %0"
177+ "adb -s %SERIALNUMBER% shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -y build-dep %0"
178 ]
179 }
180 ]
181@@ -295,7 +291,7 @@
182 "id": "Ubuntu.Menu.Device.ADB.shell",
183 "deviceRequired": true,
184 "actions": [
185- "x-terminal-emulator -e \"adb shell\""
186+ "x-terminal-emulator -e \"adb -s %SERIALNUMBER% shell\""
187 ]
188 },
189 {
190@@ -303,7 +299,7 @@
191 "id": "Ubuntu.Menu.Device.ADB.root",
192 "deviceRequired": true,
193 "actions": [
194- "adb root"
195+ "adb -s %SERIALNUMBER% root"
196 ]
197 },
198 {
199@@ -318,7 +314,7 @@
200 "id": "Ubuntu.Menu.Device.ADB.setUsbConfigPtpAdb",
201 "deviceRequired": true,
202 "actions": [
203- "%SCRIPTDIRECTORY%/device_set_persist-sys-usb-config"
204+ "%SCRIPTDIRECTORY%/device_set_persist-sys-usb-config %SERIALNUMBER%"
205 ]
206 },
207 {
208@@ -327,10 +323,10 @@
209 "keysequence": "Ctrl+Shift+P",
210 "deviceRequired": true,
211 "actions": [
212- "adb root",
213- "adb shell /system/bin/screencap -p /sdcard/screenshot.png",
214- "adb pull /sdcard/screenshot.png screenshot.png",
215- "eog screenshot.png"
216+ "adb -s %SERIALNUMBER% root",
217+ "adb -s %SERIALNUMBER% shell /system/bin/screencap -p /sdcard/screenshot.png",
218+ "adb -s %SERIALNUMBER% pull /sdcard/screenshot.png screenshot.png",
219+ "eog -s %SERIALNUMBER% screenshot.png"
220 ]
221 }
222 ]
223
224=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily'
225--- qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily 2013-04-23 11:09:57 +0000
226+++ qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily 2013-05-01 23:52:25 +0000
227@@ -16,6 +16,8 @@
228 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
229 set -e;
230
231-adb root
232-adb wait-for-device
233-x-terminal-emulator -e "bash -ic phablet-flash"
234+SERIALNUMBER=$1
235+
236+adb -s ${SERIALNUMBER} root
237+adb -s ${SERIALNUMBER} wait-for-device
238+x-terminal-emulator -e "bash -ic 'phablet-flash -s ${SERIALNUMBER}'"
239
240=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily_bootstrap'
241--- qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily_bootstrap 2013-04-23 11:09:57 +0000
242+++ qtcreator/share/qtcreator/ubuntu/scripts/device_flashdaily_bootstrap 2013-05-01 23:52:25 +0000
243@@ -16,6 +16,8 @@
244 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
245 set -e;
246
247-adb root
248-adb wait-for-device
249-x-terminal-emulator -e "bash -ic phablet-flash -b"
250+SERIALNUMBER=$1
251+
252+adb -s ${SERIALNUMBER} root
253+adb -s ${SERIALNUMBER} wait-for-device
254+x-terminal-emulator -e "bash -ic 'phablet-flash -b -s ${SERIALNUMBER}'"
255
256=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_hasnetwork'
257--- qtcreator/share/qtcreator/ubuntu/scripts/device_hasnetwork 2013-04-23 11:09:57 +0000
258+++ qtcreator/share/qtcreator/ubuntu/scripts/device_hasnetwork 2013-05-01 23:52:25 +0000
259@@ -16,9 +16,11 @@
260 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
261 set -e;
262
263-adb root &> /dev/null
264-adb wait-for-device
265-NM_STATE=`adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin nmcli nm | head -n+2 | awk '{print $2}'`
266+SERIALNUMBER=$1
267+
268+adb -s ${SERIALNUMBER} root &> /dev/null
269+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
270+NM_STATE=`adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin nmcli nm | head -n+2 | awk '{print $2}'`
271 if [[ $NM_STATE != *disconnected* ]]; then
272 echo "1"
273 else
274
275=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_network_clone'
276--- qtcreator/share/qtcreator/ubuntu/scripts/device_network_clone 2013-04-23 11:09:57 +0000
277+++ qtcreator/share/qtcreator/ubuntu/scripts/device_network_clone 2013-05-01 23:52:25 +0000
278@@ -16,13 +16,15 @@
279 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
280 set -e;
281
282-gksudo phablet-network-setup
283+SERIALNUMBER=$1
284+
285+gksudo phablet-network-setup -s ${SERIALNUMBER}
286
287 SCRIPTPATH=`dirname $0`
288-HASNETWORK=`${SCRIPTPATH}/device_hasnetwork`
289+HASNETWORK=`${SCRIPTPATH}/device_hasnetwork ${SERIALNUMBER}`
290 while [[ ${HASNETWORK} == "0" ]]; do
291 sleep 1
292 echo -n .
293-HASNETWORK=`${SCRIPTPATH}/device_hasnetwork`
294+HASNETWORK=`${SCRIPTPATH}/device_hasnetwork ${SERIALNUMBER}`
295 done
296 echo "The device has connected to a network."
297
298=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_portforward'
299--- qtcreator/share/qtcreator/ubuntu/scripts/device_portforward 2013-04-23 18:00:52 +0000
300+++ qtcreator/share/qtcreator/ubuntu/scripts/device_portforward 2013-05-01 23:52:25 +0000
301@@ -16,8 +16,9 @@
302 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
303 set -e;
304
305-SSHPORT=$1
306-QMLPORT=$2
307+SERIALNUMBER=$1
308+SSHPORT=$2
309+QMLPORT=$3
310
311 if [[ -z $SSHPORT ]]; then
312 SSHPORT=2222
313@@ -27,7 +28,7 @@
314 QMLPORT=3768
315 fi
316
317-adb root &> /dev/null
318-adb wait-for-device &> /dev/null
319-adb forward tcp:$SSHPORT tcp:22
320-adb forward tcp:$QMLPORT tcp:3768
321+adb -s ${SERIALNUMBER} root &> /dev/null
322+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
323+adb -s ${SERIALNUMBER} forward tcp:$SSHPORT tcp:22
324+adb -s ${SERIALNUMBER} forward tcp:$QMLPORT tcp:3768
325
326=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_reboot'
327--- qtcreator/share/qtcreator/ubuntu/scripts/device_reboot 2013-04-23 11:09:57 +0000
328+++ qtcreator/share/qtcreator/ubuntu/scripts/device_reboot 2013-05-01 23:52:25 +0000
329@@ -16,6 +16,8 @@
330 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
331 set -e;
332
333-adb root &> /dev/null
334-adb wait-for-device &> /dev/null
335-adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin reboot
336+SERIALNUMBER=$1
337+
338+adb -s ${SERIALNUMBER} root &> /dev/null
339+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
340+adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin reboot
341
342=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2bootloader'
343--- qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2bootloader 2013-04-23 11:09:57 +0000
344+++ qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2bootloader 2013-05-01 23:52:25 +0000
345@@ -16,6 +16,8 @@
346 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
347 set -e;
348
349-adb root &> /dev/null
350-adb wait-for-device &> /dev/null
351-adb reboot-bootloader
352+SERIALNUMBER=$1
353+
354+adb -s ${SERIALNUMBER} root &> /dev/null
355+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
356+adb -s ${SERIALNUMBER} reboot-bootloader
357
358=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2recovery'
359--- qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2recovery 2013-04-23 11:09:57 +0000
360+++ qtcreator/share/qtcreator/ubuntu/scripts/device_reboot2recovery 2013-05-01 23:52:25 +0000
361@@ -16,6 +16,8 @@
362 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
363 set -e;
364
365-adb root &> /dev/null
366-adb wait-for-device &> /dev/null
367-adb reboot recovery
368+SERIALNUMBER=$1
369+
370+adb -s ${SERIALNUMBER} root &> /dev/null
371+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
372+adb -s ${SERIALNUMBER} reboot recovery
373
374=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_rootshell'
375--- qtcreator/share/qtcreator/ubuntu/scripts/device_rootshell 2013-04-23 11:09:57 +0000
376+++ qtcreator/share/qtcreator/ubuntu/scripts/device_rootshell 2013-05-01 23:52:25 +0000
377@@ -16,6 +16,8 @@
378 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
379 set -e;
380
381-adb root &> /dev/null
382-adb wait-for-device &> /dev/null
383-x-terminal-emulator -e "adb shell ubuntu_chroot shell"
384+SERIALNUMBER=$1
385+
386+adb -s ${SERIALNUMBER} root &> /dev/null
387+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
388+x-terminal-emulator -e "adb -s ${SERIALNUMBER} shell ubuntu_chroot shell"
389
390=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_set_persist-sys-usb-config'
391--- qtcreator/share/qtcreator/ubuntu/scripts/device_set_persist-sys-usb-config 2013-04-26 08:16:54 +0000
392+++ qtcreator/share/qtcreator/ubuntu/scripts/device_set_persist-sys-usb-config 2013-05-01 23:52:25 +0000
393@@ -15,4 +15,6 @@
394 #
395 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
396
397-adb shell setprop persist.sys.usb.config ptp,adb
398+SERIALNUMBER=$1
399+
400+adb -s ${SERIALNUMBER} shell setprop persist.sys.usb.config ptp,adb
401
402=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_shutdown'
403--- qtcreator/share/qtcreator/ubuntu/scripts/device_shutdown 2013-04-23 11:09:57 +0000
404+++ qtcreator/share/qtcreator/ubuntu/scripts/device_shutdown 2013-05-01 23:52:25 +0000
405@@ -16,6 +16,8 @@
406 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
407 set -e;
408
409-adb root &> /dev/null
410-adb wait-for-device &> /dev/null
411-adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin shutdown -h now
412+SERIALNUMBER=$1
413+
414+adb -s ${SERIALNUMBER} root &> /dev/null
415+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
416+adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin shutdown -h now
417
418=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_time_clone'
419--- qtcreator/share/qtcreator/ubuntu/scripts/device_time_clone 2013-04-19 13:55:48 +0000
420+++ qtcreator/share/qtcreator/ubuntu/scripts/device_time_clone 2013-05-01 23:52:25 +0000
421@@ -16,7 +16,9 @@
422 # Author: Zoltán Balogh <zoltan.balogh@canonical.com>
423 set -e
424
425-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
426+SERIALNUMBER=$1
427+
428+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
429 LOCAL_DATE=`date +%Y%m%d`
430 LOCAL_TIME=`date +%T`
431 TIMEZONE=`cat /etc/timezone`
432
433=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/device_version'
434--- qtcreator/share/qtcreator/ubuntu/scripts/device_version 2013-04-23 11:09:57 +0000
435+++ qtcreator/share/qtcreator/ubuntu/scripts/device_version 2013-05-01 23:52:25 +0000
436@@ -16,6 +16,8 @@
437 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
438 set -e;
439
440-adb root &> /dev/null
441-adb wait-for-device &> /dev/null
442-adb shell cat /system/*ubuntu_stamp
443+SERIALNUMBER=$1
444+
445+adb -s ${SERIALNUMBER} root &> /dev/null
446+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
447+adb -s ${SERIALNUMBER} shell cat /system/*ubuntu_stamp
448
449=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/openssh_connect'
450--- qtcreator/share/qtcreator/ubuntu/scripts/openssh_connect 2013-04-23 18:00:52 +0000
451+++ qtcreator/share/qtcreator/ubuntu/scripts/openssh_connect 2013-05-01 23:52:25 +0000
452@@ -16,10 +16,12 @@
453 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
454 set -e;
455
456-PORT=$1
457-USERNAME=$2
458+SERIALNUMBER=$1
459+PORT=$2
460+USERNAME=$3
461 SCRIPTPATH=`dirname $0`
462-
463-${SCRIPTPATH}/device_portforward $PORT 3768
464-
465-x-terminal-emulator -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p $PORT $USERNAME@127.0.0.1 bash -i"
466+SSHIDENTITY=~/.ssh/ubuntudevice_$SERIALNUMBER_id_rsa
467+
468+${SCRIPTPATH}/device_portforward ${SERIALNUMBER} ${PORT} 3768
469+
470+x-terminal-emulator -e "ssh -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p $PORT $USERNAME@127.0.0.1 bash -i" &
471
472=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/openssh_install'
473--- qtcreator/share/qtcreator/ubuntu/scripts/openssh_install 2013-04-23 11:09:57 +0000
474+++ qtcreator/share/qtcreator/ubuntu/scripts/openssh_install 2013-05-01 23:52:25 +0000
475@@ -16,5 +16,7 @@
476 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
477 set -e;
478
479+SERIALNUMBER=$1
480+
481 SCRIPTPATH=`dirname $0`
482-${SCRIPTPATH}/qtc_device_developertools
483\ No newline at end of file
484+${SCRIPTPATH}/qtc_device_developertools ${SERIALNUMBER}
485
486=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/openssh_publickey'
487--- qtcreator/share/qtcreator/ubuntu/scripts/openssh_publickey 2013-04-23 18:00:52 +0000
488+++ qtcreator/share/qtcreator/ubuntu/scripts/openssh_publickey 2013-05-01 23:52:25 +0000
489@@ -16,9 +16,11 @@
490 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
491 set -e;
492
493-KEYPATH=~/.ssh/ubuntudevice_$2_id_rsa
494 USERNAME=$1
495-SHELL="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
496+SERIALNUMBER=$2
497+KEYPATH=~/.ssh/ubuntudevice_${SERIALNUMBER}_id_rsa
498+
499+SHELL="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
500
501 function check_key {
502
503@@ -43,8 +45,8 @@
504 }
505
506 #################
507-adb root &> /dev/null
508-adb wait-for-device > /dev/null
509+adb -s ${SERIALNUMBER} root &> /dev/null
510+adb -s ${SERIALNUMBER} wait-for-device > /dev/null
511
512 if [[ -f $KEYPATH ]]; then
513 check_key
514
515=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/openssh_remove'
516--- qtcreator/share/qtcreator/ubuntu/scripts/openssh_remove 2013-04-23 11:09:57 +0000
517+++ qtcreator/share/qtcreator/ubuntu/scripts/openssh_remove 2013-05-01 23:52:25 +0000
518@@ -16,8 +16,10 @@
519 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
520 set -e;
521
522-adb root &> /dev/null
523-adb wait-for-device &> /dev/null
524-adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get remove openssh-server -y
525+SERIALNUMBER=$1
526+
527+adb -s ${SERIALNUMBER} root &> /dev/null
528+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
529+adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get remove openssh-server -y
530
531
532
533=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/openssh_version'
534--- qtcreator/share/qtcreator/ubuntu/scripts/openssh_version 2013-04-23 11:09:57 +0000
535+++ qtcreator/share/qtcreator/ubuntu/scripts/openssh_version 2013-05-01 23:52:25 +0000
536@@ -14,11 +14,13 @@
537 # along with this program. If not, see <http://www.gnu.org/licenses/>.
538 #
539 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
540-set -e;
541-
542-adb root &> /dev/null
543-adb wait-for-device &> /dev/null
544-adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -f install &> /dev/null
545-adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-cache policy openssh-server|grep Installed|sed "s/Installed\://g"
546+#set -e;
547+
548+SERIALNUMBER=$1
549+
550+adb -s ${SERIALNUMBER} root &> /dev/null
551+adb -s ${SERIALNUMBER} wait-for-device &> /dev/null
552+adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-get -f install &> /dev/null
553+adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin apt-cache policy openssh-server|grep Installed|sed "s/Installed\://g"
554
555
556
557=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildanddeploypackage'
558--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildanddeploypackage 2013-04-25 08:45:39 +0000
559+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildanddeploypackage 2013-05-01 23:52:25 +0000
560@@ -16,10 +16,12 @@
561 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
562 set -e;
563
564-FOLDERNAME=$1
565-TARGET_DEVICE=$2
566-TARGET_DEVICE_PORT=$3
567-TARGET_DEVICE_HOME=$4
568+SERIALNUMBER=$1
569+FOLDERNAME=$2
570+TARGET_DEVICE=$3
571+TARGET_DEVICE_PORT=$4
572+TARGET_DEVICE_HOME=$5
573+SSHIDENTITY=~/.ssh/ubuntudevice_$SERIALNUMBER_id_rsa
574
575 if [[ -z ${TARGET_DEVICE_PORT} ]]; then
576 TARGET_DEVICE_PORT=2222
577@@ -33,13 +35,13 @@
578 TARGET_DEVICE_HOME=/home/phablet/dev_tmp
579 fi
580
581-SCP="scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
582-SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
583-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
584+SCP="scp -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
585+SSH="ssh -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
586+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
587
588 SCRIPTPATH=`dirname $0`
589
590-${SCRIPTPATH}/qtc_device_buildpackage ${FOLDERNAME}
591+${SCRIPTPATH}/qtc_device_buildpackage ${SERIALNUMBER} ${FOLDERNAME}
592
593 FILES=`$SSH "cd ${TARGET_DEVICE_HOME}; ls -1 *.deb"`
594 echo $FILES | xargs -0 -I FILE $ADB gdebi --n ${TARGET_DEVICE_HOME}/FILE
595
596=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildpackage'
597--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildpackage 2013-04-25 11:02:31 +0000
598+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_buildpackage 2013-05-01 23:52:25 +0000
599@@ -38,12 +38,14 @@
600
601 set -e
602
603-FOLDERNAME=$1
604-TARGET_DEVICE=$2
605-TARGET_DEVICE_PORT=$3
606-TARGET_DEVICE_HOME=$4
607+SERIALNUMBER=$1
608+FOLDERNAME=$2
609+TARGET_DEVICE=$3
610+TARGET_DEVICE_PORT=$4
611+TARGET_DEVICE_HOME=$5
612
613-USAGE="$0 [foldername] [target_device] [target_device_port] [target_device_home]"
614+USAGE="$0 [serialnumber] [foldername] [target_device] [target_device_port] [target_device_home]"
615+SSHIDENTITY=~/.ssh/ubuntudevice_$SERIALNUMBER_id_rsa
616
617 if [[ -z $FOLDERNAME ]]; then
618 echo ${USAGE}
619@@ -62,12 +64,12 @@
620 TARGET_DEVICE_HOME=/home/phablet/dev_tmp
621 fi
622
623-SCP="scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
624-SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
625-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin "
626+SCP="scp -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
627+SSH="ssh -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
628+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin "
629 SCRIPTPATH=`dirname $0`
630
631-${SCRIPTPATH}/device_portforward ${TARGET_DEVICE_PORT} 3768
632+${SCRIPTPATH}/device_portforward ${SERIALNUMBER} ${TARGET_DEVICE_PORT} 3768
633
634 pushd ${FOLDERNAME}
635 set +e
636
637=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_close_all_apps'
638--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_close_all_apps 2013-04-25 12:41:29 +0000
639+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_close_all_apps 2013-05-01 23:52:25 +0000
640@@ -17,8 +17,9 @@
641 #set -e;
642 #set -x
643
644-APPLICATION=$1
645-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
646+SERIALNUMBER=$1
647+APPLICATION=$2
648+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
649
650 if [[ -z ${APPLICATION} ]]; then
651 ${ADB} kill -s 9 \`pidof qmlscene\`
652
653=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_deploy_package'
654--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_deploy_package 2013-04-23 18:00:52 +0000
655+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_deploy_package 2013-05-01 23:52:25 +0000
656@@ -16,12 +16,15 @@
657 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
658 set -e;
659
660-PACKAGE=$1
661-TARGET_DEVICE=$2
662-TARGET_DEVICE_PORT=$3
663-TARGET_DEVICE_HOME=$4
664-
665-USAGE="$0 [package] [target_device] [target_device_port] [target_device_home]"
666+SERIALNUMBER=$1
667+PACKAGE=$2
668+TARGET_DEVICE=$3
669+TARGET_DEVICE_PORT=$4
670+TARGET_DEVICE_HOME=$5
671+
672+SSHIDENTITY=~/.ssh/ubuntudevice_$SERIALNUMBER_id_rsa
673+
674+USAGE="$0 [serialnumber] [package] [target_device] [target_device_port] [target_device_home]"
675
676 if [[ -z $PACKAGE || -z $TARGET_DEVICE || -z $TARGET_DEVICE_PORT || -z $TARGET_DEVICE_HOME ]]; then
677 echo ${USAGE}
678@@ -45,11 +48,11 @@
679 PLAIN_PACKAGE=`basename ${PACKAGE}`
680 SCRIPTPATH=`dirname $0`
681
682-${SCRIPTPATH}/device_portforward ${TARGET_DEVICE_PORT} 3768
683+${SCRIPTPATH}/device_portforward ${SERIALNUMBER} ${TARGET_DEVICE_PORT} 3768
684
685-SCP="scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
686-SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
687-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
688+SCP="scp -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
689+SSH="ssh -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
690+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
691
692 # -- actions --
693 $SCP ${PACKAGE} ${TARGET_DEVICE}:${TARGET_DEVICE_HOME}
694
695=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_developertools'
696--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_developertools 2013-04-23 11:09:57 +0000
697+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_developertools 2013-05-01 23:52:25 +0000
698@@ -16,12 +16,14 @@
699 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
700 set -e;
701
702-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
703-
704-adb root
705-adb wait-for-device
706-adb forward tcp:2222 tcp:22
707-adb forward tcp:3768 tcp:3768
708+SERIALNUMBER=$1
709+
710+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
711+
712+adb -s ${SERIALNUMBER} root
713+adb -s ${SERIALNUMBER} wait-for-device
714+adb -s ${SERIALNUMBER} forward tcp:2222 tcp:22
715+adb -s ${SERIALNUMBER} forward tcp:3768 tcp:3768
716 $ADB apt-get -y -f install
717 $ADB apt-get install software-properties-common -y
718 $ADB apt-add-repository ppa:canonical-qt5-edgers/qt5-proper -y
719
720=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_restart_appslense'
721--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_restart_appslense 2013-04-23 11:09:57 +0000
722+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_restart_appslense 2013-05-01 23:52:25 +0000
723@@ -16,7 +16,8 @@
724 # Author: Juhapekka Piiroinen <juhapekka.piiroinen@canonical.com>
725 set -e;
726
727-ADB="adb shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
728+SERIALNUMBER=$1
729+ADB="adb -s ${SERIALNUMBER} shell chroot /data/ubuntu /usr/bin/env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin"
730
731 # -- actions --
732 $ADB kill -s 9 \`pidof unity-applications-daemon\`
733
734=== modified file 'qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_run_app'
735--- qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_run_app 2013-04-23 11:09:57 +0000
736+++ qtcreator/share/qtcreator/ubuntu/scripts/qtc_device_run_app 2013-05-01 23:52:25 +0000
737@@ -17,15 +17,17 @@
738 set -e;
739 #set -x
740
741-FOLDERNAME=$1
742-DESKTOP_FILENAME=$2
743-MAIN_QML=$3
744-TARGET_DEVICE_HOME=$4
745-TARGET_DEVICE_DESKTOP_PATH=$5
746-TARGET_DEVICE=$6
747-TARGET_DEVICE_PORT=$7
748+SERIALNUMBER=$1
749+SSHIDENTITY=~/.ssh/ubuntudevice_$1_id_rsa
750+FOLDERNAME=$2
751+DESKTOP_FILENAME=$3
752+MAIN_QML=$4
753+TARGET_DEVICE_HOME=$5
754+TARGET_DEVICE_DESKTOP_PATH=$6
755+TARGET_DEVICE=$7
756+TARGET_DEVICE_PORT=$8
757
758-USAGE="$0 [foldername] [desktop_filename] [main_qml] [target_device_home] [target_device_desktop_path] [target_device] [target_device_port]"
759+USAGE="$0 [serialnumber] [foldername] [desktop_filename] [main_qml] [target_device_home] [target_device_desktop_path] [target_device] [target_device_port]"
760
761 if [[ -z ${DESKTOP_FILENAME} || -z ${FOLDERNAME} ]]; then
762 echo ${USAGE}
763@@ -52,12 +54,12 @@
764 TARGET_DEVICE_DESKTOP_PATH=${TARGET_DEVICE_HOME}/.local/share/applications
765 fi
766
767-SCP="scp -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
768-SSH="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
769+SCP="scp -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -P${TARGET_DEVICE_PORT}"
770+SSH="ssh -i ${SSHIDENTITY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p${TARGET_DEVICE_PORT} ${TARGET_DEVICE}"
771 SCRIPTPATH=`dirname $0`
772 COMMAND="qmlscene ${TARGET_DEVICE_HOME}/${FOLDERNAME}/${MAIN_QML} --desktop_file_hint=${TARGET_DEVICE_DESKTOP_PATH}/${DESKTOP_FILENAME}"
773
774-${SCRIPTPATH}/device_portforward 2222 3768
775+${SCRIPTPATH}/device_portforward ${SERIALNUMBER} ${TARGET_DEVICE_PORT} 3768
776
777 # make a tar package
778 tar -cjf ${FOLDERNAME}.tar.bz2 ${FOLDERNAME}
779
780=== modified file 'qtcreator/src/plugins/ubuntu/ubuntuconstants.h'
781--- qtcreator/src/plugins/ubuntu/ubuntuconstants.h 2013-04-24 17:24:47 +0000
782+++ qtcreator/src/plugins/ubuntu/ubuntuconstants.h 2013-05-01 23:52:25 +0000
783@@ -86,6 +86,7 @@
784 const char UBUNTU_ACTION_PROJECTFILES[] = "%PROJECTFILES%";
785 const char UBUNTU_ACTION_SCRIPTDIRECTORY[] = "%SCRIPTDIRECTORY%";
786 const char UBUNTU_ACTION_SHAREDIRECTORY[] = "%SHAREDIRECTORY%";
787+const char UBUNTU_ACTION_SERIALNUMBER[] = "%SERIALNUMBER%";
788
789 const char UBUNTU_FILENAME_DISPLAYNAME[] = "displayName";
790
791
792=== modified file 'qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.cpp'
793--- qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.cpp 2013-04-24 16:56:03 +0000
794+++ qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.cpp 2013-05-01 23:52:25 +0000
795@@ -46,11 +46,14 @@
796 ui->pushButtonSshInstall->hide();
797 ui->pushButtonSshRemove->hide();
798 ui->widgetDeviceSerial->hide();
799- ui->pushButtonCancel->hide();
800+ //ui->pushButtonCancel->hide();
801 ui->frameNoDevices->hide();
802 ui->lblLoading->hide();
803 ui->frameNoNetwork->hide();
804
805+ ui->progressBar->setMinimum(0);
806+ ui->progressBar->setMaximum(0);
807+
808 connect(&m_ubuntuProcess,SIGNAL(started(QString)),this,SLOT(onStarted(QString)));
809 connect(&m_ubuntuProcess,SIGNAL(message(QString)),this,SLOT(onMessage(QString)));
810 connect(&m_ubuntuProcess,SIGNAL(finished(QString,int)),this,SLOT(onFinished(QString, int)));
811@@ -64,12 +67,15 @@
812 }
813
814 void UbuntuDevicesWidget::onStarted(QString cmd) {
815+ ui->stackedWidgetConnectedDevice->setCurrentIndex(1);
816+ ui->lblDeviceProcessInfo->setText(QFileInfo(cmd).baseName());
817 ui->widgetDeviceInfo->hide();
818- ui->pushButtonCancel->show();
819+ //ui->pushButtonCancel->show();
820 ui->lblLoading->show();
821 }
822
823 void UbuntuDevicesWidget::onFinished(QString cmd, int code) {
824+ ui->stackedWidgetConnectedDevice->setCurrentIndex(0);
825 if (m_aboutToClose) { return; }
826
827 bool bOk = true;
828@@ -82,10 +88,12 @@
829 QStringList lineData = line.split(QLatin1String("\t"));
830 if (lineData.count() == 2) {
831 QString sSerialNumber = lineData.takeFirst();
832- QString sDeviceName = lineData.takeFirst();
833+ //QString sDeviceName = lineData.takeFirst();
834
835- ui->lblDeviceName->setText(sDeviceName.trimmed());
836- ui->lblSerialnumber->setText(sSerialNumber.trimmed());
837+ //ui->lblDeviceName->setText(sDeviceName.trimmed());
838+ ui->comboBoxSerialNumber->addItem(sSerialNumber.trimmed());
839+ //ui->lblSerialnumber->setText(sSerialNumber.trimmed());
840+ m_deviceSerialNumber = sSerialNumber.trimmed();
841 }
842 }
843
844@@ -93,10 +101,11 @@
845 ui->frameNoDevices->show();
846 ui->widgetDeviceInfo->hide();
847 ui->widgetDeviceSerial->hide();
848-
849+ ui->comboBoxSerialNumber->clear();
850 bOk = false;
851 m_deviceDetected = false;
852
853+ ui->stackedWidgetDeviceConnected->setCurrentIndex(0);
854 endAction(QString::fromLatin1(" * there is no device connected."));
855 }
856 if (lines.count() > 0) {
857@@ -104,7 +113,7 @@
858 ui->widgetDeviceSerial->show();
859
860 m_deviceDetected = true;
861-
862+ ui->stackedWidgetDeviceConnected->setCurrentIndex(1);
863 endAction(QString::fromLatin1(" * found %0 devices.").arg(lines.count()));
864 detectDeviceVersion();
865 }
866@@ -119,13 +128,14 @@
867 ui->widgetSshProperties->show();
868 ui->pushButtonSshInstall->hide();
869 ui->pushButtonSshRemove->show();
870-
871+ ui->stackedWidgetDeveloperMode->setCurrentIndex(1);
872 on_pushButtonPortForward_clicked();
873 } else {
874 endAction(QString::fromLatin1("..openssh-server was not installed."));
875 ui->pushButtonSshInstall->show();
876 ui->pushButtonSshRemove->hide();
877 ui->widgetSshProperties->hide();
878+ ui->stackedWidgetDeveloperMode->setCurrentIndex(0);
879 }
880 } else if (cmd == QString::fromLatin1("%0/openssh_remove").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH)) {
881 endAction(QString::fromLatin1("..openssh-server was removed."));
882@@ -160,42 +170,38 @@
883 if (bOk && bHasNetwork) {
884 ui->widgetDeviceInfo->show();
885 }
886- ui->pushButtonCancel->hide();
887+ // ui->pushButtonCancel->hide();
888 ui->lblLoading->hide();
889 m_reply.clear();
890 }
891
892-void UbuntuDevicesWidget::on_pushButtonCancel_clicked() {
893- m_ubuntuProcess.kill();
894-}
895-
896 void UbuntuDevicesWidget::on_pushButtonReboot_clicked() {
897 beginAction(QString::fromLatin1("Reboot device.."));
898- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
899+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
900 m_ubuntuProcess.processCmdQueue();
901 }
902
903 void UbuntuDevicesWidget::on_pushButtonShutdown_clicked() {
904 beginAction(QString::fromLatin1("Shutdown device.."));
905- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_shutdown").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
906+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_shutdown %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
907 m_ubuntuProcess.processCmdQueue();
908 }
909
910 void UbuntuDevicesWidget::on_pushButtonRebootToBootloader_clicked() {
911 beginAction(QString::fromLatin1("Reboot to bootloader.."));
912- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot2bootloader").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
913+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot2bootloader %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
914 m_ubuntuProcess.processCmdQueue();
915 }
916
917 void UbuntuDevicesWidget::on_pushButtonRebootToRecovery_clicked() {
918 beginAction(QString::fromLatin1("Reboot to recovery.."));
919- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot2recovery").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
920+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_reboot2recovery %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
921 m_ubuntuProcess.processCmdQueue();
922 }
923
924 void UbuntuDevicesWidget::detectOpenSsh() {
925 beginAction(QString::fromLatin1("Detecting if openssh-server is installed.."));
926- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_version").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
927+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_version %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
928 m_ubuntuProcess.processCmdQueue();
929 }
930
931@@ -206,32 +212,46 @@
932 }
933
934 void UbuntuDevicesWidget::on_pushButtonSshConnect_clicked() {
935- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_connect %1 %2").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(ui->spinBoxSshPort->value()).arg(ui->lineEditUserName->text()) << QApplication::applicationDirPath());
936+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_connect %1 %2 %3").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()).arg(ui->spinBoxSshPort->value()).arg(ui->lineEditUserName->text()) << QApplication::applicationDirPath());
937 m_ubuntuProcess.processCmdQueue();
938 }
939
940 void UbuntuDevicesWidget::on_pushButtonCloneNetworkConfig_clicked() {
941 beginAction(QString::fromLatin1("Clone network configuration from host to device.."));
942 ui->frameNoNetwork->hide();
943- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_network_clone").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
944+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_network_clone %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
945 m_ubuntuProcess.processCmdQueue();
946 }
947
948+void UbuntuDevicesWidget::on_comboBoxSerialNumber_currentIndexChanged( const QString & text ) {
949+ m_deviceSerialNumber = text;
950+ if (!text.isEmpty()) {
951+ detectDeviceVersion();
952+ }
953+}
954+
955 void UbuntuDevicesWidget::onError(QString msg) {
956 ui->plainTextEdit->appendHtml(QString::fromLatin1("<p style=\"color: red\">%0</p>").arg(msg));
957 }
958
959 void UbuntuDevicesWidget::on_pushButtonRefresh_clicked() {
960+ m_deviceDetected = false;
961+ m_ubuntuProcess.clear();
962+ m_ubuntuProcess.kill();
963+
964+ ui->plainTextEdit->clear();
965+
966 m_reply.clear();
967
968 ui->frameNoDevices->hide();
969
970 ui->widgetDeviceInfo->hide();
971 ui->lblLoading->show();
972- ui->pushButtonCancel->show();
973+ // ui->pushButtonCancel->show();
974
975- ui->lblDeviceName->setText(QLatin1String(""));
976- ui->lblSerialnumber->setText(QLatin1String(""));
977+ //ui->lblDeviceName->setText(QLatin1String(""));
978+ ui->comboBoxSerialNumber->clear();
979+ // ui->lblSerialnumber->setText(QLatin1String(""));
980
981 detectDevices();
982 }
983@@ -246,37 +266,41 @@
984
985 void UbuntuDevicesWidget::on_pushButtonPortForward_clicked() {
986 beginAction(QString::fromLatin1("Enabling port forward.."));
987- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_portforward %1 %2").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(ui->spinBoxSshPort->value()).arg(ui->spinBoxQmlPort->value()) << QApplication::applicationDirPath());
988+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_portforward %1 %2 %3").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()).arg(ui->spinBoxSshPort->value()).arg(ui->spinBoxQmlPort->value()) << QApplication::applicationDirPath());
989 m_ubuntuProcess.processCmdQueue();
990 }
991
992 void UbuntuDevicesWidget::on_pushButtonSshSetupPublicKey_clicked() {
993 beginAction(QString::fromLatin1("Setting up public key authentication.."));
994- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_publickey %1 %2").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(ui->lineEditUserName->text()).arg(ui->lblSerialnumber->text()) << QApplication::applicationDirPath());
995+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_publickey %1 %2").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(ui->lineEditUserName->text()).arg(m_deviceSerialNumber) << QApplication::applicationDirPath());
996 m_ubuntuProcess.processCmdQueue();
997 }
998
999 void UbuntuDevicesWidget::on_pushButtonUpgradeToDailyImage_clicked() {
1000 beginAction(QString::fromLatin1("Upgrade device to daily.."));
1001- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_flashdaily").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1002+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_flashdaily %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1003 m_ubuntuProcess.processCmdQueue();
1004 }
1005
1006 void UbuntuDevicesWidget::on_pushButtonUpgradeToDailyImageWithBootstrap_clicked() {
1007 beginAction(QString::fromLatin1("Upgrade device to daily with a full bootstrap.."));
1008- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_flashdaily_bootstrap").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1009+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_flashdaily_bootstrap %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1010 m_ubuntuProcess.processCmdQueue();
1011 }
1012
1013 void UbuntuDevicesWidget::detectHasNetworkConnection() {
1014 beginAction(QString::fromLatin1("Check if the device is connected to a network.."));
1015- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_hasnetwork").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1016+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_hasnetwork %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1017 m_ubuntuProcess.processCmdQueue();
1018 }
1019
1020+QString UbuntuDevicesWidget::serialNumber() {
1021+ return ui->comboBoxSerialNumber->currentText();
1022+}
1023+
1024 void UbuntuDevicesWidget::detectDeviceVersion() {
1025 beginAction(QString::fromLatin1("Check device image version.."));
1026- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_version").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1027+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_version %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1028 m_ubuntuProcess.processCmdQueue();
1029 }
1030
1031@@ -289,18 +313,18 @@
1032
1033 void UbuntuDevicesWidget::on_pushButtonSshInstall_clicked() {
1034 beginAction(QString::fromLatin1("Installing openssh-server.."));
1035- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_install").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1036+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_install %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1037 m_ubuntuProcess.processCmdQueue();
1038 }
1039
1040 void UbuntuDevicesWidget::on_pushButtonCloneTimeConfig_clicked() {
1041 beginAction(QString::fromLatin1("Cloning time configuration from host to device.."));
1042- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_time_clone").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1043+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/device_time_clone %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1044 m_ubuntuProcess.processCmdQueue();
1045 }
1046
1047 void UbuntuDevicesWidget::on_pushButtonSshRemove_clicked() {
1048 beginAction(QString::fromLatin1("Removing openssh-server.."));
1049- m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_remove").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH) << QApplication::applicationDirPath());
1050+ m_ubuntuProcess.append(QStringList() << QString::fromLatin1("%0/openssh_remove %1").arg(Ubuntu::Constants::UBUNTU_SCRIPTPATH).arg(serialNumber()) << QApplication::applicationDirPath());
1051 m_ubuntuProcess.processCmdQueue();
1052 }
1053
1054=== modified file 'qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.h'
1055--- qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.h 2013-04-24 16:56:03 +0000
1056+++ qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.h 2013-05-01 23:52:25 +0000
1057@@ -37,6 +37,7 @@
1058 static UbuntuDevicesWidget* instance();
1059
1060 bool deviceDetected() { return m_deviceDetected; }
1061+ QString serialNumber();
1062
1063 signals:
1064 void updateDeviceActions();
1065@@ -60,10 +61,10 @@
1066 void on_pushButtonRebootToRecovery_clicked();
1067 void on_pushButtonUpgradeToDailyImage_clicked();
1068 void on_pushButtonUpgradeToDailyImageWithBootstrap_clicked();
1069- void on_pushButtonCancel_clicked();
1070 void on_pushButtonCloneNetworkConfig_clicked();
1071 void on_pushButtonCloneTimeConfig_clicked();
1072 void on_pushButtonCloneNetworkConfig_2_clicked() { on_pushButtonCloneNetworkConfig_clicked(); }
1073+ void on_comboBoxSerialNumber_currentIndexChanged( const QString & text );
1074
1075 void detectDevices();
1076 void detectOpenSsh();
1077@@ -81,6 +82,7 @@
1078
1079 bool m_aboutToClose;
1080 bool m_deviceDetected;
1081+ QString m_deviceSerialNumber;
1082
1083 static UbuntuDevicesWidget *m_instance;
1084 };
1085
1086=== modified file 'qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.ui'
1087--- qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.ui 2013-04-24 10:17:45 +0000
1088+++ qtcreator/src/plugins/ubuntu/ubuntudeviceswidget.ui 2013-05-01 23:52:25 +0000
1089@@ -106,16 +106,6 @@
1090 </property>
1091 </spacer>
1092 </item>
1093- <item>
1094- <widget class="QPushButton" name="pushButtonRefresh">
1095- <property name="text">
1096- <string>Refresh</string>
1097- </property>
1098- <property name="flat">
1099- <bool>true</bool>
1100- </property>
1101- </widget>
1102- </item>
1103 </layout>
1104 </item>
1105 <item>
1106@@ -147,6 +137,79 @@
1107 </widget>
1108 </item>
1109 <item>
1110+ <widget class="QWidget" name="widgetDeviceSerial" native="true">
1111+ <layout class="QVBoxLayout" name="verticalLayout_4">
1112+ <property name="leftMargin">
1113+ <number>0</number>
1114+ </property>
1115+ <property name="topMargin">
1116+ <number>0</number>
1117+ </property>
1118+ <property name="rightMargin">
1119+ <number>0</number>
1120+ </property>
1121+ <property name="bottomMargin">
1122+ <number>0</number>
1123+ </property>
1124+ <item>
1125+ <layout class="QHBoxLayout" name="horizontalLayout_2">
1126+ <property name="leftMargin">
1127+ <number>20</number>
1128+ </property>
1129+ <property name="rightMargin">
1130+ <number>20</number>
1131+ </property>
1132+ <item>
1133+ <widget class="QLabel" name="label_2">
1134+ <property name="font">
1135+ <font>
1136+ <family>Ubuntu</family>
1137+ </font>
1138+ </property>
1139+ <property name="text">
1140+ <string>Serial number</string>
1141+ </property>
1142+ </widget>
1143+ </item>
1144+ <item>
1145+ <widget class="QComboBox" name="comboBoxSerialNumber">
1146+ <property name="minimumSize">
1147+ <size>
1148+ <width>200</width>
1149+ <height>0</height>
1150+ </size>
1151+ </property>
1152+ </widget>
1153+ </item>
1154+ <item>
1155+ <spacer name="horizontalSpacer_2">
1156+ <property name="orientation">
1157+ <enum>Qt::Horizontal</enum>
1158+ </property>
1159+ <property name="sizeHint" stdset="0">
1160+ <size>
1161+ <width>40</width>
1162+ <height>20</height>
1163+ </size>
1164+ </property>
1165+ </spacer>
1166+ </item>
1167+ <item>
1168+ <widget class="QPushButton" name="pushButtonRefresh">
1169+ <property name="text">
1170+ <string>Redetect Devices</string>
1171+ </property>
1172+ <property name="flat">
1173+ <bool>false</bool>
1174+ </property>
1175+ </widget>
1176+ </item>
1177+ </layout>
1178+ </item>
1179+ </layout>
1180+ </widget>
1181+ </item>
1182+ <item>
1183 <widget class="QScrollArea" name="scrollArea">
1184 <property name="frameShape">
1185 <enum>QFrame::NoFrame</enum>
1186@@ -159,8 +222,8 @@
1187 <rect>
1188 <x>0</x>
1189 <y>0</y>
1190- <width>1118</width>
1191- <height>693</height>
1192+ <width>1134</width>
1193+ <height>637</height>
1194 </rect>
1195 </property>
1196 <layout class="QVBoxLayout" name="verticalLayout_14">
1197@@ -200,644 +263,712 @@
1198 </property>
1199 <widget class="QWidget" name="tab">
1200 <attribute name="title">
1201- <string>Properties</string>
1202+ <string>Device Actions</string>
1203 </attribute>
1204 <layout class="QHBoxLayout" name="horizontalLayout_3">
1205 <property name="bottomMargin">
1206 <number>0</number>
1207 </property>
1208 <item>
1209- <spacer name="horizontalSpacer_4">
1210- <property name="orientation">
1211- <enum>Qt::Horizontal</enum>
1212- </property>
1213- <property name="sizeType">
1214- <enum>QSizePolicy::MinimumExpanding</enum>
1215- </property>
1216- <property name="sizeHint" stdset="0">
1217- <size>
1218- <width>40</width>
1219- <height>20</height>
1220- </size>
1221- </property>
1222- </spacer>
1223- </item>
1224- <item>
1225- <layout class="QVBoxLayout" name="verticalLayout_11">
1226- <item>
1227- <spacer name="verticalSpacer_6">
1228- <property name="orientation">
1229- <enum>Qt::Vertical</enum>
1230- </property>
1231- <property name="sizeHint" stdset="0">
1232- <size>
1233- <width>20</width>
1234- <height>40</height>
1235- </size>
1236- </property>
1237- </spacer>
1238- </item>
1239- <item>
1240- <widget class="QFrame" name="frameNoDevices">
1241- <property name="frameShape">
1242- <enum>QFrame::NoFrame</enum>
1243- </property>
1244- <property name="frameShadow">
1245- <enum>QFrame::Raised</enum>
1246- </property>
1247- <layout class="QVBoxLayout" name="verticalLayout_13">
1248- <item>
1249- <widget class="QLabel" name="labelNoDevices">
1250- <property name="font">
1251- <font>
1252- <family>Ubuntu</family>
1253- <pointsize>12</pointsize>
1254- <weight>50</weight>
1255- <italic>false</italic>
1256- <bold>false</bold>
1257- </font>
1258- </property>
1259- <property name="text">
1260- <string>No devices detected.</string>
1261- </property>
1262- <property name="alignment">
1263- <set>Qt::AlignCenter</set>
1264- </property>
1265- </widget>
1266- </item>
1267- <item>
1268- <widget class="QPushButton" name="pushButtonRefresh_2">
1269- <property name="text">
1270- <string>Redetect devices</string>
1271- </property>
1272- </widget>
1273- </item>
1274- </layout>
1275- </widget>
1276- </item>
1277- <item>
1278- <widget class="QFrame" name="frameNoNetwork">
1279- <property name="frameShape">
1280- <enum>QFrame::NoFrame</enum>
1281- </property>
1282- <property name="frameShadow">
1283- <enum>QFrame::Raised</enum>
1284- </property>
1285- <layout class="QVBoxLayout" name="verticalLayout_12">
1286- <item>
1287- <widget class="QLabel" name="lblNoNetwork">
1288- <property name="font">
1289- <font>
1290- <family>Ubuntu</family>
1291- <pointsize>12</pointsize>
1292- </font>
1293- </property>
1294- <property name="text">
1295- <string>Device has no network connection.
1296+ <widget class="QStackedWidget" name="stackedWidgetDeviceConnected">
1297+ <property name="currentIndex">
1298+ <number>1</number>
1299+ </property>
1300+ <widget class="QWidget" name="page_3">
1301+ <layout class="QHBoxLayout" name="horizontalLayout_7">
1302+ <item>
1303+ <spacer name="horizontalSpacer_3">
1304+ <property name="orientation">
1305+ <enum>Qt::Horizontal</enum>
1306+ </property>
1307+ <property name="sizeType">
1308+ <enum>QSizePolicy::MinimumExpanding</enum>
1309+ </property>
1310+ <property name="sizeHint" stdset="0">
1311+ <size>
1312+ <width>40</width>
1313+ <height>20</height>
1314+ </size>
1315+ </property>
1316+ </spacer>
1317+ </item>
1318+ <item>
1319+ <layout class="QVBoxLayout" name="verticalLayout_11">
1320+ <item>
1321+ <spacer name="verticalSpacer_6">
1322+ <property name="orientation">
1323+ <enum>Qt::Vertical</enum>
1324+ </property>
1325+ <property name="sizeHint" stdset="0">
1326+ <size>
1327+ <width>20</width>
1328+ <height>40</height>
1329+ </size>
1330+ </property>
1331+ </spacer>
1332+ </item>
1333+ <item>
1334+ <widget class="QFrame" name="frameNoDevices">
1335+ <property name="frameShape">
1336+ <enum>QFrame::NoFrame</enum>
1337+ </property>
1338+ <property name="frameShadow">
1339+ <enum>QFrame::Raised</enum>
1340+ </property>
1341+ <layout class="QVBoxLayout" name="verticalLayout_13">
1342+ <item>
1343+ <widget class="QLabel" name="labelNoDevices">
1344+ <property name="font">
1345+ <font>
1346+ <family>Ubuntu</family>
1347+ <pointsize>12</pointsize>
1348+ <weight>50</weight>
1349+ <italic>false</italic>
1350+ <bold>false</bold>
1351+ </font>
1352+ </property>
1353+ <property name="text">
1354+ <string>No devices detected.</string>
1355+ </property>
1356+ <property name="alignment">
1357+ <set>Qt::AlignCenter</set>
1358+ </property>
1359+ </widget>
1360+ </item>
1361+ <item>
1362+ <widget class="QPushButton" name="pushButtonRefresh_2">
1363+ <property name="text">
1364+ <string>Redetect devices</string>
1365+ </property>
1366+ </widget>
1367+ </item>
1368+ </layout>
1369+ </widget>
1370+ </item>
1371+ <item>
1372+ <widget class="QFrame" name="frameNoNetwork">
1373+ <property name="frameShape">
1374+ <enum>QFrame::NoFrame</enum>
1375+ </property>
1376+ <property name="frameShadow">
1377+ <enum>QFrame::Raised</enum>
1378+ </property>
1379+ <layout class="QVBoxLayout" name="verticalLayout_12">
1380+ <item>
1381+ <widget class="QLabel" name="lblNoNetwork">
1382+ <property name="font">
1383+ <font>
1384+ <family>Ubuntu</family>
1385+ <pointsize>12</pointsize>
1386+ </font>
1387+ </property>
1388+ <property name="text">
1389+ <string>Device has no network connection.
1390 Connect to a wlan or to a wwan and try again.</string>
1391- </property>
1392- <property name="alignment">
1393- <set>Qt::AlignCenter</set>
1394- </property>
1395- </widget>
1396- </item>
1397- <item>
1398- <widget class="QPushButton" name="pushButtonCloneNetworkConfig">
1399- <property name="text">
1400- <string>Clone network config from host to device</string>
1401- </property>
1402- </widget>
1403- </item>
1404- </layout>
1405- </widget>
1406- </item>
1407- <item>
1408- <widget class="QLabel" name="lblLoading">
1409- <property name="text">
1410- <string>please wait..</string>
1411- </property>
1412- <property name="alignment">
1413- <set>Qt::AlignCenter</set>
1414- </property>
1415- </widget>
1416- </item>
1417- <item>
1418- <widget class="QPushButton" name="pushButtonCancel">
1419- <property name="font">
1420- <font>
1421- <family>Ubuntu</family>
1422- <pointsize>12</pointsize>
1423- </font>
1424- </property>
1425- <property name="styleSheet">
1426- <string notr="true">padding: 10; color: #333</string>
1427- </property>
1428- <property name="text">
1429- <string>Cancel</string>
1430- </property>
1431- </widget>
1432- </item>
1433- <item>
1434- <spacer name="verticalSpacer_5">
1435- <property name="orientation">
1436- <enum>Qt::Vertical</enum>
1437- </property>
1438- <property name="sizeHint" stdset="0">
1439- <size>
1440- <width>20</width>
1441- <height>40</height>
1442- </size>
1443- </property>
1444- </spacer>
1445- </item>
1446- </layout>
1447- </item>
1448- <item>
1449- <widget class="QWidget" name="widgetDeviceInfo" native="true">
1450- <property name="sizePolicy">
1451- <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
1452- <horstretch>0</horstretch>
1453- <verstretch>0</verstretch>
1454- </sizepolicy>
1455- </property>
1456- <layout class="QVBoxLayout" name="verticalLayout_6">
1457- <property name="topMargin">
1458- <number>0</number>
1459- </property>
1460- <property name="bottomMargin">
1461- <number>9</number>
1462- </property>
1463- <item>
1464- <widget class="QFrame" name="frame">
1465- <property name="frameShape">
1466- <enum>QFrame::NoFrame</enum>
1467- </property>
1468- <property name="frameShadow">
1469- <enum>QFrame::Raised</enum>
1470- </property>
1471- <layout class="QVBoxLayout" name="verticalLayout_15">
1472- <property name="leftMargin">
1473- <number>0</number>
1474- </property>
1475- <property name="topMargin">
1476- <number>0</number>
1477- </property>
1478- <property name="rightMargin">
1479- <number>0</number>
1480- </property>
1481- <property name="bottomMargin">
1482- <number>0</number>
1483- </property>
1484+ </property>
1485+ <property name="alignment">
1486+ <set>Qt::AlignCenter</set>
1487+ </property>
1488+ </widget>
1489+ </item>
1490+ <item>
1491+ <widget class="QPushButton" name="pushButtonCloneNetworkConfig">
1492+ <property name="text">
1493+ <string>Clone network config from host to device</string>
1494+ </property>
1495+ </widget>
1496+ </item>
1497+ </layout>
1498+ </widget>
1499+ </item>
1500 <item>
1501- <widget class="QLabel" name="label_7">
1502+ <widget class="QLabel" name="lblLoading">
1503 <property name="text">
1504- <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;You will find Ubuntu UI templates from &lt;span style=&quot; font-weight:600;&quot;&gt;File &amp;gt; New File or Project&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;After which you can deploy your app to the device using &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;CTRL+F12&lt;/span&gt; or&lt;br/&gt;by browsing &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Build &amp;gt; Ubuntu &amp;gt; Run in Ubuntu Device.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;You can also find screenshot feature from &lt;b&gt;&lt;i&gt;Tools &amp;gt; Ubuntu&lt;/i&gt;&lt;/b&gt; and&lt;br /&gt;links from &lt;b&gt;&lt;i&gt;Help &amp;gt; Ubuntu&lt;/i&gt;&lt;/b&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1505+ <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt; font-weight:600;&quot;&gt;Please wait&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;See more details by changing to &lt;span style=&quot; font-style:italic;&quot;&gt;Log&lt;/span&gt; tab below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1506+ </property>
1507+ <property name="alignment">
1508+ <set>Qt::AlignCenter</set>
1509 </property>
1510 </widget>
1511 </item>
1512+ <item>
1513+ <spacer name="verticalSpacer_5">
1514+ <property name="orientation">
1515+ <enum>Qt::Vertical</enum>
1516+ </property>
1517+ <property name="sizeHint" stdset="0">
1518+ <size>
1519+ <width>20</width>
1520+ <height>40</height>
1521+ </size>
1522+ </property>
1523+ </spacer>
1524+ </item>
1525 </layout>
1526- </widget>
1527- </item>
1528- <item>
1529- <spacer name="verticalSpacer_2">
1530- <property name="orientation">
1531- <enum>Qt::Vertical</enum>
1532- </property>
1533- <property name="sizeHint" stdset="0">
1534- <size>
1535- <width>20</width>
1536- <height>40</height>
1537- </size>
1538- </property>
1539- </spacer>
1540- </item>
1541- <item>
1542- <widget class="QWidget" name="widgetSshProperties" native="true">
1543- <layout class="QGridLayout" name="gridLayout">
1544- <property name="topMargin">
1545- <number>0</number>
1546- </property>
1547- <property name="bottomMargin">
1548- <number>0</number>
1549- </property>
1550- <item row="1" column="0">
1551- <widget class="QPushButton" name="pushButtonPortForward">
1552- <property name="styleSheet">
1553- <string notr="true">color: #333</string>
1554- </property>
1555- <property name="text">
1556- <string>Enable port forward from device to localhost</string>
1557- </property>
1558- </widget>
1559- </item>
1560- <item row="2" column="0">
1561- <widget class="QPushButton" name="pushButtonSshSetupPublicKey">
1562- <property name="enabled">
1563- <bool>true</bool>
1564- </property>
1565- <property name="styleSheet">
1566- <string notr="true">color: #333</string>
1567- </property>
1568- <property name="text">
1569- <string>Setup public key authentication</string>
1570- </property>
1571- </widget>
1572- </item>
1573- <item row="0" column="0">
1574- <widget class="QGroupBox" name="groupBox_3">
1575- <property name="title">
1576- <string/>
1577- </property>
1578- <layout class="QHBoxLayout" name="horizontalLayout_5">
1579- <property name="topMargin">
1580- <number>0</number>
1581- </property>
1582- <property name="bottomMargin">
1583- <number>0</number>
1584- </property>
1585- <item>
1586- <widget class="QLabel" name="label_3">
1587- <property name="text">
1588- <string>Username</string>
1589- </property>
1590- </widget>
1591- </item>
1592- <item>
1593- <widget class="QLineEdit" name="lineEditUserName">
1594- <property name="enabled">
1595- <bool>false</bool>
1596- </property>
1597- <property name="text">
1598- <string>phablet</string>
1599- </property>
1600- </widget>
1601- </item>
1602- <item>
1603- <widget class="QLabel" name="label_6">
1604- <property name="text">
1605- <string>Ssh Port</string>
1606- </property>
1607- </widget>
1608- </item>
1609- <item>
1610- <widget class="QSpinBox" name="spinBoxSshPort">
1611- <property name="enabled">
1612- <bool>false</bool>
1613- </property>
1614- <property name="minimum">
1615- <number>1300</number>
1616- </property>
1617- <property name="maximum">
1618- <number>32000</number>
1619- </property>
1620- <property name="value">
1621- <number>2222</number>
1622- </property>
1623- </widget>
1624- </item>
1625- <item>
1626- <widget class="QLabel" name="label_5">
1627- <property name="text">
1628- <string>QML Port</string>
1629- </property>
1630- </widget>
1631- </item>
1632- <item>
1633- <widget class="QSpinBox" name="spinBoxQmlPort">
1634- <property name="enabled">
1635- <bool>false</bool>
1636- </property>
1637- <property name="minimum">
1638- <number>1300</number>
1639- </property>
1640- <property name="maximum">
1641- <number>32000</number>
1642- </property>
1643- <property name="value">
1644- <number>3768</number>
1645- </property>
1646- </widget>
1647- </item>
1648- </layout>
1649- </widget>
1650- </item>
1651- <item row="5" column="0">
1652- <widget class="QGroupBox" name="groupBox">
1653- <property name="title">
1654- <string>Device Mode</string>
1655- </property>
1656- <layout class="QVBoxLayout" name="verticalLayout_7">
1657- <property name="bottomMargin">
1658- <number>0</number>
1659- </property>
1660- <item>
1661- <layout class="QHBoxLayout" name="horizontalLayout_4">
1662- <item>
1663- <widget class="QPushButton" name="pushButtonReboot">
1664- <property name="sizePolicy">
1665- <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
1666- <horstretch>0</horstretch>
1667- <verstretch>0</verstretch>
1668- </sizepolicy>
1669- </property>
1670- <property name="styleSheet">
1671- <string notr="true">color: #333</string>
1672- </property>
1673- <property name="text">
1674- <string>Reboot</string>
1675- </property>
1676- </widget>
1677- </item>
1678- <item>
1679- <widget class="QPushButton" name="pushButtonShutdown">
1680- <property name="sizePolicy">
1681- <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
1682- <horstretch>0</horstretch>
1683- <verstretch>0</verstretch>
1684- </sizepolicy>
1685- </property>
1686- <property name="styleSheet">
1687- <string notr="true">color: #333</string>
1688- </property>
1689- <property name="text">
1690- <string>Shutdown</string>
1691- </property>
1692- </widget>
1693- </item>
1694- <item>
1695- <widget class="QPushButton" name="pushButtonRebootToBootloader">
1696- <property name="sizePolicy">
1697- <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
1698- <horstretch>0</horstretch>
1699- <verstretch>0</verstretch>
1700- </sizepolicy>
1701- </property>
1702- <property name="styleSheet">
1703- <string notr="true">color: #333</string>
1704- </property>
1705- <property name="text">
1706- <string>Reboot to
1707+ </item>
1708+ <item>
1709+ <spacer name="horizontalSpacer_4">
1710+ <property name="orientation">
1711+ <enum>Qt::Horizontal</enum>
1712+ </property>
1713+ <property name="sizeType">
1714+ <enum>QSizePolicy::MinimumExpanding</enum>
1715+ </property>
1716+ <property name="sizeHint" stdset="0">
1717+ <size>
1718+ <width>365</width>
1719+ <height>20</height>
1720+ </size>
1721+ </property>
1722+ </spacer>
1723+ </item>
1724+ </layout>
1725+ </widget>
1726+ <widget class="QWidget" name="page_4">
1727+ <layout class="QVBoxLayout" name="verticalLayout_19">
1728+ <item>
1729+ <widget class="QStackedWidget" name="stackedWidgetConnectedDevice">
1730+ <property name="currentIndex">
1731+ <number>1</number>
1732+ </property>
1733+ <widget class="QWidget" name="page_5">
1734+ <layout class="QHBoxLayout" name="horizontalLayout_8">
1735+ <item>
1736+ <widget class="QWidget" name="widgetDeviceInfo" native="true">
1737+ <property name="sizePolicy">
1738+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
1739+ <horstretch>0</horstretch>
1740+ <verstretch>0</verstretch>
1741+ </sizepolicy>
1742+ </property>
1743+ <layout class="QHBoxLayout" name="horizontalLayout_6">
1744+ <property name="topMargin">
1745+ <number>0</number>
1746+ </property>
1747+ <property name="bottomMargin">
1748+ <number>9</number>
1749+ </property>
1750+ <item>
1751+ <widget class="QStackedWidget" name="stackedWidgetDeveloperMode">
1752+ <property name="currentIndex">
1753+ <number>0</number>
1754+ </property>
1755+ <widget class="QWidget" name="page">
1756+ <layout class="QVBoxLayout" name="verticalLayout_16">
1757+ <item>
1758+ <widget class="QLabel" name="label_7">
1759+ <property name="text">
1760+ <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;Your device has been detected.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Next&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt; you &lt;/span&gt;&lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;will need to Enable Developer Mode &lt;/span&gt;from the right side.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1761+ </property>
1762+ <property name="textFormat">
1763+ <enum>Qt::RichText</enum>
1764+ </property>
1765+ </widget>
1766+ </item>
1767+ </layout>
1768+ </widget>
1769+ <widget class="QWidget" name="page_2">
1770+ <layout class="QVBoxLayout" name="verticalLayout_17">
1771+ <item>
1772+ <widget class="QLabel" name="label_4">
1773+ <property name="text">
1774+ <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:16pt;&quot;&gt;Your device has been enabled for developer use!&lt;/span&gt;&lt;/p&gt;&lt;p&gt;You will find Ubuntu UI templates from &lt;span style=&quot; font-weight:600;&quot;&gt;File &amp;gt; New File or Project&lt;/span&gt;. &lt;/p&gt;&lt;p&gt;After which you can deploy your app to the device using &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;CTRL+F12&lt;/span&gt; or&lt;br/&gt;by browsing &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Build &amp;gt; Ubuntu Touch &amp;gt; Run Application on Device.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;You can also find screenshot feature from &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Tools &amp;gt; Ubuntu Touch&lt;/span&gt; and&lt;br/&gt;links from &lt;span style=&quot; font-weight:600; font-style:italic;&quot;&gt;Help &amp;gt; Ubuntu Touch&lt;/span&gt;.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
1775+ </property>
1776+ </widget>
1777+ </item>
1778+ </layout>
1779+ </widget>
1780+ </widget>
1781+ </item>
1782+ <item>
1783+ <widget class="QFrame" name="frame">
1784+ <property name="frameShape">
1785+ <enum>QFrame::NoFrame</enum>
1786+ </property>
1787+ <property name="frameShadow">
1788+ <enum>QFrame::Raised</enum>
1789+ </property>
1790+ <layout class="QVBoxLayout" name="verticalLayout_15">
1791+ <property name="leftMargin">
1792+ <number>0</number>
1793+ </property>
1794+ <property name="topMargin">
1795+ <number>0</number>
1796+ </property>
1797+ <property name="rightMargin">
1798+ <number>0</number>
1799+ </property>
1800+ <property name="bottomMargin">
1801+ <number>0</number>
1802+ </property>
1803+ </layout>
1804+ </widget>
1805+ </item>
1806+ </layout>
1807+ </widget>
1808+ </item>
1809+ <item>
1810+ <widget class="QTabWidget" name="tabWidget_2">
1811+ <property name="tabPosition">
1812+ <enum>QTabWidget::West</enum>
1813+ </property>
1814+ <property name="currentIndex">
1815+ <number>0</number>
1816+ </property>
1817+ <property name="documentMode">
1818+ <bool>true</bool>
1819+ </property>
1820+ <widget class="QWidget" name="tab_3">
1821+ <attribute name="title">
1822+ <string>Simple</string>
1823+ </attribute>
1824+ <layout class="QVBoxLayout" name="verticalLayout_6">
1825+ <item>
1826+ <widget class="QWidget" name="widget_2" native="true">
1827+ <layout class="QVBoxLayout" name="verticalLayout_5">
1828+ <item>
1829+ <spacer name="verticalSpacer">
1830+ <property name="orientation">
1831+ <enum>Qt::Vertical</enum>
1832+ </property>
1833+ <property name="sizeHint" stdset="0">
1834+ <size>
1835+ <width>20</width>
1836+ <height>40</height>
1837+ </size>
1838+ </property>
1839+ </spacer>
1840+ </item>
1841+ <item>
1842+ <widget class="QPushButton" name="pushButtonCloneNetworkConfig_2">
1843+ <property name="text">
1844+ <string>Clone network config from host to device</string>
1845+ </property>
1846+ </widget>
1847+ </item>
1848+ <item>
1849+ <widget class="QPushButton" name="pushButtonCloneTimeConfig">
1850+ <property name="text">
1851+ <string>Clone time config from host to device</string>
1852+ </property>
1853+ </widget>
1854+ </item>
1855+ <item>
1856+ <widget class="QPushButton" name="pushButtonSshInstall">
1857+ <property name="font">
1858+ <font>
1859+ <family>Ubuntu</family>
1860+ <pointsize>12</pointsize>
1861+ <weight>50</weight>
1862+ <italic>false</italic>
1863+ <bold>false</bold>
1864+ </font>
1865+ </property>
1866+ <property name="styleSheet">
1867+ <string notr="true">padding: 10; color: #333</string>
1868+ </property>
1869+ <property name="text">
1870+ <string>Enable developer mode</string>
1871+ </property>
1872+ <property name="flat">
1873+ <bool>false</bool>
1874+ </property>
1875+ </widget>
1876+ </item>
1877+ <item>
1878+ <widget class="QPushButton" name="pushButtonSshRemove">
1879+ <property name="font">
1880+ <font>
1881+ <family>Ubuntu</family>
1882+ <pointsize>12</pointsize>
1883+ </font>
1884+ </property>
1885+ <property name="styleSheet">
1886+ <string notr="true">padding: 10; color: #333</string>
1887+ </property>
1888+ <property name="text">
1889+ <string>Disable developer mode</string>
1890+ </property>
1891+ </widget>
1892+ </item>
1893+ <item>
1894+ <spacer name="verticalSpacer_2">
1895+ <property name="orientation">
1896+ <enum>Qt::Vertical</enum>
1897+ </property>
1898+ <property name="sizeHint" stdset="0">
1899+ <size>
1900+ <width>20</width>
1901+ <height>40</height>
1902+ </size>
1903+ </property>
1904+ </spacer>
1905+ </item>
1906+ </layout>
1907+ </widget>
1908+ </item>
1909+ </layout>
1910+ </widget>
1911+ <widget class="QWidget" name="tab_4">
1912+ <attribute name="title">
1913+ <string>Advanced</string>
1914+ </attribute>
1915+ <layout class="QVBoxLayout" name="verticalLayout_10">
1916+ <item>
1917+ <widget class="QWidget" name="widgetSshProperties" native="true">
1918+ <layout class="QGridLayout" name="gridLayout">
1919+ <property name="topMargin">
1920+ <number>0</number>
1921+ </property>
1922+ <property name="bottomMargin">
1923+ <number>0</number>
1924+ </property>
1925+ <item row="2" column="1">
1926+ <widget class="QPushButton" name="pushButtonPortForward">
1927+ <property name="styleSheet">
1928+ <string notr="true">color: #333</string>
1929+ </property>
1930+ <property name="text">
1931+ <string>Enable port forward from device to localhost</string>
1932+ </property>
1933+ </widget>
1934+ </item>
1935+ <item row="3" column="1">
1936+ <widget class="QPushButton" name="pushButtonSshSetupPublicKey">
1937+ <property name="enabled">
1938+ <bool>true</bool>
1939+ </property>
1940+ <property name="styleSheet">
1941+ <string notr="true">color: #333</string>
1942+ </property>
1943+ <property name="text">
1944+ <string>Setup public key authentication</string>
1945+ </property>
1946+ </widget>
1947+ </item>
1948+ <item row="1" column="1">
1949+ <widget class="QGroupBox" name="groupBox_3">
1950+ <property name="title">
1951+ <string/>
1952+ </property>
1953+ <layout class="QHBoxLayout" name="horizontalLayout_5">
1954+ <property name="topMargin">
1955+ <number>0</number>
1956+ </property>
1957+ <property name="bottomMargin">
1958+ <number>0</number>
1959+ </property>
1960+ <item>
1961+ <widget class="QLabel" name="label_3">
1962+ <property name="text">
1963+ <string>Username</string>
1964+ </property>
1965+ </widget>
1966+ </item>
1967+ <item>
1968+ <widget class="QLineEdit" name="lineEditUserName">
1969+ <property name="enabled">
1970+ <bool>false</bool>
1971+ </property>
1972+ <property name="text">
1973+ <string>phablet</string>
1974+ </property>
1975+ </widget>
1976+ </item>
1977+ <item>
1978+ <widget class="QLabel" name="label_6">
1979+ <property name="text">
1980+ <string>Ssh Port</string>
1981+ </property>
1982+ </widget>
1983+ </item>
1984+ <item>
1985+ <widget class="QSpinBox" name="spinBoxSshPort">
1986+ <property name="enabled">
1987+ <bool>false</bool>
1988+ </property>
1989+ <property name="minimum">
1990+ <number>1300</number>
1991+ </property>
1992+ <property name="maximum">
1993+ <number>32000</number>
1994+ </property>
1995+ <property name="value">
1996+ <number>2222</number>
1997+ </property>
1998+ </widget>
1999+ </item>
2000+ <item>
2001+ <widget class="QLabel" name="label_5">
2002+ <property name="text">
2003+ <string>QML Port</string>
2004+ </property>
2005+ </widget>
2006+ </item>
2007+ <item>
2008+ <widget class="QSpinBox" name="spinBoxQmlPort">
2009+ <property name="enabled">
2010+ <bool>false</bool>
2011+ </property>
2012+ <property name="minimum">
2013+ <number>1300</number>
2014+ </property>
2015+ <property name="maximum">
2016+ <number>32000</number>
2017+ </property>
2018+ <property name="value">
2019+ <number>3768</number>
2020+ </property>
2021+ </widget>
2022+ </item>
2023+ </layout>
2024+ </widget>
2025+ </item>
2026+ <item row="4" column="1">
2027+ <widget class="QPushButton" name="pushButtonSshConnect">
2028+ <property name="styleSheet">
2029+ <string notr="true">color: #333</string>
2030+ </property>
2031+ <property name="text">
2032+ <string>Open ssh connection to device</string>
2033+ </property>
2034+ </widget>
2035+ </item>
2036+ <item row="5" column="1">
2037+ <widget class="QGroupBox" name="groupBox_2">
2038+ <property name="title">
2039+ <string>Flash the device</string>
2040+ </property>
2041+ <layout class="QVBoxLayout" name="verticalLayout_9">
2042+ <property name="topMargin">
2043+ <number>9</number>
2044+ </property>
2045+ <property name="bottomMargin">
2046+ <number>0</number>
2047+ </property>
2048+ <item>
2049+ <widget class="QPushButton" name="pushButtonUpgradeToDailyImage">
2050+ <property name="styleSheet">
2051+ <string notr="true">color: #333</string>
2052+ </property>
2053+ <property name="text">
2054+ <string>Upgrade to daily image</string>
2055+ </property>
2056+ </widget>
2057+ </item>
2058+ <item>
2059+ <widget class="QPushButton" name="pushButtonUpgradeToDailyImageWithBootstrap">
2060+ <property name="styleSheet">
2061+ <string notr="true">color: #333</string>
2062+ </property>
2063+ <property name="text">
2064+ <string>Upgrade to daily image (with full bootstrap)</string>
2065+ </property>
2066+ </widget>
2067+ </item>
2068+ </layout>
2069+ </widget>
2070+ </item>
2071+ <item row="7" column="1">
2072+ <spacer name="verticalSpacer_3">
2073+ <property name="orientation">
2074+ <enum>Qt::Vertical</enum>
2075+ </property>
2076+ <property name="sizeHint" stdset="0">
2077+ <size>
2078+ <width>20</width>
2079+ <height>40</height>
2080+ </size>
2081+ </property>
2082+ </spacer>
2083+ </item>
2084+ <item row="0" column="1">
2085+ <spacer name="verticalSpacer_4">
2086+ <property name="orientation">
2087+ <enum>Qt::Vertical</enum>
2088+ </property>
2089+ <property name="sizeHint" stdset="0">
2090+ <size>
2091+ <width>20</width>
2092+ <height>40</height>
2093+ </size>
2094+ </property>
2095+ </spacer>
2096+ </item>
2097+ <item row="6" column="1">
2098+ <widget class="QGroupBox" name="groupBox">
2099+ <property name="title">
2100+ <string>Device Mode</string>
2101+ </property>
2102+ <layout class="QVBoxLayout" name="verticalLayout_7">
2103+ <property name="bottomMargin">
2104+ <number>0</number>
2105+ </property>
2106+ <item>
2107+ <layout class="QHBoxLayout" name="horizontalLayout_4">
2108+ <item>
2109+ <widget class="QPushButton" name="pushButtonReboot">
2110+ <property name="sizePolicy">
2111+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
2112+ <horstretch>0</horstretch>
2113+ <verstretch>0</verstretch>
2114+ </sizepolicy>
2115+ </property>
2116+ <property name="styleSheet">
2117+ <string notr="true">color: #333</string>
2118+ </property>
2119+ <property name="text">
2120+ <string>Reboot</string>
2121+ </property>
2122+ </widget>
2123+ </item>
2124+ <item>
2125+ <widget class="QPushButton" name="pushButtonShutdown">
2126+ <property name="sizePolicy">
2127+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
2128+ <horstretch>0</horstretch>
2129+ <verstretch>0</verstretch>
2130+ </sizepolicy>
2131+ </property>
2132+ <property name="styleSheet">
2133+ <string notr="true">color: #333</string>
2134+ </property>
2135+ <property name="text">
2136+ <string>Shutdown</string>
2137+ </property>
2138+ </widget>
2139+ </item>
2140+ <item>
2141+ <widget class="QPushButton" name="pushButtonRebootToBootloader">
2142+ <property name="sizePolicy">
2143+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
2144+ <horstretch>0</horstretch>
2145+ <verstretch>0</verstretch>
2146+ </sizepolicy>
2147+ </property>
2148+ <property name="styleSheet">
2149+ <string notr="true">color: #333</string>
2150+ </property>
2151+ <property name="text">
2152+ <string>Reboot to
2153 Bootloader</string>
2154- </property>
2155- </widget>
2156- </item>
2157- <item>
2158- <widget class="QPushButton" name="pushButtonRebootToRecovery">
2159- <property name="sizePolicy">
2160- <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
2161- <horstretch>0</horstretch>
2162- <verstretch>0</verstretch>
2163- </sizepolicy>
2164- </property>
2165- <property name="styleSheet">
2166- <string notr="true">color: #333</string>
2167- </property>
2168- <property name="text">
2169- <string>Reboot to
2170+ </property>
2171+ </widget>
2172+ </item>
2173+ <item>
2174+ <widget class="QPushButton" name="pushButtonRebootToRecovery">
2175+ <property name="sizePolicy">
2176+ <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
2177+ <horstretch>0</horstretch>
2178+ <verstretch>0</verstretch>
2179+ </sizepolicy>
2180+ </property>
2181+ <property name="styleSheet">
2182+ <string notr="true">color: #333</string>
2183+ </property>
2184+ <property name="text">
2185+ <string>Reboot to
2186 Recovery</string>
2187- </property>
2188- </widget>
2189- </item>
2190- </layout>
2191- </item>
2192- </layout>
2193- </widget>
2194- </item>
2195- <item row="4" column="0">
2196- <widget class="QGroupBox" name="groupBox_2">
2197- <property name="title">
2198- <string>Flash the device</string>
2199- </property>
2200- <layout class="QVBoxLayout" name="verticalLayout_9">
2201- <property name="topMargin">
2202- <number>9</number>
2203- </property>
2204- <property name="bottomMargin">
2205- <number>0</number>
2206- </property>
2207- <item>
2208- <widget class="QPushButton" name="pushButtonUpgradeToDailyImage">
2209- <property name="styleSheet">
2210- <string notr="true">color: #333</string>
2211- </property>
2212- <property name="text">
2213- <string>Upgrade to daily image</string>
2214- </property>
2215- </widget>
2216- </item>
2217- <item>
2218- <widget class="QPushButton" name="pushButtonUpgradeToDailyImageWithBootstrap">
2219- <property name="styleSheet">
2220- <string notr="true">color: #333</string>
2221- </property>
2222- <property name="text">
2223- <string>/!\ Upgrade to daily image (with full bootstrap) /!\</string>
2224- </property>
2225- </widget>
2226- </item>
2227- </layout>
2228- </widget>
2229- </item>
2230- <item row="3" column="0">
2231- <widget class="QPushButton" name="pushButtonSshConnect">
2232- <property name="styleSheet">
2233- <string notr="true">color: #333</string>
2234- </property>
2235- <property name="text">
2236- <string>Open ssh connection to device</string>
2237- </property>
2238- </widget>
2239- </item>
2240- </layout>
2241- </widget>
2242- </item>
2243- <item>
2244- <spacer name="verticalSpacer_3">
2245- <property name="orientation">
2246- <enum>Qt::Vertical</enum>
2247- </property>
2248- <property name="sizeHint" stdset="0">
2249- <size>
2250- <width>20</width>
2251- <height>40</height>
2252- </size>
2253- </property>
2254- </spacer>
2255- </item>
2256- <item>
2257- <widget class="QPushButton" name="pushButtonCloneNetworkConfig_2">
2258- <property name="text">
2259- <string>Clone network config from host to device</string>
2260- </property>
2261- </widget>
2262- </item>
2263- <item>
2264- <widget class="QPushButton" name="pushButtonCloneTimeConfig">
2265- <property name="text">
2266- <string>Clone time config from host to device</string>
2267- </property>
2268- </widget>
2269- </item>
2270- <item>
2271- <widget class="QPushButton" name="pushButtonSshInstall">
2272- <property name="font">
2273- <font>
2274- <family>Ubuntu</family>
2275- <pointsize>12</pointsize>
2276- <weight>50</weight>
2277- <italic>false</italic>
2278- <bold>false</bold>
2279- </font>
2280- </property>
2281- <property name="styleSheet">
2282- <string notr="true">padding: 10; color: #333</string>
2283- </property>
2284- <property name="text">
2285- <string>Enable developer mode</string>
2286- </property>
2287- <property name="flat">
2288- <bool>false</bool>
2289- </property>
2290- </widget>
2291- </item>
2292- <item>
2293- <widget class="QPushButton" name="pushButtonSshRemove">
2294- <property name="font">
2295- <font>
2296- <family>Ubuntu</family>
2297- <pointsize>12</pointsize>
2298- </font>
2299- </property>
2300- <property name="styleSheet">
2301- <string notr="true">padding: 10; color: #333</string>
2302- </property>
2303- <property name="text">
2304- <string>Disable developer mode</string>
2305- </property>
2306- </widget>
2307- </item>
2308- <item>
2309- <spacer name="verticalSpacer">
2310- <property name="orientation">
2311- <enum>Qt::Vertical</enum>
2312- </property>
2313- <property name="sizeHint" stdset="0">
2314- <size>
2315- <width>20</width>
2316- <height>40</height>
2317- </size>
2318- </property>
2319- </spacer>
2320- </item>
2321- <item>
2322- <widget class="QWidget" name="widgetDeviceSerial" native="true">
2323- <layout class="QVBoxLayout" name="verticalLayout_4">
2324- <property name="leftMargin">
2325- <number>0</number>
2326- </property>
2327- <property name="topMargin">
2328- <number>0</number>
2329- </property>
2330- <property name="rightMargin">
2331- <number>0</number>
2332- </property>
2333- <property name="bottomMargin">
2334- <number>0</number>
2335- </property>
2336- <item>
2337- <layout class="QHBoxLayout" name="horizontalLayout_2">
2338- <item>
2339- <widget class="QLabel" name="label_2">
2340- <property name="font">
2341- <font>
2342- <family>Ubuntu</family>
2343- </font>
2344- </property>
2345- <property name="text">
2346- <string>Serial number</string>
2347- </property>
2348- </widget>
2349- </item>
2350- <item>
2351- <widget class="QLabel" name="lblSerialnumber">
2352- <property name="font">
2353- <font>
2354- <family>Ubuntu</family>
2355- <pointsize>9</pointsize>
2356- </font>
2357- </property>
2358- <property name="text">
2359- <string/>
2360- </property>
2361- </widget>
2362- </item>
2363- <item>
2364- <spacer name="horizontalSpacer_2">
2365- <property name="orientation">
2366- <enum>Qt::Horizontal</enum>
2367- </property>
2368- <property name="sizeHint" stdset="0">
2369- <size>
2370- <width>40</width>
2371- <height>20</height>
2372- </size>
2373- </property>
2374- </spacer>
2375- </item>
2376- <item>
2377- <widget class="QLabel" name="label_4">
2378- <property name="font">
2379- <font>
2380- <family>Ubuntu</family>
2381- </font>
2382- </property>
2383- <property name="text">
2384- <string>State</string>
2385- </property>
2386- </widget>
2387- </item>
2388- <item>
2389- <widget class="QLabel" name="lblDeviceName">
2390- <property name="font">
2391- <font>
2392- <family>Ubuntu</family>
2393- <pointsize>9</pointsize>
2394- </font>
2395- </property>
2396- <property name="text">
2397- <string/>
2398- </property>
2399- </widget>
2400- </item>
2401- </layout>
2402- </item>
2403- </layout>
2404- </widget>
2405- </item>
2406- </layout>
2407+ </property>
2408+ </widget>
2409+ </item>
2410+ </layout>
2411+ </item>
2412+ </layout>
2413+ </widget>
2414+ </item>
2415+ </layout>
2416+ </widget>
2417+ </item>
2418+ </layout>
2419+ </widget>
2420+ </widget>
2421+ </item>
2422+ </layout>
2423+ </widget>
2424+ <widget class="QWidget" name="page_6">
2425+ <layout class="QVBoxLayout" name="verticalLayout_18">
2426+ <item>
2427+ <spacer name="verticalSpacer_7">
2428+ <property name="orientation">
2429+ <enum>Qt::Vertical</enum>
2430+ </property>
2431+ <property name="sizeHint" stdset="0">
2432+ <size>
2433+ <width>20</width>
2434+ <height>40</height>
2435+ </size>
2436+ </property>
2437+ </spacer>
2438+ </item>
2439+ <item>
2440+ <widget class="QLabel" name="label_8">
2441+ <property name="text">
2442+ <string>Executing following script in the background..</string>
2443+ </property>
2444+ <property name="alignment">
2445+ <set>Qt::AlignCenter</set>
2446+ </property>
2447+ </widget>
2448+ </item>
2449+ <item>
2450+ <widget class="QLabel" name="lblDeviceProcessInfo">
2451+ <property name="font">
2452+ <font>
2453+ <pointsize>20</pointsize>
2454+ </font>
2455+ </property>
2456+ <property name="text">
2457+ <string>TextLabel</string>
2458+ </property>
2459+ <property name="alignment">
2460+ <set>Qt::AlignCenter</set>
2461+ </property>
2462+ </widget>
2463+ </item>
2464+ <item>
2465+ <widget class="QProgressBar" name="progressBar">
2466+ <property name="value">
2467+ <number>24</number>
2468+ </property>
2469+ </widget>
2470+ </item>
2471+ <item>
2472+ <widget class="QLabel" name="label_9">
2473+ <property name="text">
2474+ <string>Please wait.. if you like you can follow the progress on the &lt;i&gt;Log&lt;/i&gt; tab at the bottom.</string>
2475+ </property>
2476+ <property name="alignment">
2477+ <set>Qt::AlignCenter</set>
2478+ </property>
2479+ </widget>
2480+ </item>
2481+ <item>
2482+ <spacer name="verticalSpacer_8">
2483+ <property name="orientation">
2484+ <enum>Qt::Vertical</enum>
2485+ </property>
2486+ <property name="sizeHint" stdset="0">
2487+ <size>
2488+ <width>20</width>
2489+ <height>40</height>
2490+ </size>
2491+ </property>
2492+ </spacer>
2493+ </item>
2494+ </layout>
2495+ </widget>
2496+ </widget>
2497+ </item>
2498+ </layout>
2499+ </widget>
2500 </widget>
2501 </item>
2502- <item>
2503- <spacer name="horizontalSpacer_3">
2504- <property name="orientation">
2505- <enum>Qt::Horizontal</enum>
2506- </property>
2507- <property name="sizeType">
2508- <enum>QSizePolicy::MinimumExpanding</enum>
2509- </property>
2510- <property name="sizeHint" stdset="0">
2511- <size>
2512- <width>40</width>
2513- <height>20</height>
2514- </size>
2515- </property>
2516- </spacer>
2517- </item>
2518 </layout>
2519 </widget>
2520 <widget class="QWidget" name="tab_2">
2521 <attribute name="title">
2522- <string>Messages</string>
2523+ <string>Log</string>
2524 </attribute>
2525 <layout class="QVBoxLayout" name="verticalLayout_8">
2526 <item>
2527
2528=== modified file 'qtcreator/src/plugins/ubuntu/ubuntumenu.cpp'
2529--- qtcreator/src/plugins/ubuntu/ubuntumenu.cpp 2013-04-24 17:24:47 +0000
2530+++ qtcreator/src/plugins/ubuntu/ubuntumenu.cpp 2013-05-01 23:52:25 +0000
2531@@ -336,6 +336,7 @@
2532
2533 command = command.replace(QLatin1String(Constants::UBUNTU_ACTION_SHAREDIRECTORY),Constants::UBUNTU_SHAREPATH);
2534 command = command.replace(QLatin1String(Constants::UBUNTU_ACTION_SCRIPTDIRECTORY),Constants::UBUNTU_SCRIPTPATH);
2535+ command = command.replace(QLatin1String(Constants::UBUNTU_ACTION_SERIALNUMBER),UbuntuDevicesWidget::instance()->serialNumber());
2536
2537 if (bQuery && bQueryOk) {
2538 command = QString(command).arg(queryData);
2539
2540=== modified file 'qtcreator/src/plugins/ubuntu/ubuntuprojectapplicationwizard.cpp'
2541--- qtcreator/src/plugins/ubuntu/ubuntuprojectapplicationwizard.cpp 2013-04-24 13:38:33 +0000
2542+++ qtcreator/src/plugins/ubuntu/ubuntuprojectapplicationwizard.cpp 2013-05-01 23:52:25 +0000
2543@@ -28,6 +28,8 @@
2544 #include <qtsupport/qtsupportconstants.h>
2545 #include <coreplugin/icore.h>
2546
2547+#include <QtGlobal>
2548+
2549 #include <QIcon>
2550 #include <QDir>
2551 #include <QDebug>
2552@@ -57,8 +59,12 @@
2553
2554 Core::FeatureSet UbuntuProjectApplicationWizard::requiredFeatures() const
2555 {
2556- return Core::Feature(QtSupport::Constants::FEATURE_QMLPROJECT)
2557- | Core::Feature(QtSupport::Constants::FEATURE_QT_QUICK_2);
2558+#ifdef Q_PROCESSOR_ARM
2559+ return Core::Feature(0);
2560+#else
2561+ return Core::Feature(QtSupport::Constants::FEATURE_QMLPROJECT)
2562+ | Core::Feature(QtSupport::Constants::FEATURE_QT_QUICK_2);
2563+#endif
2564 }
2565
2566 Core::BaseFileWizardParameters UbuntuProjectApplicationWizard::parameters(QJsonObject params)

Subscribers

People subscribed via source and target branches