Merge lp://staging/~tpeeters/ubuntu-ui-toolkit/toolbar-tabs-deactivate into lp://staging/ubuntu-ui-toolkit
- toolbar-tabs-deactivate
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Cris Dywan |
Approved revision: | 773 |
Merged at revision: | 819 |
Proposed branch: | lp://staging/~tpeeters/ubuntu-ui-toolkit/toolbar-tabs-deactivate |
Merge into: | lp://staging/ubuntu-ui-toolkit |
Diff against target: |
465 lines (+228/-73) 7 files modified
components.api (+2/-0) modules/Ubuntu/Components/Page.qml (+41/-2) modules/Ubuntu/Components/Panel.qml (+11/-1) modules/Ubuntu/Components/Themes/Ambiance/TabBarStyle.qml (+1/-1) modules/Ubuntu/Components/Toolbar.qml (+11/-2) tests/resources/navigation/SimpleTabs.qml (+58/-0) tests/unit_x11/tst_components/tst_tabs.qml (+104/-67) |
To merge this branch: | bzr merge lp://staging/~tpeeters/ubuntu-ui-toolkit/toolbar-tabs-deactivate |
Related bugs: | |
Related blueprints: |
Tabs 2.0
(High)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Cris Dywan | Approve | ||
PS Jenkins bot | continuous-integration | Approve | |
Tim Peeters | Approve | ||
Review via email:
|
Commit message
Close tabbar and toolbar when user interacts with app contents.
Description of the change
Close tabbar and toolbar when user interacts with app contents.
This is (currently) the last of a series of incremental MRs that change behaviors of tabs and toolbars. More changes will be made in following MRs.
Depends on https:/
After installing the packages above you should get the following new behaviors:
- Toolbar visible initially when starting app or changing views
- Toolbar automatically hides after a timeout, or when user interacts with app contents
- Tabs initially visible
- Tab bar automatically leaves selection mode (only current tab title visible) after timeout or when interacting with app contents
The following new behaviors will be implemented in following MRs:
- Hide toolbar when interacting with tabs
- Hide tabs when interacting with toolbar

PS Jenkins bot (ps-jenkins) wrote : | # |

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:756
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://

Tim Peeters (tpeeters) wrote : | # |
I downloaded and unzipped http://
Tested with gallery-app, clock-app, notes-app and seems to work well. Tabs and toolbar are visible initially and will hide after a timeout, or when the user interacts with the app contents.
For proposed updates to the behavior, please leave a comment on this MR.

Tim Peeters (tpeeters) wrote : | # |
After installing the packages above you should get the following new behaviors:
- Toolbar visible initially when starting app or changing views
- Toolbar automatically hides after a timeout, or when user interacts with app contents
- Tabs initially visible
- Tab bar automatically leaves selection mode (only current tab title visible) after timeout or when interacting with app contents
The following new behaviors will be implemented later:
- Hide toolbar when interacting with tabs
- Hide tabs when interacting with toolbar

Vesa Rautiainen (vesar) wrote : | # |
We reviewed this MR in design team and here are our comments and issues we found:
Different timeouts in tabs and in toolbar
- Should have the same timeout value. Use the same as what launcher uses.
Showing toolbar when page changes doesn't work with Page Stack
- Happens in e.g. system settings app.
- Seems to work though when going back in stack. Then toolbar visibility is retained.
Re-launching an application: tabs should be expanded and toolbar open
- When opening an application that is in recent application category (stopped/suspended) toolbar is not shown and tabs are not expanded.
- This causes inconsistency between different app launches.
- So every time the app is launched/opened toolbar should be in open state and tabs in expanded state. In place. No animation. No animation because it would be too intrusive when going through app stack with right edge swipe.
Initial tabs scrolling animation in startup
- Sometimes when opening an app tabs are scrolling while expanding like a focused item would have been changed.
- It's not too bad animation and it even might be that we in design team proposed it. We just didn't take right edge back swipe in to account when proposing this. So let's take the animation away and have tabs in open state when application is launched.
Timeout timer doesn't restart when switching page from tabs
- this fails for example in Gallery, Weather and Calendar. In shorts (rss reader) app seems to work fine.
- To reproduce keep tapping on tabs. At some point toolbar hides quite quickly after page switch. It's a sign that timer is never restarted if running on page switch.
- Or is this something that hasn't been implemented because this will not be valid anymore when "tabs interaction closes toolbar" feature lands.

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:756
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
FAILURE: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:756
http://
Executed test runs:
UNSTABLE: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
UNSTABLE: http://
UNSTABLE: http://
Click here to trigger a rebuild:
http://

Tim Peeters (tpeeters) wrote : | # |
This MR is still valid, but should not be accepted yet. I will ask for a review when ready.
- 757. By Tim Peeters
-
merge trunk

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:757
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 758. By Tim Peeters
-
update tabbar timeout to match the timeout of toolbar and unity's launcher

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:758
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 759. By Tim Peeters
-
empty commit for CI

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:759
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 760. By Tim Peeters
-
fix bug that doesn't show toolbar the first time a page with no tools is pushed

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:760
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 761. By Tim Peeters
-
add SimpleTabs test program
- 762. By Tim Peeters
-
add SimpleTabs test program
- 763. By Tim Peeters
-
previous change: debugging
- 764. By Tim Peeters
-
reset toolbar hide timer when tools change

Tim Peeters (tpeeters) wrote : | # |
> We reviewed this MR in design team and here are our comments and issues we
> found:
>
> Different timeouts in tabs and in toolbar
> - Should have the same timeout value. Use the same as what launcher uses.
Ok, all timeouts are 5s now.
> Showing toolbar when page changes doesn't work with Page Stack
> - Happens in e.g. system settings app.
> - Seems to work though when going back in stack. Then toolbar visibility is
> retained.
It should work, but I noticed a bug where it does not work the first time a page is pushed to the stack. The bug was fixed in this MR.
> Re-launching an application: tabs should be expanded and toolbar open
> - When opening an application that is in recent application category
> (stopped/suspended) toolbar is not shown and tabs are not expanded.
> - This causes inconsistency between different app launches.
> - So every time the app is launched/opened toolbar should be in open state and
> tabs in expanded state. In place. No animation. No animation because it would
> be too intrusive when going through app stack with right edge swipe.
Agreed. I will work on that in a separate MR. I reported a bug to track the progress: https:/
>
> Initial tabs scrolling animation in startup
> - Sometimes when opening an app tabs are scrolling while expanding like a
> focused item would have been changed.
> - It's not too bad animation and it even might be that we in design team
> proposed it. We just didn't take right edge back swipe in to account when
> proposing this. So let's take the animation away and have tabs in open state
> when application is launched.
I agreed. I reported this bug https:/
> Timeout timer doesn't restart when switching page from tabs
> - this fails for example in Gallery, Weather and Calendar. In shorts (rss
> reader) app seems to work fine.
> - To reproduce keep tapping on tabs. At some point toolbar hides quite quickly
> after page switch. It's a sign that timer is never restarted if running on
> page switch.
> - Or is this something that hasn't been implemented because this will not be
> valid anymore when "tabs interaction closes toolbar" feature lands.
Fixed.
Indeed, the fix may not be valid anymore when the "tabs interaction closes toolbar" feature lands, but I will think about that when implementing that feature.

Tim Peeters (tpeeters) wrote : | # |
I think everything is ready now.
- 765. By Tim Peeters
-
merge trunk
- 766. By Tim Peeters
-
clean text

PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:764
http://
Executed test runs:
SUCCESS: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
FAILURE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

Cris Dywan (kalikiana) wrote : | # |
I'm worried by the fact that you didn't change any tests but they still pass. Even though your code looks sane it means it's completely untested.

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:766
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

Tim Peeters (tpeeters) wrote : | # |
> I'm worried by the fact that you didn't change any tests but they still pass.
> Even though your code looks sane it means it's completely untested.
There were some related MRs before this one that changed the tests for the Tabs, including checking whether the tab bar is active before switching tabs (by clicking a tab button), and only clicking the tab bar to activate it if it is not active yet.
So the description at the top describes changes of this MR including changes in previous MRs (they were ready a while ago but I couldn't merge them because of the jenkins issues we had back then. And I wanted to give this MR that included all the changes to design so they could have a look).
The main change that was left for this MR is to deactivate/close the tab bar and toolbar when the user interacts with the app contents (the page). I will add a test for that and let you know when it is ready.
- 767. By Tim Peeters
-
trying to make the tests for automatic timeout of activated tabbar
- 768. By Tim Peeters
-
fix bug in MainView
- 769. By Tim Peeters
-
remove debugging code
- 770. By Tim Peeters
-
fix test_deactivate
ByTimeout( ) - 771. By Tim Peeters
-
add test

Tim Peeters (tpeeters) wrote : | # |
I moved the tabs test to unit_x11, and added the test_deactivate
- 772. By Tim Peeters
-
fixed in r768 of this branch

Tim Peeters (tpeeters) wrote : | # |
linked this bug that I fixed here: https:/

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:770
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://

Cris Dywan (kalikiana) wrote : | # |
Your fix for bug 1244660 isn't covered by the tests. The following patch however does catch it:
=== modified file 'tests/
--- tests/unit/
+++ tests/unit/
@@ -128,6 +128,9 @@ class tst_MainView : public QObject
}
void testLocalStorage() {
+ QSignalSpy spy(view->engine(), SIGNAL(
+ spy.setParent(
+
QQuickItem *root = loadTest(
QQuickItem *mainView = root;
@@ -141,6 +144,9 @@ class tst_MainView : public QObject
QString hash(QCryptogra
QString database(
+
+ // No warnings from QML
+ QCOMPARE(
}
};

Cris Dywan (kalikiana) wrote : | # |
Aside from the above the revamped tests look very nice!

PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:772
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 773. By Tim Peeters
-
unfix bug. doing that in separate MR

Tim Peeters (tpeeters) wrote : | # |
Removed bugfix and unlinked bug. It is not related to the other changes of this MR, so I'll do it in a separate MR.
FAILED: Continuous integration, rev:755 jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- ci/667/ jenkins. qa.ubuntu. com/job/ generic- mediumtests- saucy/3534/ console jenkins. qa.ubuntu. com/job/ generic- mediumtests- touch/1062/ console jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-amd64- ci/524/ console jenkins. qa.ubuntu. com/job/ ubuntu- ui-toolkit- saucy-armhf- ci/524/ console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-i386/ 3546/console jenkins. qa.ubuntu. com/job/ generic- mediumtests- builder- saucy-armhf/ 1064/console
http://
Executed test runs:
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
FAILURE: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ ubuntu- ui-toolkit- ci/667/ rebuild
http://