Merge lp:~zeller-benjamin/qtcreator-plugin-ubuntu/kitcreate into lp:qtcreator-plugin-ubuntu

Proposed by Benjamin Zeller
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
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

To post a comment you must log in.
Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

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.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
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

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
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();

Subscribers

People subscribed via source and target branches