I had a look at the OptionSelector code this morning (for the first
time) in the hope I could help Dan, one of our community developers, but
one morning was not enough to be 100% sure of what's wrong here. I will
leave a report of my investigation below:

Works -> on Krillin rc-proposed
Fails -> on Arale OTA11

Report:
- On Arale OTA11, where it fails, I see that when I select index > 3 not all 
delegates are created. Let's suppose I select the item with index 6, then close 
the app, open again, I see that ListView creates delegates 0,1,2,3 and 6, but 
not 4-5. That leads me to believe the highlightFollowsCurrentItem logic was not 
triggered, otherwise scrolling from 0 to 6 would require info about delegates 
4-5 as well.


LOG:
REFERENCE TO SOURCE OF THE APP EXPOSING THE BUG
http://bazaar.launchpad.net/~ocs-team/owncloud-sync/trunk/view/30/Owncloud-Sync/Owncloud-Sync/ui/AccountSettingsPage.qml#L91

//this is onSourceChanged for the Image inside OptionSelectorDelegate
qml: SOURCE 0 
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Themes/Ambiance/artwork/chevron_down.png
 false false
//This is printed from the OptionSelectorDelegate having modelData "0", from 
inside Component.onCompleted
qml: I AM ALIVE! 0
//onHeightChanged for the ListView inside OptionSelector.qml
qml: LISTVIEW HEIGHT 115
qml: SOURCE 15 
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Themes/Ambiance/artwork/chevron_down.png
 false false
qml: I AM ALIVE! 15
qml: SOURCE 30 
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Themes/Ambiance/artwork/chevron_down.png
 false false
qml: I AM ALIVE! 30
qml: SOURCE 45 
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Themes/Ambiance/artwork/chevron_down.png
 false false
qml: I AM ALIVE! 45
qml: [AccountsSettingsPage] - Set Frequency Index:6
qml: LISTVIEW CURRENTINDEX CHANGED TO 6
qml: SOURCE 120 
file:///usr/lib/arm-linux-gnueabihf/qt5/qml/Ubuntu/Components/Themes/Ambiance/artwork/chevron_down.png
 false false
//Delegate with modelData 120 is instantiated, but not those with data "60", 
"120" (see app source link above). The listview does not scroll, and the UI 
still shows "No Sync", i.e. the element at index 0, even though ListView's 
currentIndex is now 6
qml: I AM ALIVE! 120


It seems like it could be a timing issue in ListView itself, i.e. 
highlightFollowsCurrentItem doesn't work if you set the currentIndex too early, 
although I'm not sure about this. Someone should have a deeper look.

- Additionally, OptionSelectorDelegate has a Connection to 
onCurrentlyExpandedChanged.
http://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/staging/view/1986/src/Ubuntu/Components/1.3/OptionSelectorDelegate.qml#L166
Let's pick up the case I described above again: I open the app, select "120 
minutes" in the setting OptionSelector, then close the app, open it again (at 
this point the OptionSelector shows "No Sync" although currentIndex of the 
ListView is 6, as said in the previous bullet point). NOW I tap on the 
OptionSelector, it expands, and I notice that the onCurrentlyExpandedChanged 
slot is only called for the delegates at index 0,1,2,3, even though the view is 
now showing all delegates, from index 0 to 6. Moreover, there are no ticks or 
chevron-down images on the right side of ANY of the delegates (yes, it's just a 
list of labels at this point) until I select one value again.



** Changed in: ubuntu-ui-toolkit (Ubuntu)
     Assignee: (unassigned) => Zsombor Egri (zsombi)

** Changed in: ubuntu-ui-toolkit (Ubuntu)
   Importance: Undecided => High

** Changed in: ubuntu-ui-toolkit (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to ubuntu-ui-toolkit in
Ubuntu.
https://bugs.launchpad.net/bugs/1589939

Title:
  OptionSelector: Setting selectedIndex unpredictable

Status in ubuntu-ui-toolkit package in Ubuntu:
  Confirmed

Bug description:
  setting the selectedIndex is unpredictable. it works on:

  xenial desktop
  M10 OTA 11

  but fails on:

  MX4 OTA 11
  Krillin OTA 11
  Krillin rc_proposed

  Definitions:

  Works - selectedIndex is set, optionSelection becomes animated and changes to 
set index.
  Fails - selectedIndex is set, optionSelector remains at index 0 while the 
selectedIndex is changed to set index.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1589939/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to