Sections does not scroll

Bug #1465048 reported by Sam Bull on 2015-06-14
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Zoltan Balogh
ubuntu-ui-toolkit (Ubuntu)
High
Tim Peeters

Bug Description

If there are too many parts in PageHeadSections, there is no way to select sections off the screen. This could be solved by allowing the sections to be scrolled horizontally, similarly to how the original Header worked in the early toolkit versions.

Example of where this is a problem:
  I use the PageHeadSections to allow the user to select between languages for translation. The available languages here are set by the user in the settings. So, in most cases only 2-5 languages will be listed, but a user could decide to use all ~150 languages if they wanted to.

Related branches

Nekhelesh Ramananthan (nik90) wrote :

In the new design I believe PageHeadSections will be scrollable. That said the problem you have listed is an app issue. The PageHeadSections is designed to accommodate at most 10-20 sections. 150 sections is a overkill and a bad app design in my opinion. May be it should be shown as a listview instead.

Sam Bull (dreamsorcerer) wrote :

As said, it's a worst-case scenario. I expect 99% of users to enable 2-5 languages and not be a problem. But, it is possible for someone to enable every language. I see no reason to arbitrarily limit the users choice, they are smart enough to decide what is suitable to them.

I've attached a screenshot of what it looks like, with 4 languages viewable, you should be able to see that it provides a quick convenient switch between languages without taking up much space.

Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Andrea Bernabei (faenil)
status: New → Confirmed
importance: Undecided → High
Andrea Bernabei (faenil) wrote :

I've been prototyping a new SectionStyle which will allow horizontal scrolling and keyboard navigation.

This task is currently on hold on my side as I'm busy on other projects, but I should be able to get back to it and wrap it up (i.e. fix the corner case bugs I found and write tests for it) in the next few weeks.

Andrea Bernabei (faenil) wrote :

feel free to ping me on IRC if you need additional info or you want to contribute :)

Andrea Bernabei (faenil) wrote :

I did a prototype back in the days, reassigning this to the engineer who's going to refine it

Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: Andrea Bernabei (faenil) → nobody
Tim Peeters (tpeeters) wrote :

The header uses the Sections component, so that is the one that needs to scroll. I assigned this to myself now, but there other header-related things that need to be finished first.

Changed in ubuntu-ui-toolkit (Ubuntu):
assignee: nobody → Tim Peeters (tpeeters)
summary: - PageHeadSections does not scroll
+ Sections does not scroll
Tim Peeters (tpeeters) wrote :

I'm working on it. But it is better not to use the PageHeadSections now. There is new API to replace the old header configuration. Page now has a 'header' property that can be set to a PageHeader, which can contain a Sections component. See https://developer.ubuntu.com/api/apps/qml/sdk-15.04.1/Ubuntu.Components.PageHeader/

Right now this will not make it scrolling, but scrollable Sections will land in UITK staging this month.

Changed in ubuntu-ui-toolkit (Ubuntu):
status: Confirmed → In Progress
Tim Peeters (tpeeters) on 2016-03-09
Changed in ubuntu-ui-toolkit (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (7.0 KiB)

This bug was fixed in the package ubuntu-ui-toolkit - 1.3.1872+16.04.20160308-0ubuntu1

---------------
ubuntu-ui-toolkit (1.3.1872+16.04.20160308-0ubuntu1) xenial; urgency=medium

  [ Timo Jyrinki ]
  * Fix gles unit test skipping.
  * Add s390x to the unit test skipping architectures
  * UITK test plan - wily -> xenial. Fixes LP: #1544490

  [ Christian Dywan ]
  * Print errors when QuickUtils fails to create a component.
  * unit tests shouldn't use deprecated Dialog.callera
  * Correctly count only test case results. The result= value is used in suites
    and results.
  * Skip tst_pagehead_visible flakes on non-arm. Fixes LP: #1534651
  * Skip flaky tst_mousefilterTest::doubleClicked. Fixes LP: #1542215
  * Suppress click signal if releasing outside of ListItem. Fixes LP: #1541148.
  * Use gdb in runtest.sh to produce backtraces.
  * Arrow keys change value of a Slider. Fixes LP: #1523824.
  * Only use Maliit when enabled explicitly in the environment

  [ Oliver Tilloy ]
  * Do not try to assign to non-existent property "activeFocusOnPress".
    Fixes LP: #1532953
  * Bubble up ESC key press event if there is no popover to close.
    Fixes LP: #1546627

  [ Loïc Molinari ]
  * Added private items and nodes for the new component styles.
    Fixes LP: #1523836
  * Made use of new private Frame item for the focusing.
  * Fixed performance monitor crash because of a NULL timer pointer dereference.
    Fixes LP: #1546986
  * Fixed performance monitor dangling pointer crash. Fixes LP: #1546984
  * [ProportionalShape] Ensured width/height ratio is correct with default values.
    Fixes LP: #1546546
  * Added a workaround to prevent a crash while changing the QPA scale factor.

  [ Florian Boucault ]
  * Always on performance monitor that logs frames that too long to render.
  * MainView: proceed to selecting the theme automatically at startup too.
    Fixes LP: #1535819
  * MainView: when no gradient color is needed for the background, rely on
    QQuickWindow's GL clear color. Lessens overdraw considerably for most
    apps. Fixes LP: #1439133.
  * Panel: MathUtils used without import prefix was leading to undefined
    reference.
  * Label: use native rendering on low dpi screens (GRID_UNIT_PX <= 10) for
    sharper looking text.
  * Gallery: added palette browser to Colors page.

  [ Tim Peeters ]
  * Support scrolling in ListViews with horizontal orientation to the
    qquicklistview CPO.
  * Add background to AppHeader and remove contents clipping from MainView.
    Fixes LP: #1531016, LP: #1531457.
  * Hide AppHeader when using AdaptivePageLayout. Fixes bug 1531871.
    Fixes LP: #1531871.
  * Implement horizontal flicking in the flickable autopilot CPO.
  * Re-order to list of pages in the gallery to be alphabetical.
  * Fix the autopilot failures introduced with the horizontal scrolling in
    the Flickable CPO.
  * Update documentation for MainView, Page, AdaptivePageLayout to use the new
    PageHeader in all examples. Deprecate old properties. Fixes LP: #1540574
  * Add 'animate' property to new internal AppHeaderBase, and do not show a
    header animation when starting an app without header.
    Fixes LP: #1518002, LP: #1524901.
 ...

Read more...

Changed in ubuntu-ui-toolkit (Ubuntu):
status: Fix Committed → Fix Released
Changed in canonical-devices-system-image:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Zoltan Balogh (bzoltan)
milestone: none → ww08-2016
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers