Merge lp:~ibelieve/lang/layout_improvements into lp:lang

Proposed by Michael Spencer
Status: Merged
Approved by: Bogdan
Approved revision: 13
Merged at revision: 11
Proposed branch: lp:~ibelieve/lang/layout_improvements
Merge into: lp:lang
Diff against target: 959 lines (+310/-575)
9 files modified
.bzrignore (+1/-0)
Lang.qmlproject (+2/-2)
Lang.qmlproject.user (+0/-407)
QML/AddCollectionDialog.qml (+83/-0)
QML/CollectionsPage.qml (+77/-0)
QML/DeleteCollectionDialog.qml (+28/-0)
QML/Lang.qml (+5/-166)
components/ConfirmDialog.qml (+47/-0)
components/DialogButtonRow.qml (+67/-0)
To merge this branch: bzr merge lp:~ibelieve/lang/layout_improvements
Reviewer Review Type Date Requested Status
Bogdan Approve
Review via email: mp+233090@code.launchpad.net

Commit message

Improve the layout of the collections page and some of the dialogs

Description of the change

Improve the layout of the collections page and some of the dialogs

- Use a grid view on the collections page with auto-resizing cells so the padding is always even on all sides
- Add an empty placeholder label to the colections page when there are no vocabulary collections
- Move the collections page into a separate file
- Move the add collection dialog into a separate file and improve the layout
- Move the delete collection into a separate file and improve the layout

To post a comment you must log in.
Revision history for this message
Bogdan (boghison) wrote :

Thank you very much.

review: Approve
Revision history for this message
Michael Spencer (ibelieve) wrote :

I'm not entirely sure of the process outside of the Ubuntu core apps, but since you don't have a ubuntu bot running Jenkins and automatically doing the merges, I think you're going to have to merge my branch from the command line, push the new commit to Launchpad, and then mark the Status as Merged.

See the "Making the Merge" section here: https://help.launchpad.net/Code/Review

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.bzrignore'
2--- .bzrignore 1970-01-01 00:00:00 +0000
3+++ .bzrignore 2014-09-02 16:35:07 +0000
4@@ -0,0 +1,1 @@
5+*.qmlproject.user*
6
7=== modified file 'Lang.qmlproject'
8--- Lang.qmlproject 2014-08-27 12:09:40 +0000
9+++ Lang.qmlproject 2014-09-02 16:35:07 +0000
10@@ -4,13 +4,13 @@
11 mainFile: "QML/Lang.qml"
12
13 QmlFiles {
14- directory: "QML"
15+ directory: "."
16 }
17 JavaScriptFiles {
18 directory: "."
19 }
20 ImageFiles {
21- directory: "IMG"
22+ directory: "."
23 }
24 Files {
25 filter: "*.desktop"
26
27=== removed file 'Lang.qmlproject.user'
28--- Lang.qmlproject.user 2014-08-31 11:06:51 +0000
29+++ Lang.qmlproject.user 1970-01-01 00:00:00 +0000
30@@ -1,407 +0,0 @@
31-<?xml version="1.0" encoding="UTF-8"?>
32-<!DOCTYPE QtCreatorProject>
33-<!-- Written by QtCreator 3.1.1, 2014-08-31T14:06:16. -->
34-<qtcreator>
35- <data>
36- <variable>ProjectExplorer.Project.ActiveTarget</variable>
37- <value type="int">1</value>
38- </data>
39- <data>
40- <variable>ProjectExplorer.Project.EditorSettings</variable>
41- <valuemap type="QVariantMap">
42- <value type="bool" key="EditorConfiguration.AutoIndent">true</value>
43- <value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
44- <value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
45- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
46- <value type="QString" key="language">Cpp</value>
47- <valuemap type="QVariantMap" key="value">
48- <value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
49- </valuemap>
50- </valuemap>
51- <valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
52- <value type="QString" key="language">QmlJS</value>
53- <valuemap type="QVariantMap" key="value">
54- <value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
55- </valuemap>
56- </valuemap>
57- <value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
58- <value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
59- <value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
60- <value type="int" key="EditorConfiguration.IndentSize">4</value>
61- <value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
62- <value type="int" key="EditorConfiguration.MarginColumn">80</value>
63- <value type="bool" key="EditorConfiguration.MouseHiding">true</value>
64- <value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
65- <value type="int" key="EditorConfiguration.PaddingMode">1</value>
66- <value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
67- <value type="bool" key="EditorConfiguration.ShowMargin">false</value>
68- <value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
69- <value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
70- <value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
71- <value type="int" key="EditorConfiguration.TabSize">8</value>
72- <value type="bool" key="EditorConfiguration.UseGlobal">true</value>
73- <value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
74- <value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
75- <value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
76- <value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
77- <value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
78- </valuemap>
79- </data>
80- <data>
81- <variable>ProjectExplorer.Project.PluginSettings</variable>
82- <valuemap type="QVariantMap"/>
83- </data>
84- <data>
85- <variable>ProjectExplorer.Project.Target.0</variable>
86- <valuemap type="QVariantMap">
87- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
88- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
89- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{4f363ae6-5c8c-4713-89e7-07655994b0fa}</value>
90- <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
91- <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
92- <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">2</value>
93- <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
94- <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/boghison/Projects/build-Lang-Desktop-default</value>
95- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
96- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
97- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
98- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
99- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
100- </valuemap>
101- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
102- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
103- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
104- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
105- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
106- </valuemap>
107- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
108- <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
109- <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
110- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
111- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
112- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UbuntuQml.BuildConfiguration</value>
113- </valuemap>
114- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
115- <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
116- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
117- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
118- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
119- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
120- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
121- </valuemap>
122- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
123- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy locally</value>
124- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
125- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
126- </valuemap>
127- <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
128- <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
129- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
130- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
131- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
132- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
133- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
134- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
135- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
136- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
137- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
138- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
139- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
140- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
141- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
142- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
143- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
144- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
145- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
146- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
147- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
148- <value type="int">0</value>
149- <value type="int">1</value>
150- <value type="int">2</value>
151- <value type="int">3</value>
152- <value type="int">4</value>
153- <value type="int">5</value>
154- <value type="int">6</value>
155- <value type="int">7</value>
156- <value type="int">8</value>
157- <value type="int">9</value>
158- <value type="int">10</value>
159- <value type="int">11</value>
160- <value type="int">12</value>
161- <value type="int">13</value>
162- <value type="int">14</value>
163- </valuelist>
164- <value type="int" key="PE.EnvironmentAspect.Base">0</value>
165- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
166- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
167- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene</value>
168- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration.QmlScene</value>
169- <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
170- <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
171- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
172- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
173- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
174- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
175- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
176- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
177- </valuemap>
178- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
179- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
180- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
181- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
182- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
183- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
184- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
185- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
186- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
187- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
188- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
189- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
190- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
191- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
192- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
193- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
194- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
195- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
196- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
197- <value type="int">0</value>
198- <value type="int">1</value>
199- <value type="int">2</value>
200- <value type="int">3</value>
201- <value type="int">4</value>
202- <value type="int">5</value>
203- <value type="int">6</value>
204- <value type="int">7</value>
205- <value type="int">8</value>
206- <value type="int">9</value>
207- <value type="int">10</value>
208- <value type="int">11</value>
209- <value type="int">12</value>
210- <value type="int">13</value>
211- <value type="int">14</value>
212- </valuelist>
213- <value type="int" key="PE.EnvironmentAspect.Base">-1</value>
214- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
215- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
216- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Viewer</value>
217- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmlProjectManager.QmlRunConfiguration</value>
218- <value type="QString" key="QmlProjectManager.QmlRunConfiguration.MainScript">CurrentFile</value>
219- <value type="QString" key="QmlProjectManager.QmlRunConfiguration.QDeclarativeViewerArguments"></value>
220- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
221- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
222- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
223- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
224- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
225- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
226- </valuemap>
227- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.2">
228- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
229- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
230- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
231- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
232- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
233- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
234- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
235- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
236- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
237- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
238- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
239- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
240- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
241- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
242- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
243- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
244- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
245- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
246- <value type="int">0</value>
247- <value type="int">1</value>
248- <value type="int">2</value>
249- <value type="int">3</value>
250- <value type="int">4</value>
251- <value type="int">5</value>
252- <value type="int">6</value>
253- <value type="int">7</value>
254- <value type="int">8</value>
255- <value type="int">9</value>
256- <value type="int">10</value>
257- <value type="int">11</value>
258- <value type="int">12</value>
259- <value type="int">13</value>
260- <value type="int">14</value>
261- </valuelist>
262- <value type="int" key="PE.EnvironmentAspect.Base">2</value>
263- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
264- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
265- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Lang</value>
266- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UbuntuRunConfigurationLang</value>
267- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
268- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
269- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
270- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
271- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
272- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
273- </valuemap>
274- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">3</value>
275- </valuemap>
276- </data>
277- <data>
278- <variable>ProjectExplorer.Project.Target.1</variable>
279- <valuemap type="QVariantMap">
280- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">UbuntuSDK for armhf (GCC ubuntu-sdk-14.10-utopic)</value>
281- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">UbuntuSDK for armhf (GCC ubuntu-sdk-14.10-utopic)</value>
282- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{a37e5551-8273-42ae-978c-2364c32a933a}</value>
283- <value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
284- <value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
285- <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
286- <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
287- <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default</value>
288- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
289- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
290- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
291- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
292- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
293- </valuemap>
294- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
295- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
296- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
297- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
298- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
299- </valuemap>
300- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
301- <value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
302- <valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
303- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Default</value>
304- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
305- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UbuntuQml.BuildConfiguration</value>
306- </valuemap>
307- <value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">1</value>
308- <valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
309- <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
310- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
311- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
312- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">UbuntuSDK Click build</value>
313- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
314- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.ClickPackageStep</value>
315- <value type="int" key="Ubuntu.UbuntuPackageStep.PackageMode">0</value>
316- </valuemap>
317- <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
318- <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
319- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Upload files to Ubuntu Device</value>
320- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
321- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.UploadStep</value>
322- <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedFiles">
323- <value type="QString">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.boghison.lang_0.1_all.click</value>
324- <value type="QString">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.boghison.lang_0.5_all.click</value>
325- <value type="QString">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.boghison.lang_0.4_all.click</value>
326- <value type="QString">/usr/share/qtcreator/ubuntu/scripts/qtc_device_applaunch.py</value>
327- <value type="QString">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.boghison.lang_0.3_all.click</value>
328- <value type="QString">/home/boghison/Projects/build-Lang-UbuntuSDK_for_armhf_GCC_ubuntu_sdk_14_10_utopic-default/com.ubuntu.developer.boghison.lang_0.6_all.click</value>
329- </valuelist>
330- <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedHosts">
331- <value type="QString">127.0.0.1</value>
332- <value type="QString">127.0.0.1</value>
333- <value type="QString">127.0.0.1</value>
334- <value type="QString">127.0.0.1</value>
335- <value type="QString">127.0.0.1</value>
336- <value type="QString">127.0.0.1</value>
337- </valuelist>
338- <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedRemotePaths">
339- <value type="QString">/tmp</value>
340- <value type="QString">/tmp</value>
341- <value type="QString">/tmp</value>
342- <value type="QString">/tmp</value>
343- <value type="QString">/tmp</value>
344- <value type="QString">/tmp</value>
345- </valuelist>
346- <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedSysroots">
347- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
348- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
349- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
350- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
351- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
352- <value type="QString">/var/lib/schroot/chroots/click-ubuntu-sdk-14.10-armhf</value>
353- </valuelist>
354- <valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes">
355- <value type="QDateTime">2014-08-27T15:05:28</value>
356- <value type="QDateTime">2014-08-31T12:44:01</value>
357- <value type="QDateTime">2014-08-30T15:04:19</value>
358- <value type="QDateTime">2014-08-31T13:59:11</value>
359- <value type="QDateTime">2014-08-28T16:25:06</value>
360- <value type="QDateTime">2014-08-31T13:59:11</value>
361- </valuelist>
362- </valuemap>
363- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
364- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
365- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
366- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
367- </valuemap>
368- <value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
369- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy to Ubuntu Device</value>
370- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
371- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.DeployConfiguration</value>
372- </valuemap>
373- <value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
374- <valuemap type="QVariantMap" key="ProjectExplorer.Target.PluginSettings"/>
375- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
376- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
377- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
378- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
379- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
380- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
381- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
382- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
383- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
384- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
385- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
386- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
387- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
388- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
389- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
390- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
391- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
392- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
393- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
394- <value type="int">0</value>
395- <value type="int">1</value>
396- <value type="int">2</value>
397- <value type="int">3</value>
398- <value type="int">4</value>
399- <value type="int">5</value>
400- <value type="int">6</value>
401- <value type="int">7</value>
402- <value type="int">8</value>
403- <value type="int">9</value>
404- <value type="int">10</value>
405- <value type="int">11</value>
406- <value type="int">12</value>
407- <value type="int">13</value>
408- <value type="int">14</value>
409- </valuelist>
410- <value type="int" key="PE.EnvironmentAspect.Base">1</value>
411- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
412- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName"></value>
413- <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Lang</value>
414- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">UbuntuProjectManager.RemoteRunConfigurationLang</value>
415- <value type="uint" key="RunConfiguration.QmlDebugServerPort">3768</value>
416- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
417- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
418- <value type="bool" key="RunConfiguration.UseMultiProcess">false</value>
419- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
420- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
421- </valuemap>
422- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
423- </valuemap>
424- </data>
425- <data>
426- <variable>ProjectExplorer.Project.TargetCount</variable>
427- <value type="int">2</value>
428- </data>
429- <data>
430- <variable>ProjectExplorer.Project.Updater.EnvironmentId</variable>
431- <value type="QByteArray">{933be325-2d5b-4358-a163-774b77eeb676}</value>
432- </data>
433- <data>
434- <variable>ProjectExplorer.Project.Updater.FileVersion</variable>
435- <value type="int">15</value>
436- </data>
437-</qtcreator>
438
439=== added file 'QML/AddCollectionDialog.qml'
440--- QML/AddCollectionDialog.qml 1970-01-01 00:00:00 +0000
441+++ QML/AddCollectionDialog.qml 2014-09-02 16:35:07 +0000
442@@ -0,0 +1,83 @@
443+import QtQuick 2.0
444+
445+import Ubuntu.Components 1.1
446+import Ubuntu.Components.Popups 1.0
447+
448+import "../components"
449+
450+Dialog {
451+ id: dialog
452+
453+ title: i18n.tr("Add Vocabulary Collection")
454+
455+ text: i18n.tr("Enter the name of the language and pick a color for it:")
456+
457+ TextField {
458+ id: langField
459+ width: parent.width
460+
461+ placeholderText: i18n.tr("Language name")
462+
463+ validator: RegExpValidator {
464+ regExp: /.+/
465+ }
466+ }
467+
468+ Label {
469+ text: i18n.tr("Preview (tap to change color)")
470+ }
471+
472+
473+ Item {
474+ height: units.gu(20)
475+
476+ // The UbuntuShape is within a wrapper Item because the Dialog forces all children items
477+ // to be full-width.
478+ UbuntuShape {
479+ id: colorShape
480+ width: units.gu(15)
481+ height: units.gu(20)
482+ color: "#0000ff"
483+
484+ anchors.horizontalCenter: parent.horizontalCenter
485+
486+ MouseArea {
487+ anchors.fill: parent
488+ onClicked: {
489+ var colorArray = ["#0000ff", "#800080", "#ffa500", "#00ff00", "#30d5c8", "#000000", "#ff0000", "#ffc0cb", "#a5682a"];
490+ colorShape.color = (String(colorShape.color) !== colorArray[colorArray.length - 1]) ? colorArray[colorArray.indexOf(String(colorShape.color)) + 1] : colorArray[0]
491+ }
492+ }
493+
494+ Label {
495+ text: langField.text
496+ color: "white"
497+ anchors.centerIn: parent
498+ }
499+ }
500+ }
501+
502+ DialogButtonRow {
503+ enabled: langField.acceptableInput
504+
505+ onAccepted: {
506+ PopupUtils.close(dialog)
507+
508+ var tempContents = {};
509+ tempContents = vocabDB.contents;
510+ var existing;
511+ for (var i = 0; i < tempContents["vocabularies"].length; i++) {
512+ if (tempContents["vocabularies"][i].color == colorShape.color && tempContents["vocabularies"][i].name == langField.text) existing = true
513+ }
514+ if (existing == null) {
515+ tempContents["vocabularies"].push({"name": langField.text, "color": colorShape.color, "translations": [], "definitions": []});
516+ vocabDB.contents = tempContents;
517+ PopupUtils.close(addVocabDialog);
518+ mainStack.clear();
519+ mainStack.push(vocabPage);
520+ }
521+ }
522+
523+ onRejected: PopupUtils.close(dialog)
524+ }
525+}
526
527=== added file 'QML/CollectionsPage.qml'
528--- QML/CollectionsPage.qml 1970-01-01 00:00:00 +0000
529+++ QML/CollectionsPage.qml 2014-09-02 16:35:07 +0000
530@@ -0,0 +1,77 @@
531+import QtQuick 2.0
532+
533+import Ubuntu.Components 1.1
534+import Ubuntu.Components.Popups 1.0
535+import Ubuntu.Components.ListItems 1.0 as ListItem
536+
537+
538+Page {
539+ id: page
540+ title: i18n.tr("Vocabulary Collections")
541+
542+ head.actions: [
543+ Action {
544+ text: i18n.tr("Add Collection")
545+ iconName: "add"
546+ onTriggered: PopupUtils.open(addVocab)
547+ }
548+ ]
549+
550+ property int columns: width/units.gu(20)
551+
552+ property int padding: units.gu(2)
553+ property int columnWidth: gridView.count < columns ? units.gu(20) : (width - padding * (columns + 1))/columns
554+
555+ // We must set this to null when displaying the empty label so the label is centered
556+ // correctly under the header
557+ flickable: gridView.count == 0 ? null : gridView
558+
559+ GridView {
560+ id: gridView
561+
562+ anchors {
563+ fill: parent
564+ margins: page.padding/2
565+ }
566+
567+ cellWidth: columnWidth + padding
568+ cellHeight: columnWidth * 4/3 + padding
569+
570+ model: vocabDB.contents["vocabularies"]
571+ delegate: Item {
572+ width: gridView.cellWidth
573+ height: gridView.cellHeight
574+
575+ UbuntuShape {
576+ anchors.centerIn: parent
577+
578+ width: columnWidth
579+ height: width * 4/3
580+ color: modelData.color
581+
582+ Label {
583+ anchors.centerIn: parent
584+ text: modelData.name
585+ color: "white"
586+ }
587+ MouseArea {
588+ anchors.fill: parent
589+ onClicked: handleShape(parent.color, parent.children[0].text)
590+ }
591+ }
592+ }
593+ }
594+
595+ Scrollbar {
596+ flickableItem: gridView
597+ }
598+
599+ Label {
600+ anchors.centerIn: parent
601+ fontSize: "large"
602+ opacity: 0.5
603+ visible: gridView.count == 0
604+
605+ text: "No vocabulary collections yet"
606+ }
607+}
608
609=== added file 'QML/DeleteCollectionDialog.qml'
610--- QML/DeleteCollectionDialog.qml 1970-01-01 00:00:00 +0000
611+++ QML/DeleteCollectionDialog.qml 2014-09-02 16:35:07 +0000
612@@ -0,0 +1,28 @@
613+import QtQuick 2.0
614+
615+import "../components"
616+
617+ConfirmDialog {
618+ title: i18n.tr("Delete Vocabulary Collection")
619+ text: i18n.tr("Are you sure you want to delete '%1'?").arg(name)
620+
621+ acceptText: i18n.tr("Delete")
622+ acceptColor: "#d9534f"
623+
624+ property string name
625+
626+ onAccepted: {
627+ var tempContents = vocabDB.contents;
628+ var newArray = [];
629+ for (var y = 0; y < tempContents.vocabularies.length; y++){
630+ if (String(tempContents.vocabularies[y].name) == String(name)){
631+ continue;
632+ }
633+ newArray.push(tempContents.vocabularies[y]);
634+ }
635+ tempContents.vocabularies = newArray;
636+ vocabDB.contents = tempContents;
637+
638+ mainStack.pop(mainPage);
639+ }
640+}
641
642=== modified file 'QML/Lang.qml'
643--- QML/Lang.qml 2014-08-31 11:06:51 +0000
644+++ QML/Lang.qml 2014-09-02 16:35:07 +0000
645@@ -65,140 +65,13 @@
646 Component {
647 id: vocabPage
648
649- Page {
650- title: i18n.tr("Your Vocabularies")
651- head.actions: [
652- Action {
653- text: i18n.tr("Add")
654- iconName: "add"
655- onTriggered: PopupUtils.open(addVocab)
656- }
657- ]
658-
659- Flickable{
660- anchors.fill: parent
661- clip: true
662- interactive: contentHeight > height
663- contentHeight: vocabFlow.height
664-
665- Flow {
666- id: vocabFlow
667- width: parent.parent.width
668- spacing: units.gu(5)
669-
670- Repeater{
671- model: vocabDB.contents["vocabularies"]
672- delegate: UbuntuShape {
673- width: units.gu(15)
674- height: units.gu(20)
675- color: modelData.color
676-
677- Label {
678- anchors.centerIn: parent
679- text: modelData.name
680- color: "white"
681- }
682- MouseArea {
683- anchors.fill: parent
684- onClicked: handleShape(parent.color, parent.children[0].text)
685- }
686- }
687- }
688-
689- }
690- }
691- }
692+ CollectionsPage {}
693 }
694
695 Component {
696 id: addVocab
697
698- Dialog {
699- id: addVocabDialog
700- title: i18n.tr("Add a new vocabulary")
701-
702- Item {
703- width: parent.width
704- height: units.gu(40)
705-
706- Flickable {
707- width: parent.width
708- height: parent.height
709- clip: true
710- interactive: contentHeight > height
711- contentHeight: vocabColumn.height
712-
713- Column {
714- id: vocabColumn
715- width: parent.width
716- spacing: units.gu(1)
717-
718- Label {
719- text: i18n.tr("Language: ")
720- }
721- TextField {
722- id: langField
723- width: parent.width
724- }
725- Label {
726- text: i18n.tr("Preview (tap to change color)")
727- }
728- UbuntuShape {
729- id: colorShape
730- width: units.gu(15)
731- height: units.gu(20)
732- color: "#0000ff"
733-
734- MouseArea {
735- anchors.fill: parent
736- onClicked: {
737- var colorArray = ["#0000ff", "#800080", "#ffa500", "#00ff00", "#30d5c8", "#000000", "#ff0000", "#ffc0cb", "#a5682a"];
738- colorShape.color = (String(colorShape.color) !== colorArray[colorArray.length - 1]) ? colorArray[colorArray.indexOf(String(colorShape.color)) + 1] : colorArray[0]
739- }
740- }
741- Label {
742- text: langField.text
743- color: "white"
744- anchors.centerIn: parent
745- }
746- }
747- Row{
748- width: parent.width
749- Button {
750- text: i18n.tr("Save")
751- width: parent.width/2
752- action: Action {
753- onTriggered: {
754- if (langField.text != "") {
755- var tempContents = {};
756- tempContents = vocabDB.contents;
757- var existing;
758- for (var i = 0; i < tempContents["vocabularies"].length; i++) {
759- if (tempContents["vocabularies"][i].color == colorShape.color && tempContents["vocabularies"][i].name == langField.text) existing = true
760- }
761- if (existing == null) {
762- tempContents["vocabularies"].push({"name": langField.text, "color": colorShape.color, "translations": [], "definitions": []});
763- vocabDB.contents = tempContents;
764- PopupUtils.close(addVocabDialog);
765- mainStack.clear();
766- mainStack.push(vocabPage);
767- }
768- }
769- }
770- }
771- }
772- Button {
773- text: i18n.tr("Cancel")
774- width: parent.width/2
775- action: Action{
776- onTriggered: PopupUtils.close(addVocabDialog)
777- }
778- }
779- }
780- }
781- }
782- }
783- }
784+ AddCollectionDialog {}
785 }
786 Component {
787 id: mainPage
788@@ -246,43 +119,9 @@
789 Component {
790 id: deleteVocab
791
792- Dialog {
793- id: deleteVocabDialog
794- title: i18n.tr("Are you sure?")
795-
796- Column {
797- spacing: units.gu(1)
798- width: parent.width
799-
800- Button {
801- width: parent.width
802- text: i18n.tr("Yes")
803- action: Action {
804- onTriggered: {
805- var tempContents = vocabDB.contents;
806- var newArray = [];
807- for (var y = 0; y < tempContents.vocabularies.length; y++){
808- if (String(tempContents.vocabularies[y].name) == String(propertyPage.title)){
809- continue;
810- }
811- newArray.push(tempContents.vocabularies[y]);
812- }
813- tempContents.vocabularies = newArray;
814- vocabDB.contents = tempContents;
815- PopupUtils.close(deleteVocabDialog);
816- mainStack.pop(mainPage);
817- }
818- }
819- }
820- Button {
821- width: parent.width
822- text: i18n.tr("Cancel")
823- action: Action {
824- onTriggered: PopupUtils.close(deleteVocabDialog)
825- }
826- }
827- }
828- }
829+ DeleteCollectionDialog {
830+ name: propertyPage.title
831+ }
832 }
833
834 Component {
835
836=== added directory 'components'
837=== added file 'components/ConfirmDialog.qml'
838--- components/ConfirmDialog.qml 1970-01-01 00:00:00 +0000
839+++ components/ConfirmDialog.qml 2014-09-02 16:35:07 +0000
840@@ -0,0 +1,47 @@
841+/*
842+ * Ubuntu UI Extras - A collection of QML widgets not available
843+ * in the default Ubuntu UI Toolkit
844+ * Copyright (C) 2014 Michael Spencer
845+ *
846+ * This program is free software: you can redistribute it and/or modify
847+ * it under the terms of the GNU General Public License as published by
848+ * the Free Software Foundation, either version 3 of the License, or
849+ * (at your option) any later version.
850+ *
851+ * This program is distributed in the hope that it will be useful,
852+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
853+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
854+ * GNU General Public License for more details.
855+ *
856+ * You should have received a copy of the GNU General Public License
857+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
858+ */
859+
860+import QtQuick 2.0
861+import Ubuntu.Components 1.1
862+import Ubuntu.Components.Popups 1.0
863+import Ubuntu.Components.ListItems 1.0 as ListItem
864+
865+Dialog {
866+ id: dialog
867+
868+ signal accepted
869+ signal rejected
870+
871+ property alias acceptText: buttons.acceptText
872+ property alias acceptColor: buttons.acceptColor
873+
874+ DialogButtonRow {
875+ id: buttons
876+
877+ onAccepted: {
878+ PopupUtils.close(dialog)
879+ dialog.accepted()
880+ }
881+
882+ onRejected: {
883+ PopupUtils.close(dialog)
884+ dialog.rejected()
885+ }
886+ }
887+}
888
889=== added file 'components/DialogButtonRow.qml'
890--- components/DialogButtonRow.qml 1970-01-01 00:00:00 +0000
891+++ components/DialogButtonRow.qml 2014-09-02 16:35:07 +0000
892@@ -0,0 +1,67 @@
893+/*
894+ * Ubuntu UI Extras - A collection of QML widgets not available
895+ * in the default Ubuntu UI Toolkit
896+ * Copyright (C) 2014 Michael Spencer
897+ *
898+ * This program is free software: you can redistribute it and/or modify
899+ * it under the terms of the GNU General Public License as published by
900+ * the Free Software Foundation, either version 3 of the License, or
901+ * (at your option) any later version.
902+ *
903+ * This program is distributed in the hope that it will be useful,
904+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
905+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
906+ * GNU General Public License for more details.
907+ *
908+ * You should have received a copy of the GNU General Public License
909+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
910+ */
911+
912+import QtQuick 2.0
913+import Ubuntu.Components 1.1
914+
915+Item {
916+ width: parent.width
917+ height: childrenRect.height
918+
919+ signal accepted
920+ signal rejected
921+
922+ property alias enabled: okButton.enabled
923+
924+ property alias acceptText: okButton.text
925+ property alias acceptColor: okButton.color
926+
927+ Button {
928+ objectName: "cancelButton"
929+ text: i18n.tr("Cancel")
930+
931+ anchors {
932+ left: parent.left
933+ right: parent.horizontalCenter
934+ rightMargin: units.gu(1)
935+ }
936+
937+ onTriggered: {
938+ rejected()
939+ }
940+ }
941+
942+ Button {
943+ id: okButton
944+ objectName: "okButton"
945+
946+ anchors {
947+ left: parent.horizontalCenter
948+ right: parent.right
949+ leftMargin: units.gu(1)
950+ }
951+
952+ text: i18n.tr("Ok")
953+ color: UbuntuColors.orange
954+
955+ onTriggered: {
956+ accepted()
957+ }
958+ }
959+}

Subscribers

People subscribed via source and target branches

to all changes: