Merge lp:~dalius-sandbox/ubuntu-calculator-app/official-design into lp:~ubuntu-calculator-dev/ubuntu-calculator-app/old_trunk
- official-design
- Merge into old_trunk
Status: | Merged |
---|---|
Approved by: | Gustavo Pichorim Boiko |
Approved revision: | 82 |
Merged at revision: | 83 |
Proposed branch: | lp:~dalius-sandbox/ubuntu-calculator-app/official-design |
Merge into: | lp:~ubuntu-calculator-dev/ubuntu-calculator-app/old_trunk |
Diff against target: |
781 lines (+426/-195) 7 files modified
Simple/CalcKeyboard.qml (+177/-162) Simple/CalcLabel.qml (+44/-13) Simple/KeyboardButton.qml (+24/-13) Simple/Screen.qml (+80/-6) Simple/SimplePage.qml (+7/-1) images/edit.svg (+81/-0) images/generate.py (+13/-0) |
To merge this branch: | bzr merge lp:~dalius-sandbox/ubuntu-calculator-app/official-design |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gustavo Pichorim Boiko (community) | Approve | ||
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Approve | |
Review via email: mp+169499@code.launchpad.net |
Commit message
Initial work on design
Description of the change
Initial work on design
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
Gustavo Pichorim Boiko (boiko) wrote : | # |
182 + width: (calcGridUnit*9)*4 + (calcGridUnit*2)*3
What is this calcGridUnit? Is it different from units.gu()?
Gustavo Pichorim Boiko (boiko) wrote : | # |
Another question: do we really need the edit.png in all those sizes?
Dalius (dalius-sandbox) wrote : | # |
> 182 + width: (calcGridUnit*9)*4 + (calcGridUnit*2)*3
>
> What is this calcGridUnit? Is it different from units.gu()?
Yes, it is. units.gu() gets grid unit size from DPI (or at least I believe so) so on each device we will have different grid size (different number of columns and rows). For calculator keyboard meanwhile we need fixed size grid (fixed number of columns and rows) therefore we calculate calcGridUnit from available width.
BTW, you can skip this part as it appears in diff only because of spacing. There are not actual changes in that place.
Dalius (dalius-sandbox) wrote : | # |
> Another question: do we really need the edit.png in all those sizes?
IMHO, yes. If we want pixel perfect graphics then resize is poor option. Alternatively we could use SVG directly but it is not perfect option either: it is slow and it renders SVG poorly (at least in Qt 4.8, I'm not sure if there are any improvements in Qt 5.0).
Gustavo Pichorim Boiko (boiko) wrote : | # |
Looks good then.
Preview Diff
1 | === modified file 'Simple/CalcKeyboard.qml' |
2 | --- Simple/CalcKeyboard.qml 2013-06-02 11:50:31 +0000 |
3 | +++ Simple/CalcKeyboard.qml 2013-06-14 17:01:30 +0000 |
4 | @@ -35,171 +35,186 @@ |
5 | color: '#757373' |
6 | } |
7 | |
8 | - Item { |
9 | - id: grid |
10 | - width: (calcGridUnit*9)*4 + (calcGridUnit*2)*3 |
11 | - height: (calcGridUnit*6)*5 + (calcGridUnit*2)*4 |
12 | + Rectangle { |
13 | + width: parent.width |
14 | + height: grid.height+units.gu(4) |
15 | + color: "#ECECEC" |
16 | |
17 | anchors{ |
18 | top: parent.top |
19 | - topMargin: units.gu(2) + (formulaView.__wasAtYBegining & formulaView.__displaceDist > 0 ? formulaView.__displaceDist : 0) |
20 | - horizontalCenter: parent.horizontalCenter |
21 | - } |
22 | - |
23 | - KeyboardButton { |
24 | - objectName: "clearButton" |
25 | - id: clearButton |
26 | - x: 0 |
27 | - y: 0 |
28 | - // TRANSLATORS: Refers to Clear, keep the translation to 2 characters |
29 | - text: i18n.tr("C") |
30 | - onClicked: { |
31 | - formulaPop(); |
32 | - } |
33 | - } |
34 | - |
35 | - KeyboardButton { |
36 | - objectName: "signButton" |
37 | - x: (calcGridUnit*11) |
38 | - y: 0 |
39 | - text: "±" |
40 | - onClicked: { |
41 | - changeSign(); |
42 | - } |
43 | - } |
44 | - |
45 | - KeyboardButton { |
46 | - objectName: "divideButton" |
47 | - x: (calcGridUnit*11)*2 |
48 | - y: 0 |
49 | - text: "÷" |
50 | - onClicked: formulaPush("/") |
51 | - } |
52 | - |
53 | - KeyboardButton { |
54 | - objectName: "multiplyButton" |
55 | - x: (calcGridUnit*11)*3 |
56 | - y: 0 |
57 | - text: "×" |
58 | - onClicked: formulaPush("*") |
59 | - } |
60 | - |
61 | - KeyboardButton { |
62 | - objectName: "sevenButton" |
63 | - x: 0 |
64 | - y: (calcGridUnit*8) |
65 | - text: Number(7).toLocaleString(Qt.locale(), "f", 0) |
66 | - onClicked: formulaPush(text) |
67 | - } |
68 | - |
69 | - KeyboardButton { |
70 | - objectName: "eightButton" |
71 | - x: (calcGridUnit*11) |
72 | - y: (calcGridUnit*8) |
73 | - text: Number(8).toLocaleString(Qt.locale(), "f", 0) |
74 | - onClicked: formulaPush(text) |
75 | - } |
76 | - |
77 | - KeyboardButton { |
78 | - objectName: "nineButton" |
79 | - x: (calcGridUnit*11)*2 |
80 | - y: (calcGridUnit*8) |
81 | - text: Number(9).toLocaleString(Qt.locale(), "f", 0) |
82 | - onClicked: formulaPush(text) |
83 | - } |
84 | - |
85 | - KeyboardButton { |
86 | - objectName: "minusButton" |
87 | - x: (calcGridUnit*11)*3 |
88 | - y: (calcGridUnit*8) |
89 | - text: "−" |
90 | - onClicked: formulaPush('-') |
91 | - } |
92 | - |
93 | - KeyboardButton { |
94 | - objectName: "fourButton" |
95 | - x: 0 |
96 | - y: (calcGridUnit*8)*2 |
97 | - text: Number(4).toLocaleString(Qt.locale(), "f", 0) |
98 | - onClicked: formulaPush(text) |
99 | - } |
100 | - |
101 | - KeyboardButton { |
102 | - objectName: "fiveButton" |
103 | - x: (calcGridUnit*11) |
104 | - y: (calcGridUnit*8)*2 |
105 | - text: Number(5).toLocaleString(Qt.locale(), "f", 0) |
106 | - onClicked: formulaPush(text) |
107 | - } |
108 | - |
109 | - KeyboardButton { |
110 | - objectName: "sixButton" |
111 | - x: (calcGridUnit*11)*2 |
112 | - y: (calcGridUnit*8)*2 |
113 | - text: Number(6).toLocaleString(Qt.locale(), "f", 0) |
114 | - onClicked: formulaPush(text) |
115 | - } |
116 | - |
117 | - KeyboardButton { |
118 | - objectName: "plusButton" |
119 | - x: (calcGridUnit*11)*3 |
120 | - y: (calcGridUnit*8)*2 |
121 | - text: "+" |
122 | - onClicked: formulaPush(text) |
123 | - } |
124 | - |
125 | - KeyboardButton { |
126 | - objectName: "oneButton" |
127 | - x: 0 |
128 | - y: (calcGridUnit*8)*3 |
129 | - text: Number(1).toLocaleString(Qt.locale(), "f", 0) |
130 | - onClicked: formulaPush(text) |
131 | - } |
132 | - |
133 | - KeyboardButton { |
134 | - objectName: "twoButton" |
135 | - x: (calcGridUnit*11) |
136 | - y: (calcGridUnit*8)*3 |
137 | - text: Number(2).toLocaleString(Qt.locale(), "f", 0) |
138 | - onClicked: formulaPush(text) |
139 | - } |
140 | - |
141 | - KeyboardButton { |
142 | - objectName: "threeButton" |
143 | - x: (calcGridUnit*11)*2 |
144 | - y: (calcGridUnit*8)*3 |
145 | - text: Number(3).toLocaleString(Qt.locale(), "f", 0) |
146 | - onClicked: formulaPush(text) |
147 | - } |
148 | - |
149 | - KeyboardButton { |
150 | - objectName: "equalsButton" |
151 | - x: (calcGridUnit*11)*3 |
152 | - y: (calcGridUnit*8)*3 |
153 | - height: (calcGridUnit*14) |
154 | - text: "=" |
155 | - textColor: "white" |
156 | - color: "#dd4814" |
157 | - onClicked: { |
158 | - calculate(); |
159 | - } |
160 | - } |
161 | - |
162 | - KeyboardButton { |
163 | - objectName: "zeroButton" |
164 | - x: 0 |
165 | - y: (calcGridUnit*8)*4 |
166 | - width: (calcGridUnit*20) |
167 | - text: Number(0).toLocaleString(Qt.locale(), "f", 0) |
168 | - onClicked: formulaPush(text) |
169 | - } |
170 | - |
171 | - KeyboardButton { |
172 | - objectName: "pointButton" |
173 | - x: (calcGridUnit*11)*2 |
174 | - y: (calcGridUnit*8)*4 |
175 | - text: "." |
176 | - onClicked: formulaPush(text) |
177 | + topMargin: formulaView.__wasAtYBegining & formulaView.__displaceDist > 0 ? formulaView.__displaceDist : 0 |
178 | + } |
179 | + |
180 | + Item { |
181 | + id: grid |
182 | + width: (calcGridUnit*9)*4 + (calcGridUnit*2)*3 |
183 | + height: (calcGridUnit*6)*5 + (calcGridUnit*2)*4 |
184 | + |
185 | + anchors{ |
186 | + horizontalCenter: parent.horizontalCenter |
187 | + top: parent.top |
188 | + topMargin: units.gu(2) |
189 | + } |
190 | + |
191 | + KeyboardButton { |
192 | + objectName: "clearButton" |
193 | + id: clearButton |
194 | + x: 0 |
195 | + y: 0 |
196 | + // TRANSLATORS: Refers to Clear, keep the translation to 2 characters |
197 | + text: i18n.tr("C") |
198 | + textColor: "#464D6F" |
199 | + buttonColor: "#E4E4E7" |
200 | + pressedColor: "#D4D4D7" |
201 | + onClicked: { |
202 | + formulaPop(); |
203 | + } |
204 | + } |
205 | + |
206 | + KeyboardButton { |
207 | + objectName: "signButton" |
208 | + x: (calcGridUnit*11) |
209 | + y: 0 |
210 | + text: "+/-" |
211 | + onClicked: { |
212 | + changeSign(); |
213 | + } |
214 | + } |
215 | + |
216 | + KeyboardButton { |
217 | + objectName: "divideButton" |
218 | + x: (calcGridUnit*11)*2 |
219 | + y: 0 |
220 | + text: "÷" |
221 | + onClicked: formulaPush("/") |
222 | + } |
223 | + |
224 | + KeyboardButton { |
225 | + objectName: "multiplyButton" |
226 | + x: (calcGridUnit*11)*3 |
227 | + y: 0 |
228 | + text: "×" |
229 | + onClicked: formulaPush("*") |
230 | + } |
231 | + |
232 | + KeyboardButton { |
233 | + objectName: "sevenButton" |
234 | + x: 0 |
235 | + y: (calcGridUnit*8) |
236 | + text: Number(7).toLocaleString(Qt.locale(), "f", 0) |
237 | + onClicked: formulaPush(text) |
238 | + } |
239 | + |
240 | + KeyboardButton { |
241 | + objectName: "eightButton" |
242 | + x: (calcGridUnit*11) |
243 | + y: (calcGridUnit*8) |
244 | + text: Number(8).toLocaleString(Qt.locale(), "f", 0) |
245 | + onClicked: formulaPush(text) |
246 | + } |
247 | + |
248 | + KeyboardButton { |
249 | + objectName: "nineButton" |
250 | + x: (calcGridUnit*11)*2 |
251 | + y: (calcGridUnit*8) |
252 | + text: Number(9).toLocaleString(Qt.locale(), "f", 0) |
253 | + onClicked: formulaPush(text) |
254 | + } |
255 | + |
256 | + KeyboardButton { |
257 | + objectName: "minusButton" |
258 | + x: (calcGridUnit*11)*3 |
259 | + y: (calcGridUnit*8) |
260 | + text: "−" |
261 | + onClicked: formulaPush('-') |
262 | + } |
263 | + |
264 | + KeyboardButton { |
265 | + objectName: "fourButton" |
266 | + x: 0 |
267 | + y: (calcGridUnit*8)*2 |
268 | + text: Number(4).toLocaleString(Qt.locale(), "f", 0) |
269 | + onClicked: formulaPush(text) |
270 | + } |
271 | + |
272 | + KeyboardButton { |
273 | + objectName: "fiveButton" |
274 | + x: (calcGridUnit*11) |
275 | + y: (calcGridUnit*8)*2 |
276 | + text: Number(5).toLocaleString(Qt.locale(), "f", 0) |
277 | + onClicked: formulaPush(text) |
278 | + } |
279 | + |
280 | + KeyboardButton { |
281 | + objectName: "sixButton" |
282 | + x: (calcGridUnit*11)*2 |
283 | + y: (calcGridUnit*8)*2 |
284 | + text: Number(6).toLocaleString(Qt.locale(), "f", 0) |
285 | + onClicked: formulaPush(text) |
286 | + } |
287 | + |
288 | + KeyboardButton { |
289 | + objectName: "plusButton" |
290 | + x: (calcGridUnit*11)*3 |
291 | + y: (calcGridUnit*8)*2 |
292 | + text: "+" |
293 | + onClicked: formulaPush(text) |
294 | + } |
295 | + |
296 | + KeyboardButton { |
297 | + objectName: "oneButton" |
298 | + x: 0 |
299 | + y: (calcGridUnit*8)*3 |
300 | + text: Number(1).toLocaleString(Qt.locale(), "f", 0) |
301 | + onClicked: formulaPush(text) |
302 | + } |
303 | + |
304 | + KeyboardButton { |
305 | + objectName: "twoButton" |
306 | + x: (calcGridUnit*11) |
307 | + y: (calcGridUnit*8)*3 |
308 | + text: Number(2).toLocaleString(Qt.locale(), "f", 0) |
309 | + onClicked: formulaPush(text) |
310 | + } |
311 | + |
312 | + KeyboardButton { |
313 | + objectName: "threeButton" |
314 | + x: (calcGridUnit*11)*2 |
315 | + y: (calcGridUnit*8)*3 |
316 | + text: Number(3).toLocaleString(Qt.locale(), "f", 0) |
317 | + onClicked: formulaPush(text) |
318 | + } |
319 | + |
320 | + KeyboardButton { |
321 | + objectName: "equalsButton" |
322 | + x: (calcGridUnit*11)*3 |
323 | + y: (calcGridUnit*8)*3 |
324 | + height: (calcGridUnit*14) |
325 | + text: "=" |
326 | + textColor: "#464D6F" |
327 | + buttonColor: "#E4E4E7" |
328 | + pressedColor: "#D4D4D7" |
329 | + onClicked: { |
330 | + calculate(); |
331 | + } |
332 | + } |
333 | + |
334 | + KeyboardButton { |
335 | + objectName: "zeroButton" |
336 | + x: 0 |
337 | + y: (calcGridUnit*8)*4 |
338 | + width: (calcGridUnit*20) |
339 | + text: Number(0).toLocaleString(Qt.locale(), "f", 0) |
340 | + onClicked: formulaPush(text) |
341 | + } |
342 | + |
343 | + KeyboardButton { |
344 | + objectName: "pointButton" |
345 | + x: (calcGridUnit*11)*2 |
346 | + y: (calcGridUnit*8)*4 |
347 | + text: "." |
348 | + onClicked: formulaPush(text) |
349 | + } |
350 | } |
351 | } |
352 | |
353 | |
354 | === modified file 'Simple/CalcLabel.qml' |
355 | --- Simple/CalcLabel.qml 2013-05-25 08:01:58 +0000 |
356 | +++ Simple/CalcLabel.qml 2013-06-14 17:01:30 +0000 |
357 | @@ -19,11 +19,10 @@ |
358 | import QtQuick 2.0 |
359 | import Ubuntu.Components 0.1 |
360 | |
361 | -Rectangle { |
362 | +Item { |
363 | id: root |
364 | width: parent.width |
365 | height: row.height |
366 | - color: "white" |
367 | |
368 | property int operationsWidth: operatorLabel.width+formulaLabel.width |
369 | property string operation: "" |
370 | @@ -31,7 +30,7 @@ |
371 | property bool labelReadOnly: false |
372 | property string labelText: "" |
373 | property int numbersHeight: units.gu(4) |
374 | - property string numbersColor: '#757373' |
375 | + property string numbersColor: '#FEFEFE' |
376 | property bool isLast: false |
377 | |
378 | MouseArea { |
379 | @@ -46,21 +45,53 @@ |
380 | id: row |
381 | height: numbersHeight |
382 | width: parent.width |
383 | - TextField{ |
384 | - id: numberName |
385 | - width: row.width-operatorLabel.width-formulaLabel.width |
386 | - anchors.bottom: parent.bottom |
387 | - ItemStyle.delegate: Item{} // removes ubuntu shape |
388 | - readOnly: labelReadOnly |
389 | - text: labelText |
390 | - onTextChanged: { labelText = numberName.text } |
391 | - hasClearButton: false |
392 | - } |
393 | + Item { |
394 | + id: editIcon |
395 | + height: parent.height |
396 | + width: units.gu(3) |
397 | + |
398 | + Image { |
399 | + anchors.verticalCenter: parent.verticalCenter |
400 | + source: Qt.resolvedUrl("images/edit.png") |
401 | + } |
402 | + |
403 | + MouseArea { |
404 | + anchors.fill: parent |
405 | + onClicked: numberName.focus = true |
406 | + } |
407 | + } |
408 | + |
409 | + Item { |
410 | + width: row.width-editIcon.width-operatorLabel.width-formulaLabel.width |
411 | + height: parent.height |
412 | + |
413 | + TextField { |
414 | + id: numberName |
415 | + width: parent.width |
416 | + anchors.verticalCenter: parent.verticalCenter |
417 | + ItemStyle.delegate: Item{} // removes ubuntu shape |
418 | + readOnly: labelReadOnly |
419 | + text: labelText |
420 | + color: "#FEFEFE" |
421 | + onTextChanged: { labelText = numberName.text } |
422 | + hasClearButton: false |
423 | + } |
424 | + |
425 | + Rectangle { |
426 | + visible: numberName.focus |
427 | + anchors.bottom: parent.bottom |
428 | + width: parent.width-units.gu(1) |
429 | + height: 1 |
430 | + color: "white" |
431 | + } |
432 | + } |
433 | + |
434 | Label { |
435 | id: operatorLabel |
436 | width: units.gu(4) |
437 | anchors.verticalCenter: parent.verticalCenter |
438 | font.pixelSize: units.gu(4) |
439 | + color: "#FEFEFE" |
440 | text: root.operation |
441 | font.family: "Ubuntu" |
442 | } |
443 | |
444 | === modified file 'Simple/KeyboardButton.qml' |
445 | --- Simple/KeyboardButton.qml 2013-06-02 11:50:31 +0000 |
446 | +++ Simple/KeyboardButton.qml 2013-06-14 17:01:30 +0000 |
447 | @@ -24,26 +24,37 @@ |
448 | width: (calcGridUnit*9) |
449 | height: (calcGridUnit*6) |
450 | radius: (calcGridUnit*1) |
451 | - color: buttonMA.pressed ? "#c0c0c0" : "white" |
452 | + color: "#DBDCDE" |
453 | |
454 | property alias text: buttonText.text |
455 | + property string buttonColor: "#F2F1F4" |
456 | + property string pressedColor: "#E2E1E4" |
457 | property alias textColor: buttonText.color |
458 | |
459 | signal clicked() |
460 | signal pressAndHold() |
461 | |
462 | - Text { |
463 | - id: buttonText |
464 | + Rectangle { |
465 | + width: parent.width-2 |
466 | + height: parent.height-2 |
467 | anchors.centerIn: parent |
468 | - color: "#dd4814" |
469 | - font.pixelSize: (calcGridUnit*3) |
470 | - font.family: "Ubuntu" |
471 | - } |
472 | - |
473 | - MouseArea { |
474 | - id: buttonMA |
475 | - anchors.fill: parent |
476 | - onClicked: buttonRect.clicked() |
477 | - onPressAndHold: buttonRect.pressAndHold(); |
478 | + radius: (calcGridUnit*1) |
479 | + color: buttonMA.pressed ? pressedColor : buttonColor |
480 | + |
481 | + Text { |
482 | + id: buttonText |
483 | + anchors.centerIn: parent |
484 | + color: "#7474AC" |
485 | + font.pixelSize: (calcGridUnit*3) |
486 | + font.family: "Ubuntu" |
487 | + font.bold: true |
488 | + } |
489 | + |
490 | + MouseArea { |
491 | + id: buttonMA |
492 | + anchors.fill: parent |
493 | + onClicked: buttonRect.clicked() |
494 | + onPressAndHold: buttonRect.pressAndHold(); |
495 | + } |
496 | } |
497 | } |
498 | |
499 | === modified file 'Simple/Screen.qml' |
500 | --- Simple/Screen.qml 2013-05-22 17:28:47 +0000 |
501 | +++ Simple/Screen.qml 2013-06-14 17:01:30 +0000 |
502 | @@ -34,7 +34,70 @@ |
503 | signal dateUpdate(int idx) |
504 | signal removeItem() |
505 | |
506 | - Rectangle{ |
507 | + Item { |
508 | + visible: _content.x > parent.width / 5 |
509 | + width: parent.width / 5 |
510 | + height: parent.height |
511 | + |
512 | + Column { |
513 | + width: parent.width |
514 | + anchors.centerIn: parent |
515 | + Item { |
516 | + width: parent.width |
517 | + height: units.gu(4) |
518 | + Icon { |
519 | + anchors.centerIn: parent |
520 | + name: "user-trash-symbolic" |
521 | + width: units.gu(2) |
522 | + height: units.gu(2) |
523 | + } |
524 | + } |
525 | + |
526 | + Text { |
527 | + width: parent.width |
528 | + horizontalAlignment: Text.AlignHCenter |
529 | + wrapMode: Text.WordWrap |
530 | + color: "#9094AA" |
531 | + text: _content.x > root.width / 3 ? "Release To Delete" : "Pull To Delete" |
532 | + font.italic: true |
533 | + font.family: "Ubuntu" |
534 | + } |
535 | + } |
536 | + } |
537 | + |
538 | + Item { |
539 | + visible: _content.x < (-parent.width / 5) |
540 | + width: parent.width / 5 |
541 | + height: parent.height |
542 | + anchors.right: parent.right |
543 | + |
544 | + Column { |
545 | + width: parent.width |
546 | + anchors.centerIn: parent |
547 | + Item { |
548 | + width: parent.width |
549 | + height: units.gu(4) |
550 | + Icon { |
551 | + anchors.centerIn: parent |
552 | + name: "user-trash-symbolic" |
553 | + width: units.gu(2) |
554 | + height: units.gu(2) |
555 | + } |
556 | + } |
557 | + |
558 | + Text { |
559 | + width: parent.width |
560 | + horizontalAlignment: Text.AlignHCenter |
561 | + wrapMode: Text.WordWrap |
562 | + color: "#9094AA" |
563 | + text: _content.x < -root.width / 3 ? "Release To Delete" : "Pull To Delete" |
564 | + font.italic: true |
565 | + font.family: "Ubuntu" |
566 | + } |
567 | + } |
568 | + } |
569 | + |
570 | + Item { |
571 | id: _content |
572 | width: parent.width |
573 | height: inputs.height+units.gu(2) |
574 | @@ -57,7 +120,7 @@ |
575 | Text { |
576 | id: dateLabel |
577 | width: parent.width |
578 | - color: "#757373" |
579 | + color: "#9094AA" |
580 | text: dateText |
581 | font.italic: true |
582 | font.family: "Ubuntu" |
583 | @@ -68,11 +131,12 @@ |
584 | ItemStyle.delegate: Item{} // removes ubuntu shape |
585 | text: mainLabel |
586 | hasClearButton: false |
587 | + color: "#FEFEFE" |
588 | onTextChanged: { root.mainLabelUpdated(index, text) } |
589 | } |
590 | |
591 | Text { |
592 | - color: "gray" |
593 | + color: "#FEFEFE" |
594 | } |
595 | |
596 | Repeater{ |
597 | @@ -86,15 +150,19 @@ |
598 | height: units.gu(0.1) |
599 | width: formulaLabel.operationsWidth |
600 | anchors.right: parent.right |
601 | - color: '#757373' |
602 | + color: "#FEFEFE" |
603 | + } |
604 | + Item { |
605 | + visible: (_operation == '=') |
606 | + height: units.gu(0.9) |
607 | + width: formulaLabel.operationsWidth |
608 | } |
609 | CalcLabel { |
610 | id: formulaLabel |
611 | labelText: _text |
612 | numbers: _number |
613 | operation: _operation |
614 | - numbersColor: (isLastItem && index === repeater.model.count-1) ? "#dd4814" : "#757373" |
615 | - numbersHeight: (isLastItem && index === repeater.model.count-1) ? units.gu(7) : units.gu(4) |
616 | + numbersHeight: units.gu(5) |
617 | isLast: (isLastItem && index === repeater.model.count-1) |
618 | |
619 | onLabelTextChanged: { |
620 | @@ -103,6 +171,12 @@ |
621 | } |
622 | } |
623 | } |
624 | + |
625 | + /* Empty space */ |
626 | + Item { |
627 | + height: units.gu(3) |
628 | + width: parent.width |
629 | + } |
630 | } |
631 | |
632 | Behavior on x { |
633 | |
634 | === modified file 'Simple/SimplePage.qml' |
635 | --- Simple/SimplePage.qml 2013-05-25 08:38:15 +0000 |
636 | +++ Simple/SimplePage.qml 2013-06-14 17:01:30 +0000 |
637 | @@ -88,9 +88,15 @@ |
638 | } |
639 | } |
640 | |
641 | - Item { |
642 | + Rectangle { |
643 | anchors.fill: parent |
644 | |
645 | + gradient: Gradient { |
646 | + GradientStop { position: 0.00; color: "#323A5D" } |
647 | + GradientStop { position: 0.83; color: "#6A6AA1" } |
648 | + GradientStop { position: 1.00; color: "#6899D7" } |
649 | + } |
650 | + |
651 | ListView { |
652 | id: formulaView |
653 | anchors.fill: parent |
654 | |
655 | === added directory 'Simple/images' |
656 | === added file 'Simple/images/edit@10.png' |
657 | Binary files Simple/images/edit@10.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@10.png 2013-06-14 17:01:30 +0000 differ |
658 | === added file 'Simple/images/edit@11.png' |
659 | Binary files Simple/images/edit@11.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@11.png 2013-06-14 17:01:30 +0000 differ |
660 | === added file 'Simple/images/edit@12.png' |
661 | Binary files Simple/images/edit@12.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@12.png 2013-06-14 17:01:30 +0000 differ |
662 | === added file 'Simple/images/edit@13.png' |
663 | Binary files Simple/images/edit@13.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@13.png 2013-06-14 17:01:30 +0000 differ |
664 | === added file 'Simple/images/edit@14.png' |
665 | Binary files Simple/images/edit@14.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@14.png 2013-06-14 17:01:30 +0000 differ |
666 | === added file 'Simple/images/edit@15.png' |
667 | Binary files Simple/images/edit@15.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@15.png 2013-06-14 17:01:30 +0000 differ |
668 | === added file 'Simple/images/edit@16.png' |
669 | Binary files Simple/images/edit@16.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@16.png 2013-06-14 17:01:30 +0000 differ |
670 | === added file 'Simple/images/edit@17.png' |
671 | Binary files Simple/images/edit@17.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@17.png 2013-06-14 17:01:30 +0000 differ |
672 | === added file 'Simple/images/edit@18.png' |
673 | Binary files Simple/images/edit@18.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@18.png 2013-06-14 17:01:30 +0000 differ |
674 | === added file 'Simple/images/edit@8.png' |
675 | Binary files Simple/images/edit@8.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@8.png 2013-06-14 17:01:30 +0000 differ |
676 | === added file 'Simple/images/edit@9.png' |
677 | Binary files Simple/images/edit@9.png 1970-01-01 00:00:00 +0000 and Simple/images/edit@9.png 2013-06-14 17:01:30 +0000 differ |
678 | === added directory 'images' |
679 | === added file 'images/edit.svg' |
680 | --- images/edit.svg 1970-01-01 00:00:00 +0000 |
681 | +++ images/edit.svg 2013-06-14 17:01:30 +0000 |
682 | @@ -0,0 +1,81 @@ |
683 | +<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
684 | +<!-- Created with Inkscape (http://www.inkscape.org/) --> |
685 | + |
686 | +<svg |
687 | + xmlns:dc="http://purl.org/dc/elements/1.1/" |
688 | + xmlns:cc="http://creativecommons.org/ns#" |
689 | + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" |
690 | + xmlns:svg="http://www.w3.org/2000/svg" |
691 | + xmlns="http://www.w3.org/2000/svg" |
692 | + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" |
693 | + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
694 | + width="16" |
695 | + height="16" |
696 | + id="svg2" |
697 | + version="1.1" |
698 | + inkscape:version="0.48.4 r9939" |
699 | + sodipodi:docname="New document 1"> |
700 | + <defs |
701 | + id="defs4" /> |
702 | + <sodipodi:namedview |
703 | + id="base" |
704 | + pagecolor="#ffffff" |
705 | + bordercolor="#666666" |
706 | + borderopacity="1.0" |
707 | + inkscape:pageopacity="0.0" |
708 | + inkscape:pageshadow="2" |
709 | + inkscape:zoom="15.839192" |
710 | + inkscape:cx="9.9212783" |
711 | + inkscape:cy="12.769836" |
712 | + inkscape:document-units="px" |
713 | + inkscape:current-layer="layer1" |
714 | + showgrid="true" |
715 | + inkscape:window-width="1301" |
716 | + inkscape:window-height="663" |
717 | + inkscape:window-x="65" |
718 | + inkscape:window-y="24" |
719 | + inkscape:window-maximized="1"> |
720 | + <inkscape:grid |
721 | + type="xygrid" |
722 | + id="grid2985" |
723 | + empspacing="5" |
724 | + visible="true" |
725 | + enabled="true" |
726 | + snapvisiblegridlinesonly="true" /> |
727 | + </sodipodi:namedview> |
728 | + <metadata |
729 | + id="metadata7"> |
730 | + <rdf:RDF> |
731 | + <cc:Work |
732 | + rdf:about=""> |
733 | + <dc:format>image/svg+xml</dc:format> |
734 | + <dc:type |
735 | + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> |
736 | + <dc:title></dc:title> |
737 | + </cc:Work> |
738 | + </rdf:RDF> |
739 | + </metadata> |
740 | + <g |
741 | + inkscape:label="Layer 1" |
742 | + inkscape:groupmode="layer" |
743 | + id="layer1" |
744 | + transform="translate(0,-1036.3622)"> |
745 | + <g |
746 | + id="g3768" |
747 | + transform="translate(-0.57318655,0.21603727)"> |
748 | + <rect |
749 | + transform="matrix(-0.70710678,0.70710678,-0.70710678,-0.70710678,0,0)" |
750 | + y="-746.38501" |
751 | + x="726.26068" |
752 | + height="4" |
753 | + width="11" |
754 | + id="rect2993" |
755 | + style="fill:#b3b3b3" /> |
756 | + <path |
757 | + inkscape:connector-curvature="0" |
758 | + id="path2995" |
759 | + d="m 6.4518578,1049.0959 -2.8284271,-2.8284 -0.7071068,3.5355 3.5355339,-0.7071 z m -0.4640388,-0.066 -2.8726213,0.5746 0.5745243,-2.8726 2.298097,2.298 z" |
760 | + style="fill:#b3b3b3;fill-opacity:1;stroke:none" /> |
761 | + </g> |
762 | + </g> |
763 | +</svg> |
764 | |
765 | === added file 'images/generate.py' |
766 | --- images/generate.py 1970-01-01 00:00:00 +0000 |
767 | +++ images/generate.py 2013-06-14 17:01:30 +0000 |
768 | @@ -0,0 +1,13 @@ |
769 | +#!/usr/bin/env python |
770 | + |
771 | +import subprocess |
772 | +import os |
773 | + |
774 | +def main(): |
775 | + for idx in range(8, 19): |
776 | + output_name = os.path.join('../Simple/images', 'edit@%d.png' % idx) |
777 | + command = ['inkscape', '-f', 'edit.svg', '-e', output_name, '-w', str(idx*2)] |
778 | + subprocess.call(command) |
779 | + |
780 | +if __name__ == '__main__': |
781 | + main() |
PASSED: Continuous integration, rev:82 91.189. 93.125: 8080/job/ ubuntu- calculator- app-ci/ 8/ 91.189. 93.125: 8080/job/ ubuntu- calculator- app-quantal- amd64-ci/ 3 91.189. 93.125: 8080/job/ ubuntu- calculator- app-raring- amd64-ci/ 8
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: 91.189. 93.125: 8080/job/ ubuntu- calculator- app-ci/ 8/rebuild
http://