Merge lp:~zsombi/ubuntu-ui-toolkit/cppAbstractButton into lp:ubuntu-ui-toolkit/staging
| Status: | Merged | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Approved by: | Zsombor Egri on 2015-08-25 | ||||||||
| Approved revision: | 1638 | ||||||||
| Merged at revision: | 1618 | ||||||||
| Proposed branch: | lp:~zsombi/ubuntu-ui-toolkit/cppAbstractButton | ||||||||
| Merge into: | lp:ubuntu-ui-toolkit/staging | ||||||||
| Prerequisite: | lp:~zsombi/ubuntu-ui-toolkit/cppHaptics | ||||||||
| Diff against target: |
807 lines (+449/-125) 21 files modified
components.api (+2/-2) src/Ubuntu/Components/1.3/AbstractButton.qml (+0/-109) src/Ubuntu/Components/1.3/Button.qml (+1/-1) src/Ubuntu/Components/1.3/ComboButton.qml (+1/-0) src/Ubuntu/Components/1.3/TextField.qml (+1/-1) src/Ubuntu/Components/ComponentModule.pro (+1/-2) src/Ubuntu/Components/ListItems/1.3/SingleControl.qml (+2/-1) src/Ubuntu/Components/plugin/plugin.cpp (+2/-0) src/Ubuntu/Components/plugin/plugin.pri (+4/-2) src/Ubuntu/Components/plugin/ucabstractbutton.cpp (+156/-0) src/Ubuntu/Components/plugin/ucabstractbutton.h (+64/-0) src/Ubuntu/Components/plugin/ucaction.cpp (+2/-1) src/Ubuntu/Components/plugin/ucactionitem.cpp (+15/-4) src/Ubuntu/Components/plugin/ucactionitem.h (+2/-0) src/Ubuntu/Components/qmldir (+0/-1) tests/unit/tst_components/tst_action.qml (+16/-0) tests/unit/tst_performance/AbstractButton13Grid.qml (+30/-0) tests/unit/tst_performance/AbstractButtonGrid.qml (+30/-0) tests/unit/tst_performance/tst_performance.cpp (+2/-0) tests/unit/tst_performance/tst_performance.pro (+3/-1) tests/unit_x11/tst_components/tst_abstractbutton13.qml (+115/-0) |
||||||||
| To merge this branch: | bzr merge lp:~zsombi/ubuntu-ui-toolkit/cppAbstractButton | ||||||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| PS Jenkins bot | continuous-integration | Approve on 2015-08-25 | |
| Christian Dywan | Approve on 2015-08-25 | ||
| Tim Peeters | 2015-08-19 | Approve on 2015-08-24 | |
|
Review via email:
|
|||
Commit Message
AbstractButton to C++.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1625
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1626
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1627
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1628
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Tim Peeters (tpeeters) wrote : | # |
Why are you not importing the latest versions (not only of Ubuntu.Components, but also QtQuick and Ambience) in the performance tests?
686 === added file 'tests/
706 +import QtQuick 2.0
707 +import Ubuntu.Components 1.1
708 +import Ubuntu.
722 === modified file 'tests/
728 import QtQuick 2.0
729 -import Ubuntu.Components 1.1
730 +import Ubuntu.Components 1.3
731 import Ubuntu.
| Tim Peeters (tpeeters) wrote : | # |
883 + // fixing bugs 1365471 and 1458028
884 + function test_no_
890 + // fixing bugs 1365471 and 1458028
891 + function test_pressAndHo
We have the policy to add _bugXXX to the function names. Let's do that here too because when a test starts to fail like that we can look up the bug immediately without going into the test code first.
| Tim Peeters (tpeeters) wrote : | # |
351 === modified file 'src/Ubuntu/
360 + /*! \internal - overriding readonly pressed property due to the buggy pressed property exposure in former AbstractButton */
361 + property bool pressed: __mouseArea.pressed || (control && control.
I think we should override the property in Empty.qml instead to avoid problems in apps that have their own components deriving from Empty.
| Tim Peeters (tpeeters) wrote : | # |
^maybe for 'hovered' too, to be sure.
| Zsombor Egri (zsombi) wrote : | # |
> Why are you not importing the latest versions (not only of Ubuntu.Components,
> but also QtQuick and Ambience) in the performance tests?
>
> 686 === added file 'tests/
> 706 +import QtQuick 2.0
> 707 +import Ubuntu.Components 1.1
> 708 +import Ubuntu.
Copy-paste bug :)
>
> 722 === modified file 'tests/
> 728 import QtQuick 2.0
> 729 -import Ubuntu.Components 1.1
> 730 +import Ubuntu.Components 1.3
> 731 import Ubuntu.
This is the same reason we must get rid of the deprecation warnings... I'll roll this back
| Zsombor Egri (zsombi) wrote : | # |
> 351 === modified file
> 'src/Ubuntu/
> 360 + /*! \internal - overriding readonly pressed property due to the
> buggy pressed property exposure in former AbstractButton */
> 361 + property bool pressed: __mouseArea.pressed || (control &&
> control.
>
>
> I think we should override the property in Empty.qml instead to avoid problems
> in apps that have their own components deriving from Empty.
Well, the property was there in SingleControl, so why would I move that to Empty?Beside, this should not happen according to the new design, so when you tap on a widget, that should not highlight the component.
| Tim Peeters (tpeeters) wrote : | # |
> > 351 === modified file
> > 'src/Ubuntu/
> > 360 + /*! \internal - overriding readonly pressed property due to the
> > buggy pressed property exposure in former AbstractButton */
> > 361 + property bool pressed: __mouseArea.pressed || (control &&
> > control.
> >
> >
> > I think we should override the property in Empty.qml instead to avoid
> problems
> > in apps that have their own components deriving from Empty.
>
> Well, the property was there in SingleControl, so why would I move that to
> Empty?Beside, this should not happen according to the new design, so when you
> tap on a widget, that should not highlight the component.
Like SingleControl, custom list items may set the value of pressed. Making it read-only will break those custom list items. Of course we cannot be sure that this is (still) happening without checking the code of the apps.
| Tim Peeters (tpeeters) wrote : | # |
Because it is cpp, the change will affect also 0.1-1.2... so it is dangerous.
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1630
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Tim Peeters (tpeeters) wrote : | # |
Okay, looks good now.
Note that in all import versions we change the RW properties hovered and pressed to read-only. That makes sense (overriding the values of the properties would break the button's functionality), but before it lands we make sure that no apps are setting the properties.
Happroving.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1632
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
More details in the following jenkins job:
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1632
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 1633. By Zsombor Egri on 2015-08-24
-
roll back AbstractButton for versions earlier than 1.3 to avoid API break
| Christian Dywan (kalikiana) wrote : | # |
Leaving the 1.2 at QML is a good idea that I didn't consider an option. That way we're safe in terms of compatibility. Nice!
Let's see that the tests agree, too.
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1633
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild:
http://
- 1634. By Zsombor Egri on 2015-08-24
-
documentation fix
| PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:1634
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
deb: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://
| Tim Peeters (tpeeters) wrote : | # |
there are some failures:
Test Result (2 failures / ±0)
components.
components.
- 1635. By Zsombor Egri on 2015-08-25
-
reverting unit test move for API 1.2
- 1636. By Zsombor Egri on 2015-08-25
-
separate 1.3 tests from earlier versions; add 1.3 performance tests
- 1637. By Zsombor Egri on 2015-08-25
-
overridden trigger() function support
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1637
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
| Tim Peeters (tpeeters) wrote : | # |
222 === modified file 'src/Ubuntu/
223 --- src/Ubuntu/
224 +++ src/Ubuntu/
225 @@ -158,6 +158,10 @@
226 */
227 property real __contentsMargins: units.gu(2)
228
229 + // override pressed and hovered as those were declared writable
230 + property bool pressed: __mouseArea.pressed
231 + property bool hovered: __acceptEvents && __mouseArea.
232 +
do we still need this? 1.2 now has the old AbstractButton where those properties are already writable.
- 1638. By Zsombor Egri on 2015-08-25
-
revert unneeded 1.2 changes
| PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:1638
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

FAILED: Continuous integration, rev:1622 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- ci/2146/ jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- vivid-amd64- ci/874 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- vivid-armhf- ci/876 jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- vivid-armhf- ci/876/ artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ ubuntu- sdk-team- ubuntu- ui-toolkit- staging- vivid-i386- ci/873
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
deb: http://
UNSTABLE: http://
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/ubuntu- sdk-team- ubuntu- ui-toolkit- staging- ci/2146/ rebuild
http://