Merge lp:~zeller-benjamin/qtcreator-plugin-ubuntu/kitcreate into lp:qtcreator-plugin-ubuntu
- kitcreate
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Zoltan Balogh |
Approved revision: | 245 |
Merged at revision: | 242 |
Proposed branch: | lp:~zeller-benjamin/qtcreator-plugin-ubuntu/kitcreate |
Merge into: | lp:qtcreator-plugin-ubuntu |
Diff against target: |
911 lines (+640/-63) 13 files modified
share/qtcreator/ubuntu/devicespage/DeviceEmulatorTab.qml (+8/-4) share/qtcreator/ubuntu/devicespage/DeviceKitManager.qml (+62/-0) share/qtcreator/ubuntu/devicespage/DevicePage.qml (+29/-6) share/qtcreator/ubuntu/devicespage/DeviceStatusTab.qml (+1/-39) src/ubuntu/images/list-add.svg (+158/-0) src/ubuntu/images/list-remove.svg (+152/-0) src/ubuntu/images/reload.svg (+180/-0) src/ubuntu/resources.qrc (+3/-0) src/ubuntu/ubuntupackagingwidget.cpp (+6/-1) src/ubuntu/ubuntuplugin.cpp (+6/-6) src/ubuntu/ubunturemoterunconfiguration.cpp (+22/-3) src/ubuntu/ubunturemoterunconfiguration.h (+2/-0) src/ubuntu/ubunturemoteruncontrol.cpp (+11/-4) |
To merge this branch: | bzr merge lp:~zeller-benjamin/qtcreator-plugin-ubuntu/kitcreate |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Zoltan Balogh | Pending | ||
Review via email: mp+230286@code.launchpad.net |
Commit message
- Fix bug LP:1338936 "Use Suru Icon theme for buttons"
- Fix Bug lp:1355086 "welcome wizard "do not show again" does not work if you click cancel"
- Disable runconfiguration if the app is running to prevent execution of the same configuration multiple times
- Make it possible to create Kits even if the Device is not attached
- Do not crash if there is no deploy configuration
- Do not change the project name if it contains a cmake var
Description of the change
- Fix bug LP:1338936 "Use Suru Icon theme for buttons"
- Disable runconfiguration if the app is running to prevent execution of the same configuration multiple times
- Make it possible to create Kits even if the Device is not attached
Nekhelesh Ramananthan (nik90) wrote : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:243
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 244. By Benjamin Zeller
-
Fix Bug lp:1355086 "welcome wizard "do not show again" does not
work if you click cancel" - 245. By Benjamin Zeller
-
- Do not crash if there is no deploy configuration
- Do not change the project name if it contains a cmake var
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:244
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:245
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'share/qtcreator/ubuntu/devicespage/DeviceEmulatorTab.qml' |
2 | --- share/qtcreator/ubuntu/devicespage/DeviceEmulatorTab.qml 2014-08-06 16:00:53 +0000 |
3 | +++ share/qtcreator/ubuntu/devicespage/DeviceEmulatorTab.qml 2014-08-11 15:35:47 +0000 |
4 | @@ -10,9 +10,9 @@ |
5 | |
6 | ColumnLayout { |
7 | UbuntuListView { |
8 | - anchors.left: parent.left |
9 | + Layout.alignment: Qt.AlignLeft | Qt.AlignTop |
10 | width: units.gu(50) |
11 | - Layout.fillHeight: true |
12 | + height: childrenRect.height |
13 | model: VisualItemModel { |
14 | ListItem.SingleValue { |
15 | text: i18n.tr("Ubuntu version") |
16 | @@ -59,9 +59,13 @@ |
17 | emulatorMemorySetting = textAt(index); |
18 | } |
19 | } |
20 | - |
21 | - |
22 | } |
23 | } |
24 | } |
25 | + ListItem.Divider{} |
26 | + DeviceKitManager{ |
27 | + Layout.alignment: Qt.AlignLeft | Qt.AlignTop |
28 | + Layout.fillHeight: true |
29 | + width: units.gu(50) |
30 | + } |
31 | } |
32 | |
33 | === added file 'share/qtcreator/ubuntu/devicespage/DeviceKitManager.qml' |
34 | --- share/qtcreator/ubuntu/devicespage/DeviceKitManager.qml 1970-01-01 00:00:00 +0000 |
35 | +++ share/qtcreator/ubuntu/devicespage/DeviceKitManager.qml 2014-08-11 15:35:47 +0000 |
36 | @@ -0,0 +1,62 @@ |
37 | +import QtQuick 2.0 |
38 | +import QtQuick.Controls 1.0 as Controls |
39 | +import QtQuick.Layouts 1.0 |
40 | +import Ubuntu.Components 0.1 |
41 | +import Ubuntu.Components.ListItems 0.1 as ListItem |
42 | +import Ubuntu.DevicesModel 0.1 |
43 | + |
44 | +Item { |
45 | + ColumnLayout { |
46 | + anchors.fill: parent |
47 | + Label { |
48 | + text: "Device Kits" |
49 | + fontSize: "large" |
50 | + } |
51 | + |
52 | + Column { |
53 | + Layout.fillWidth: true |
54 | + Repeater { |
55 | + model: kits |
56 | + delegate: ListItem.Standard { |
57 | + text: modelData.displayName |
58 | + Layout.fillWidth: true |
59 | + control: Button{ |
60 | + text: "Remove" |
61 | + enabled: !deviceItemView.deviceBusy |
62 | + onClicked: devicesModel.triggerKitRemove(deviceId,modelData.id) |
63 | + } |
64 | + } |
65 | + } |
66 | + } |
67 | + |
68 | + Item { |
69 | + clip: true |
70 | + visible: kits.length === 0 |
71 | + Layout.minimumHeight: units.gu(25) |
72 | + Layout.fillWidth: true |
73 | + Label { |
74 | + id:label |
75 | + anchors.centerIn: parent |
76 | + anchors.bottom: button.top |
77 | + fontSize: "large" |
78 | + text: "There is currently no Kit defined for your device.\n In order to use the device in your Projects,\n you can either add a existing Kit " |
79 | + +"\nor let Qt Creator autocreate one for you." |
80 | + } |
81 | + Button { |
82 | + id: button |
83 | + anchors.left: label.left |
84 | + anchors.right: label.right |
85 | + anchors.top: label.bottom |
86 | + anchors.topMargin: units.gu(2) |
87 | + text: "Autocreate" |
88 | + enabled: !deviceItemView.deviceBusy |
89 | + onClicked: devicesModel.triggerKitAutocreate(deviceId) |
90 | + } |
91 | + } |
92 | + |
93 | + //Spacer Item |
94 | + Item { |
95 | + Layout.fillHeight: true |
96 | + } |
97 | + } |
98 | +} |
99 | |
100 | === modified file 'share/qtcreator/ubuntu/devicespage/DevicePage.qml' |
101 | --- share/qtcreator/ubuntu/devicespage/DevicePage.qml 2014-08-06 16:00:53 +0000 |
102 | +++ share/qtcreator/ubuntu/devicespage/DevicePage.qml 2014-08-11 15:35:47 +0000 |
103 | @@ -136,13 +136,13 @@ |
104 | Controls.ToolButton { |
105 | text: i18n.tr("Refresh devices") |
106 | tooltip: text |
107 | - iconSource: "qrc:/ubuntu/images/view-refresh.png" |
108 | + iconSource: "qrc:/ubuntu/images/reload.svg" |
109 | onClicked: devicesModel.refresh() |
110 | } |
111 | Controls.ToolButton { |
112 | text: i18n.tr("Add Emulator") |
113 | tooltip: text |
114 | - iconSource: "qrc:/ubuntu/images/list-add.png" |
115 | + iconSource: "qrc:/ubuntu/images/list-add.svg" |
116 | onClicked: PopupUtils.open(resourceRoot+"/NewEmulatorDialog.qml",devicePage); |
117 | } |
118 | |
119 | @@ -224,11 +224,33 @@ |
120 | } |
121 | } |
122 | |
123 | - Label { |
124 | + ColumnLayout { |
125 | visible: !deviceConnected && !deviceBooting && !detectionError && (machineType !== DeviceMachineType.Emulator) |
126 | - anchors.centerIn: parent |
127 | - text: "The device is currently not connected" |
128 | - fontSize: "large" |
129 | + anchors.left: parent.left |
130 | + anchors.top: emulatorToolBar.bottom |
131 | + anchors.bottom: parent.bottom |
132 | + anchors.margins: 10 |
133 | + width: units.gu(75) |
134 | + spacing: units.gu(1) |
135 | + |
136 | + Label { |
137 | + text:"Device Status: Disconnected" |
138 | + fontSize: "large" |
139 | + Layout.alignment: Qt.AlignLeft | Qt.AlignTop |
140 | + Layout.fillWidth: true |
141 | + } |
142 | + ListItem.SingleValue { |
143 | + Layout.alignment: Qt.AlignLeft | Qt.AlignTop |
144 | + text:i18n.tr("Serial ID") |
145 | + Layout.fillWidth: true |
146 | + value: serial |
147 | + } |
148 | + ListItem.Divider{} |
149 | + DeviceKitManager { |
150 | + Layout.alignment: Qt.AlignLeft | Qt.AlignTop |
151 | + Layout.fillHeight: true |
152 | + Layout.fillWidth: true |
153 | + } |
154 | } |
155 | |
156 | DeviceEmulatorTab { |
157 | @@ -238,6 +260,7 @@ |
158 | anchors.right: parent.right |
159 | anchors.top: emulatorToolBar.bottom |
160 | anchors.bottom: parent.bottom |
161 | + anchors.margins: 10 |
162 | } |
163 | |
164 | Column { |
165 | |
166 | === modified file 'share/qtcreator/ubuntu/devicespage/DeviceStatusTab.qml' |
167 | --- share/qtcreator/ubuntu/devicespage/DeviceStatusTab.qml 2014-08-06 16:00:53 +0000 |
168 | +++ share/qtcreator/ubuntu/devicespage/DeviceStatusTab.qml 2014-08-11 15:35:47 +0000 |
169 | @@ -64,46 +64,8 @@ |
170 | } |
171 | ListItem.Divider{} |
172 | |
173 | - Label { |
174 | - text: "Device Kits" |
175 | - fontSize: "large" |
176 | - anchors.left: parent.left |
177 | - } |
178 | - Repeater { |
179 | - model: kits |
180 | - delegate: ListItem.Standard { |
181 | - text: modelData.displayName |
182 | - Layout.fillWidth: true |
183 | - control: Button{ |
184 | - text: "Remove" |
185 | - enabled: !deviceItemView.deviceBusy |
186 | - onClicked: devicesModel.triggerKitRemove(deviceId,modelData.id) |
187 | - } |
188 | - } |
189 | - } |
190 | - Item { |
191 | - clip: true |
192 | - visible: kits.length === 0 |
193 | - Layout.minimumHeight: units.gu(25) |
194 | + DeviceKitManager{ |
195 | Layout.fillWidth: true |
196 | - Label { |
197 | - id:label |
198 | - anchors.centerIn: parent |
199 | - anchors.bottom: button.top |
200 | - fontSize: "large" |
201 | - text: "There is currently no Kit defined for your device.\n In order to use the device in your Projects,\n you can either add a existing Kit " |
202 | - +"\nor let Qt Creator autocreate one for you." |
203 | - } |
204 | - Button { |
205 | - id: button |
206 | - anchors.left: label.left |
207 | - anchors.right: label.right |
208 | - anchors.top: label.bottom |
209 | - anchors.topMargin: units.gu(2) |
210 | - text: "Autocreate" |
211 | - enabled: !deviceItemView.deviceBusy |
212 | - onClicked: devicesModel.triggerKitAutocreate(deviceId) |
213 | - } |
214 | } |
215 | } |
216 | } |
217 | |
218 | === added file 'src/ubuntu/images/list-add.svg' |
219 | --- src/ubuntu/images/list-add.svg 1970-01-01 00:00:00 +0000 |
220 | +++ src/ubuntu/images/list-add.svg 2014-08-11 15:35:47 +0000 |
221 | @@ -0,0 +1,158 @@ |
222 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
223 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
224 | + |
225 | +<svg |
226 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
227 | + xmlns:cc="http://creativecommons.org/ns#" |
228 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
229 | + xmlns:svg="http://www.w3.org/2000/svg" |
230 | + xmlns="http://www.w3.org/2000/svg" |
231 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
232 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
233 | + width="90" |
234 | + height="90" |
235 | + id="svg4874" |
236 | + version="1.1" |
237 | + inkscape:version="0.48+devel r" |
238 | + viewBox="0 0 90 90.000001" |
239 | + sodipodi:docname="add.svg"> |
240 | + <defs |
241 | + id="defs4876" /> |
242 | + <sodipodi:namedview |
243 | + id="base" |
244 | + pagecolor="#ffffff" |
245 | + bordercolor="#666666" |
246 | + borderopacity="1.0" |
247 | + inkscape:pageopacity="0.0" |
248 | + inkscape:pageshadow="2" |
249 | + inkscape:zoom="6.3664629" |
250 | + inkscape:cx="29.309837" |
251 | + inkscape:cy="26.631742" |
252 | + inkscape:document-units="px" |
253 | + inkscape:current-layer="g1708" |
254 | + showgrid="true" |
255 | + showborder="true" |
256 | + fit-margin-top="0" |
257 | + fit-margin-left="0" |
258 | + fit-margin-right="0" |
259 | + fit-margin-bottom="0" |
260 | + inkscape:snap-bbox="true" |
261 | + inkscape:bbox-paths="true" |
262 | + inkscape:bbox-nodes="true" |
263 | + inkscape:snap-bbox-edge-midpoints="true" |
264 | + inkscape:snap-bbox-midpoints="true" |
265 | + inkscape:object-paths="true" |
266 | + inkscape:snap-intersection-paths="true" |
267 | + inkscape:object-nodes="true" |
268 | + inkscape:snap-smooth-nodes="true" |
269 | + inkscape:snap-midpoints="true" |
270 | + inkscape:snap-object-midpoints="true" |
271 | + inkscape:snap-center="true" |
272 | + showguides="true" |
273 | + inkscape:guide-bbox="true"> |
274 | + <inkscape:grid |
275 | + type="xygrid" |
276 | + id="grid5451" |
277 | + empspacing="6" /> |
278 | + <sodipodi:guide |
279 | + orientation="1,0" |
280 | + position="6,77" |
281 | + id="guide4063" /> |
282 | + <sodipodi:guide |
283 | + orientation="1,0" |
284 | + position="3,78" |
285 | + id="guide4065" /> |
286 | + <sodipodi:guide |
287 | + orientation="0,1" |
288 | + position="55,84" |
289 | + id="guide4067" /> |
290 | + <sodipodi:guide |
291 | + orientation="0,1" |
292 | + position="53,87" |
293 | + id="guide4069" /> |
294 | + <sodipodi:guide |
295 | + orientation="0,1" |
296 | + position="20,3" |
297 | + id="guide4071" /> |
298 | + <sodipodi:guide |
299 | + orientation="0,1" |
300 | + position="20,6" |
301 | + id="guide4073" /> |
302 | + <sodipodi:guide |
303 | + orientation="1,0" |
304 | + position="87,7" |
305 | + id="guide4075" /> |
306 | + <sodipodi:guide |
307 | + orientation="1,0" |
308 | + position="84,7" |
309 | + id="guide4077" /> |
310 | + <sodipodi:guide |
311 | + orientation="0,1" |
312 | + position="58,81" |
313 | + id="guide4074" /> |
314 | + <sodipodi:guide |
315 | + orientation="1,0" |
316 | + position="9,74" |
317 | + id="guide4076" /> |
318 | + <sodipodi:guide |
319 | + orientation="0,1" |
320 | + position="21,9" |
321 | + id="guide4078" /> |
322 | + <sodipodi:guide |
323 | + orientation="1,0" |
324 | + position="81,4" |
325 | + id="guide4080" /> |
326 | + </sodipodi:namedview> |
327 | + <metadata |
328 | + id="metadata4879"> |
329 | + <rdf:RDF> |
330 | + <cc:Work |
331 | + rdf:about=""> |
332 | + <dc:format>image/svg+xml</dc:format> |
333 | + <dc:type |
334 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
335 | + <dc:title></dc:title> |
336 | + </cc:Work> |
337 | + </rdf:RDF> |
338 | + </metadata> |
339 | + <g |
340 | + inkscape:label="Layer 1" |
341 | + inkscape:groupmode="layer" |
342 | + id="layer1" |
343 | + transform="translate(67.857146,-84.50504)"> |
344 | + <g |
345 | + transform="matrix(0,-1,-1,0,373.50506,516.50504)" |
346 | + id="g4845" |
347 | + style="display:inline"> |
348 | + <g |
349 | + inkscape:label="Layer 1" |
350 | + id="g1708" |
351 | + transform="matrix(0,-1,-1,0,1394.3622,441.36221)" |
352 | + inkscape:export-filename="add01.png" |
353 | + inkscape:export-xdpi="90" |
354 | + inkscape:export-ydpi="90"> |
355 | + <rect |
356 | + style="color:#000000;fill:none;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
357 | + id="rect1710" |
358 | + width="90" |
359 | + height="90" |
360 | + x="0" |
361 | + y="962.36218" /> |
362 | + <path |
363 | + style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
364 | + d="m 40.500004,970.36212 9,-2 0,78.00018 -9,0 z" |
365 | + id="rect1712" |
366 | + inkscape:connector-curvature="0" |
367 | + sodipodi:nodetypes="ccccc" /> |
368 | + <rect |
369 | + transform="matrix(0,1,-1,0,0,0)" |
370 | + y="-83.999985" |
371 | + x="1002.8622" |
372 | + height="77.999985" |
373 | + width="9" |
374 | + id="rect1714" |
375 | + style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
376 | + </g> |
377 | + </g> |
378 | + </g> |
379 | +</svg> |
380 | |
381 | === added file 'src/ubuntu/images/list-remove.svg' |
382 | --- src/ubuntu/images/list-remove.svg 1970-01-01 00:00:00 +0000 |
383 | +++ src/ubuntu/images/list-remove.svg 2014-08-11 15:35:47 +0000 |
384 | @@ -0,0 +1,152 @@ |
385 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
386 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
387 | + |
388 | +<svg |
389 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
390 | + xmlns:cc="http://creativecommons.org/ns#" |
391 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
392 | + xmlns:svg="http://www.w3.org/2000/svg" |
393 | + xmlns="http://www.w3.org/2000/svg" |
394 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
395 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
396 | + width="90" |
397 | + height="90" |
398 | + id="svg4874" |
399 | + version="1.1" |
400 | + inkscape:version="0.48+devel r" |
401 | + viewBox="0 0 90 90.000001" |
402 | + sodipodi:docname="remove.svg"> |
403 | + <defs |
404 | + id="defs4876" /> |
405 | + <sodipodi:namedview |
406 | + id="base" |
407 | + pagecolor="#ffffff" |
408 | + bordercolor="#666666" |
409 | + borderopacity="1.0" |
410 | + inkscape:pageopacity="0.0" |
411 | + inkscape:pageshadow="2" |
412 | + inkscape:zoom="12.434498" |
413 | + inkscape:cx="39.989551" |
414 | + inkscape:cy="39.273802" |
415 | + inkscape:document-units="px" |
416 | + inkscape:current-layer="g1708" |
417 | + showgrid="true" |
418 | + showborder="true" |
419 | + fit-margin-top="0" |
420 | + fit-margin-left="0" |
421 | + fit-margin-right="0" |
422 | + fit-margin-bottom="0" |
423 | + inkscape:snap-bbox="true" |
424 | + inkscape:bbox-paths="true" |
425 | + inkscape:bbox-nodes="true" |
426 | + inkscape:snap-bbox-edge-midpoints="true" |
427 | + inkscape:snap-bbox-midpoints="true" |
428 | + inkscape:object-paths="true" |
429 | + inkscape:snap-intersection-paths="true" |
430 | + inkscape:object-nodes="true" |
431 | + inkscape:snap-smooth-nodes="true" |
432 | + inkscape:snap-midpoints="true" |
433 | + inkscape:snap-object-midpoints="true" |
434 | + inkscape:snap-center="true" |
435 | + showguides="true" |
436 | + inkscape:guide-bbox="true"> |
437 | + <inkscape:grid |
438 | + type="xygrid" |
439 | + id="grid5451" |
440 | + empspacing="6" /> |
441 | + <sodipodi:guide |
442 | + orientation="1,0" |
443 | + position="6,77" |
444 | + id="guide4063" /> |
445 | + <sodipodi:guide |
446 | + orientation="1,0" |
447 | + position="3,78" |
448 | + id="guide4065" /> |
449 | + <sodipodi:guide |
450 | + orientation="0,1" |
451 | + position="55,84" |
452 | + id="guide4067" /> |
453 | + <sodipodi:guide |
454 | + orientation="0,1" |
455 | + position="53,87" |
456 | + id="guide4069" /> |
457 | + <sodipodi:guide |
458 | + orientation="0,1" |
459 | + position="20,3" |
460 | + id="guide4071" /> |
461 | + <sodipodi:guide |
462 | + orientation="0,1" |
463 | + position="20,6" |
464 | + id="guide4073" /> |
465 | + <sodipodi:guide |
466 | + orientation="1,0" |
467 | + position="87,7" |
468 | + id="guide4075" /> |
469 | + <sodipodi:guide |
470 | + orientation="1,0" |
471 | + position="84,7" |
472 | + id="guide4077" /> |
473 | + <sodipodi:guide |
474 | + orientation="0,1" |
475 | + position="58,81" |
476 | + id="guide4074" /> |
477 | + <sodipodi:guide |
478 | + orientation="1,0" |
479 | + position="9,74" |
480 | + id="guide4076" /> |
481 | + <sodipodi:guide |
482 | + orientation="0,1" |
483 | + position="21,9" |
484 | + id="guide4078" /> |
485 | + <sodipodi:guide |
486 | + orientation="1,0" |
487 | + position="81,4" |
488 | + id="guide4080" /> |
489 | + </sodipodi:namedview> |
490 | + <metadata |
491 | + id="metadata4879"> |
492 | + <rdf:RDF> |
493 | + <cc:Work |
494 | + rdf:about=""> |
495 | + <dc:format>image/svg+xml</dc:format> |
496 | + <dc:type |
497 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
498 | + <dc:title></dc:title> |
499 | + </cc:Work> |
500 | + </rdf:RDF> |
501 | + </metadata> |
502 | + <g |
503 | + inkscape:label="Layer 1" |
504 | + inkscape:groupmode="layer" |
505 | + id="layer1" |
506 | + transform="translate(67.857146,-84.50504)"> |
507 | + <g |
508 | + transform="matrix(0,-1,-1,0,373.50506,516.50504)" |
509 | + id="g4845" |
510 | + style="display:inline"> |
511 | + <g |
512 | + inkscape:label="Layer 1" |
513 | + id="g1708" |
514 | + transform="matrix(0,-1,-1,0,1394.3622,441.36221)" |
515 | + inkscape:export-filename="add01.png" |
516 | + inkscape:export-xdpi="90" |
517 | + inkscape:export-ydpi="90"> |
518 | + <rect |
519 | + style="color:#000000;fill:none;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
520 | + id="rect1710" |
521 | + width="90" |
522 | + height="90" |
523 | + x="0" |
524 | + y="962.36218" /> |
525 | + <rect |
526 | + transform="matrix(0,1,-1,0,0,0)" |
527 | + y="-81.000008" |
528 | + x="1002.8622" |
529 | + height="71.999977" |
530 | + width="9" |
531 | + id="rect1714" |
532 | + style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
533 | + </g> |
534 | + </g> |
535 | + </g> |
536 | +</svg> |
537 | |
538 | === added file 'src/ubuntu/images/reload.svg' |
539 | --- src/ubuntu/images/reload.svg 1970-01-01 00:00:00 +0000 |
540 | +++ src/ubuntu/images/reload.svg 2014-08-11 15:35:47 +0000 |
541 | @@ -0,0 +1,180 @@ |
542 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
543 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
544 | + |
545 | +<svg |
546 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
547 | + xmlns:cc="http://creativecommons.org/ns#" |
548 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
549 | + xmlns:svg="http://www.w3.org/2000/svg" |
550 | + xmlns="http://www.w3.org/2000/svg" |
551 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
552 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
553 | + width="90" |
554 | + height="90" |
555 | + id="svg4874" |
556 | + version="1.1" |
557 | + inkscape:version="0.48+devel r" |
558 | + viewBox="0 0 90 90.000001" |
559 | + sodipodi:docname="reload.svg"> |
560 | + <defs |
561 | + id="defs4876" /> |
562 | + <sodipodi:namedview |
563 | + id="base" |
564 | + pagecolor="#ffffff" |
565 | + bordercolor="#666666" |
566 | + borderopacity="1.0" |
567 | + inkscape:pageopacity="0.0" |
568 | + inkscape:pageshadow="2" |
569 | + inkscape:zoom="9.9475983" |
570 | + inkscape:cx="42.070456" |
571 | + inkscape:cy="48.363433" |
572 | + inkscape:document-units="px" |
573 | + inkscape:current-layer="g5368" |
574 | + showgrid="true" |
575 | + showborder="true" |
576 | + fit-margin-top="0" |
577 | + fit-margin-left="0" |
578 | + fit-margin-right="0" |
579 | + fit-margin-bottom="0" |
580 | + inkscape:snap-bbox="true" |
581 | + inkscape:bbox-paths="true" |
582 | + inkscape:bbox-nodes="true" |
583 | + inkscape:snap-bbox-edge-midpoints="true" |
584 | + inkscape:snap-bbox-midpoints="true" |
585 | + inkscape:object-paths="true" |
586 | + inkscape:snap-intersection-paths="true" |
587 | + inkscape:object-nodes="true" |
588 | + inkscape:snap-smooth-nodes="true" |
589 | + inkscape:snap-midpoints="true" |
590 | + inkscape:snap-object-midpoints="true" |
591 | + inkscape:snap-center="true" |
592 | + showguides="true" |
593 | + inkscape:guide-bbox="true"> |
594 | + <inkscape:grid |
595 | + type="xygrid" |
596 | + id="grid5451" |
597 | + empspacing="6" /> |
598 | + <sodipodi:guide |
599 | + orientation="1,0" |
600 | + position="6,77" |
601 | + id="guide4063" /> |
602 | + <sodipodi:guide |
603 | + orientation="1,0" |
604 | + position="3,78" |
605 | + id="guide4065" /> |
606 | + <sodipodi:guide |
607 | + orientation="0,1" |
608 | + position="55,84" |
609 | + id="guide4067" /> |
610 | + <sodipodi:guide |
611 | + orientation="0,1" |
612 | + position="53,87" |
613 | + id="guide4069" /> |
614 | + <sodipodi:guide |
615 | + orientation="0,1" |
616 | + position="20,3" |
617 | + id="guide4071" /> |
618 | + <sodipodi:guide |
619 | + orientation="0,1" |
620 | + position="20,6" |
621 | + id="guide4073" /> |
622 | + <sodipodi:guide |
623 | + orientation="1,0" |
624 | + position="87,7" |
625 | + id="guide4075" /> |
626 | + <sodipodi:guide |
627 | + orientation="1,0" |
628 | + position="84,7" |
629 | + id="guide4077" /> |
630 | + <sodipodi:guide |
631 | + orientation="0,1" |
632 | + position="58,81" |
633 | + id="guide4074" /> |
634 | + <sodipodi:guide |
635 | + orientation="1,0" |
636 | + position="9,74" |
637 | + id="guide4076" /> |
638 | + <sodipodi:guide |
639 | + orientation="0,1" |
640 | + position="21,9" |
641 | + id="guide4078" /> |
642 | + <sodipodi:guide |
643 | + orientation="1,0" |
644 | + position="81,4" |
645 | + id="guide4080" /> |
646 | + </sodipodi:namedview> |
647 | + <metadata |
648 | + id="metadata4879"> |
649 | + <rdf:RDF> |
650 | + <cc:Work |
651 | + rdf:about=""> |
652 | + <dc:format>image/svg+xml</dc:format> |
653 | + <dc:type |
654 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
655 | + <dc:title></dc:title> |
656 | + </cc:Work> |
657 | + </rdf:RDF> |
658 | + </metadata> |
659 | + <g |
660 | + inkscape:label="Layer 1" |
661 | + inkscape:groupmode="layer" |
662 | + id="layer1" |
663 | + transform="translate(67.857146,-84.50504)"> |
664 | + <g |
665 | + transform="matrix(0,-1,-1,0,373.50506,516.50504)" |
666 | + id="g4845" |
667 | + style="display:inline"> |
668 | + <g |
669 | + transform="matrix(0,-1,-1,0,1394.3622,441.36221)" |
670 | + id="g5362" |
671 | + inkscape:label="Layer 1"> |
672 | + <rect |
673 | + y="962.36218" |
674 | + x="0" |
675 | + height="90" |
676 | + width="90" |
677 | + id="rect5364" |
678 | + style="color:#000000;fill:none;stroke:none;stroke-width:7.5;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
679 | + <g |
680 | + transform="translate(-60,548.00002)" |
681 | + id="g5366"> |
682 | + <g |
683 | + transform="matrix(-1.1111111,0,0,1.1111111,217.07643,-57.611595)" |
684 | + id="g5368"> |
685 | + <rect |
686 | + transform="matrix(0.90000001,0,0,0.90000001,60.368786,424.77638)" |
687 | + y="1.7382814e-05" |
688 | + x="0" |
689 | + height="90" |
690 | + width="90" |
691 | + id="rect5374" |
692 | + style="color:#000000;fill:none;stroke:none;stroke-width:6;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> |
693 | + <path |
694 | + style="color:#000000;fill:#808080;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
695 | + d="m 87.455074,450.36498 c 0,0 -11.878624,4.71653 -24.300014,6.81142 -0.0033,-0.004 -0.0034,-0.005 -0.004,-0.007 -0.0025,-0.005 -0.0018,-0.006 -0.0022,-0.01 -0.0022,-0.005 -0.0017,-0.007 -0.0021,-0.01 -0.0022,-0.005 -0.0022,-0.005 -0.0039,-0.007 2.307886,-12.98677 6.794642,-24.26728 6.794642,-24.26728 z" |
696 | + id="path2194-7" |
697 | + inkscape:connector-curvature="0" |
698 | + inkscape:transform-center-x="13.578688" |
699 | + inkscape:transform-center-y="-13.586457" |
700 | + sodipodi:nodetypes="ccsssccc" /> |
701 | + <path |
702 | + style="color:#000000;fill:none;stroke:#808080;stroke-width:5.4000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" |
703 | + id="path4116" |
704 | + sodipodi:type="arc" |
705 | + sodipodi:cx="-100.87494" |
706 | + sodipodi:cy="465.27643" |
707 | + sodipodi:rx="32.388229" |
708 | + sodipodi:ry="32.394321" |
709 | + sodipodi:start="0.52359878" |
710 | + sodipodi:end="5.6286868" |
711 | + sodipodi:open="true" |
712 | + d="m -72.82591,481.47359 a 32.388229,32.394321 0 1 1 -2.35372,-35.91758" |
713 | + transform="scale(-1,1)" |
714 | + inkscape:transform-center-x="3.7386554" |
715 | + inkscape:transform-center-y="3.0412449e-05" /> |
716 | + </g> |
717 | + </g> |
718 | + </g> |
719 | + </g> |
720 | + </g> |
721 | +</svg> |
722 | |
723 | === modified file 'src/ubuntu/resources.qrc' |
724 | --- src/ubuntu/resources.qrc 2014-04-23 13:14:19 +0000 |
725 | +++ src/ubuntu/resources.qrc 2014-08-11 15:35:47 +0000 |
726 | @@ -16,5 +16,8 @@ |
727 | <file>manifestlib.js</file> |
728 | <file>images/view-refresh.png</file> |
729 | <file>images/list-add.png</file> |
730 | + <file>images/reload.svg</file> |
731 | + <file>images/list-add.svg</file> |
732 | + <file>images/list-remove.svg</file> |
733 | </qresource> |
734 | </RCC> |
735 | |
736 | === modified file 'src/ubuntu/ubuntupackagingwidget.cpp' |
737 | --- src/ubuntu/ubuntupackagingwidget.cpp 2014-08-05 10:04:39 +0000 |
738 | +++ src/ubuntu/ubuntupackagingwidget.cpp 2014-08-11 15:35:47 +0000 |
739 | @@ -433,7 +433,12 @@ |
740 | switch (m_previous_tab) { |
741 | case 0: { |
742 | // set package name to lower, bug #1219877 |
743 | - m_manifest.setName(ui->lineEdit_name->text().toLower()); |
744 | + QString packageName = ui->lineEdit_name->text(); |
745 | + static const QRegularExpression varCheck(QStringLiteral("@.*@")); |
746 | + if(!varCheck.match(packageName).hasMatch()) |
747 | + packageName = packageName.toLower(); |
748 | + |
749 | + m_manifest.setName(packageName); |
750 | m_manifest.setMaintainer(ui->lineEdit_maintainer->text()); |
751 | m_manifest.setVersion(ui->lineEdit_version->text()); |
752 | m_manifest.setTitle(ui->lineEdit_title->text()); |
753 | |
754 | === modified file 'src/ubuntu/ubuntuplugin.cpp' |
755 | --- src/ubuntu/ubuntuplugin.cpp 2014-07-31 09:41:18 +0000 |
756 | +++ src/ubuntu/ubuntuplugin.cpp 2014-08-11 15:35:47 +0000 |
757 | @@ -217,13 +217,13 @@ |
758 | //invoke the method the next time the event loop starts |
759 | QMetaObject::invokeMethod(m_ubuntuDeviceMode,"showAddEmulatorDialog",Qt::QueuedConnection); |
760 | } |
761 | + } |
762 | |
763 | - if(wiz.field(QStringLiteral("disableWizard")).toBool()) { |
764 | - QFile f(file); |
765 | - if(f.open(QIODevice::WriteOnly)) { |
766 | - f.write("1"); |
767 | - f.close(); |
768 | - } |
769 | + if(wiz.field(QStringLiteral("disableWizard")).toBool()) { |
770 | + QFile f(file); |
771 | + if(f.open(QIODevice::WriteOnly)) { |
772 | + f.write("1"); |
773 | + f.close(); |
774 | } |
775 | } |
776 | } |
777 | |
778 | === modified file 'src/ubuntu/ubunturemoterunconfiguration.cpp' |
779 | --- src/ubuntu/ubunturemoterunconfiguration.cpp 2014-07-29 12:35:13 +0000 |
780 | +++ src/ubuntu/ubunturemoterunconfiguration.cpp 2014-08-11 15:35:47 +0000 |
781 | @@ -48,14 +48,16 @@ |
782 | }; |
783 | |
784 | UbuntuRemoteRunConfiguration::UbuntuRemoteRunConfiguration(ProjectExplorer::Target *parent, Core::Id id) |
785 | - : AbstractRemoteLinuxRunConfiguration(parent,id) |
786 | + : AbstractRemoteLinuxRunConfiguration(parent,id), |
787 | + m_running(false) |
788 | { |
789 | setDisplayName(appId()); |
790 | addExtraAspect(new RemoteLinux::RemoteLinuxEnvironmentAspect(this)); |
791 | } |
792 | |
793 | UbuntuRemoteRunConfiguration::UbuntuRemoteRunConfiguration(ProjectExplorer::Target *parent, UbuntuRemoteRunConfiguration *source) |
794 | - : AbstractRemoteLinuxRunConfiguration(parent,source) |
795 | + : AbstractRemoteLinuxRunConfiguration(parent,source), |
796 | + m_running(false) |
797 | { |
798 | } |
799 | |
800 | @@ -114,11 +116,13 @@ |
801 | |
802 | bool UbuntuRemoteRunConfiguration::isEnabled() const |
803 | { |
804 | - return true; |
805 | + return (!m_running); |
806 | } |
807 | |
808 | QString UbuntuRemoteRunConfiguration::disabledReason() const |
809 | { |
810 | + if(m_running) |
811 | + return tr("This configuration is already running on the device"); |
812 | return QString(); |
813 | } |
814 | |
815 | @@ -155,6 +159,13 @@ |
816 | return false; |
817 | |
818 | ProjectExplorer::DeployConfiguration *deplConf = qobject_cast<ProjectExplorer::DeployConfiguration*>(target()->activeDeployConfiguration()); |
819 | + if(!deplConf) { |
820 | + if(errorMessage) |
821 | + *errorMessage = tr("No valid deploy configuration is set."); |
822 | + |
823 | + return false; |
824 | + } |
825 | + |
826 | ProjectExplorer::BuildStepList *bsList = deplConf->stepList(); |
827 | foreach(ProjectExplorer::BuildStep *currStep ,bsList->steps()) { |
828 | UbuntuPackageStep *pckStep = qobject_cast<UbuntuPackageStep*>(currStep); |
829 | @@ -282,5 +293,13 @@ |
830 | return QString(); |
831 | } |
832 | |
833 | +void UbuntuRemoteRunConfiguration::setRunning(const bool set) |
834 | +{ |
835 | + if(m_running != set) { |
836 | + m_running = set; |
837 | + emit enabledChanged(); |
838 | + } |
839 | +} |
840 | + |
841 | } // namespace Internal |
842 | } // namespace Ubuntu |
843 | |
844 | === modified file 'src/ubuntu/ubunturemoterunconfiguration.h' |
845 | --- src/ubuntu/ubunturemoterunconfiguration.h 2014-07-14 15:39:54 +0000 |
846 | +++ src/ubuntu/ubunturemoterunconfiguration.h 2014-08-11 15:35:47 +0000 |
847 | @@ -60,6 +60,7 @@ |
848 | void setArguments (const QStringList &args); |
849 | |
850 | QString packageDir () const; |
851 | + void setRunning (const bool set = true); |
852 | |
853 | private: |
854 | QString m_clickPackage; |
855 | @@ -68,6 +69,7 @@ |
856 | QString m_localExecutable; |
857 | QString m_remoteExecutable; |
858 | QStringList m_arguments; |
859 | + bool m_running; |
860 | |
861 | }; |
862 | |
863 | |
864 | === modified file 'src/ubuntu/ubunturemoteruncontrol.cpp' |
865 | --- src/ubuntu/ubunturemoteruncontrol.cpp 2014-08-06 11:47:54 +0000 |
866 | +++ src/ubuntu/ubunturemoteruncontrol.cpp 2014-08-11 15:35:47 +0000 |
867 | @@ -60,6 +60,7 @@ |
868 | Utils::Environment environment; |
869 | |
870 | QPointer<UbuntuWaitForDeviceDialog> waitDialog; |
871 | + QPointer<UbuntuRemoteRunConfiguration> runConfig; |
872 | }; |
873 | |
874 | UbuntuRemoteRunControl::UbuntuRemoteRunControl(RunConfiguration *rc) |
875 | @@ -68,9 +69,9 @@ |
876 | d->running = false; |
877 | |
878 | d->device = qSharedPointerCast<const UbuntuDevice>(DeviceKitInformation::device(rc->target()->kit())); |
879 | - const UbuntuRemoteRunConfiguration * const lrc = static_cast<UbuntuRemoteRunConfiguration *>(rc); |
880 | - d->environment = lrc->environment(); |
881 | - d->clickPackage = lrc->clickPackage(); |
882 | + d->runConfig = QPointer<UbuntuRemoteRunConfiguration>(static_cast<UbuntuRemoteRunConfiguration *>(rc)); |
883 | + d->environment = d->runConfig->environment(); |
884 | + d->clickPackage = d->runConfig->clickPackage(); |
885 | } |
886 | |
887 | UbuntuRemoteRunControl::~UbuntuRemoteRunControl() |
888 | @@ -134,9 +135,13 @@ |
889 | void UbuntuRemoteRunControl::handleDeviceReady() |
890 | { |
891 | d->waitDialog->deleteLater(); |
892 | - |
893 | d->running = true; |
894 | + |
895 | + if(d->runConfig) |
896 | + d->runConfig->setRunning(true); |
897 | + |
898 | emit started(); |
899 | + |
900 | d->runner.disconnect(this); |
901 | |
902 | connect(&d->runner, SIGNAL(reportError(QString)), SLOT(handleErrorMessage(QString))); |
903 | @@ -166,6 +171,8 @@ |
904 | |
905 | void UbuntuRemoteRunControl::setFinished() |
906 | { |
907 | + if(d->runConfig) |
908 | + d->runConfig->setRunning(false); |
909 | d->runner.disconnect(this); |
910 | d->running = false; |
911 | emit finished(); |
108 + iconSource: "qrc:/ubuntu/ images/ reload. svg"
It is not required to hardcode the icon path. With iconName you can just set "reload" or "add" and the SDK should retrieve them automatically from the suru-icon-theme. You will need to add that package as a dependency to the the qtcreator- plugin- ubuntu. At least that's how core apps do it.