> I wonder if it'd make sense to "enable: angle != 0" the ShaderEffect?
Hmm... Not sure... I also use itemOpacity when it is unfolded. Would require to be very careful with distinguishing opacity and itemOpacity (which intentionally are 2 different things). The gain would be very minimal I think.
>
> =====
>
> Ultimately I'd like to see a shader-based replacement for the three
> rotations...
Sure. But somewhat out of the scope of this merge.
>
> =====
>
> Ideas of better names for LauncherDelegate and LauncherListDelegate? Like
> LauncherItem and LauncherDelegate, maybe?
renamed LauncherListDelegate to FoldingLauncherDelegate.
>
> =====
>
> 604 + Item {
>
> Do we really need this?
Yes. This does the clipping when unfolded. I need to have the MouseArea to be a child of the ListView otherwise weird mouse event stealing things will happen. Also, the dragTarget (the dragFakeItem) should be in a parent of the same size as the MouseArea or it indtroduces long calculations and nasty jumping at transitions. I tried that before.
I got fed up by the rotating thing and tried if we couldn't abuse the layoutDirection for the inversion. Doesn't work unfortunately. Removed this leftover.
>
> =====
>
> 662 + // destructed. Note that if the move() operation
> when dragging switches
>
> destructed → destroyed
fixed.
>
> =====
>
> Can we protect ourselves somehow from the "breaks badly"? Like limit the
> dragging distance?
Very good point. I've limited the drag area and haven't been able to reproduce this any more.
>
> =====
>
> You need a State { name: "" } with the default values, otherwise the *current*
> values (e.g. in the middle of a transition) will be assumed as the default
> ones.
The behavior you describe is pretty much what I want. When leaving one of those special states, just go back to whatever it was before.
>
> =====
> 695 + opacity: parent.dragging ? 1 : 0
> 696 + Behavior on opacity {
> 697 + NumberAnimation { duration:
> UbuntuAnimation.FastDuration }
> 698 + }
>
> Since there are states already, maybe move that there? UbuntuNumberAnimation
> could be used here, too, although I think someone said we shouldn't use the
> easing for opacity?
Moved it over to the states. Yes, we should never use Easing on opacity changes.
>
> =====
>
> 767 + anchors.fill: parent
> 768 + anchors.topMargin: launcherListView.topMargin
> 769 + anchors.bottomMargin:
> launcherListView.bottomMargin
>
> Try to remember and group those.
done.
>
> =====
>
> 778 + var realContentY = launcherListView.contentY
> + launcherListView.topMargin
>
> 785 + var realContentY = launcherListView.contentY
> + launcherListView.topMargin
>
> 873 + var realContentY = launcherListView.contentY
> + launcherListView.topMargin
>
> Should take originY into account.
>
> Maybe make it into a function to reuse? Same for realItemHeight?
changed them to be properties of the ListView.
>
> =====
>
> 790 + if (index == 0 || index ==
> launcherListView.count -1) {
>
> Space before -.
fixed.
>
> =====
>
> Will dragging work fine with the launcher (not) inverted?
Yes, I always set inverted to false while developing and only set it back to true before changing the merge request to "Needs Review". Makes development less brainfucking and tests both directions :)
>
> =====
>
> There's quicklist-related stuff in launcheritem, care to move it to when it
> will actually work?
It works. I just removed the UI because the Popover is really nowhere near ready for this. But functionality works ok already. I have a quicklist here that lets me pin items and remove items.
If you don't mind I'd prefer to leave this code as it's a bit wired up with the automatic pinning when starting a drag. I just removed all the quicklist UI code for this review.
> I wonder if it'd make sense to "enable: angle != 0" the ShaderEffect?
Hmm... Not sure... I also use itemOpacity when it is unfolded. Would require to be very careful with distinguishing opacity and itemOpacity (which intentionally are 2 different things). The gain would be very minimal I think.
>
> =====
>
> Ultimately I'd like to see a shader-based replacement for the three
> rotations...
Sure. But somewhat out of the scope of this merge.
> egate? Like
> =====
>
> Ideas of better names for LauncherDelegate and LauncherListDel
> LauncherItem and LauncherDelegate, maybe?
renamed LauncherListDel egate to FoldingLauncher Delegate.
>
> =====
>
> 604 + Item {
>
> Do we really need this?
Yes. This does the clipping when unfolded. I need to have the MouseArea to be a child of the ListView otherwise weird mouse event stealing things will happen. Also, the dragTarget (the dragFakeItem) should be in a parent of the same size as the MouseArea or it indtroduces long calculations and nasty jumping at transitions. I tried that before.
>
> =====
>
> 658 + layoutDirection: root.inverted ? Qt.RightToLeft :
> Qt.LeftToRight
>
> Hum?
I got fed up by the rotating thing and tried if we couldn't abuse the layoutDirection for the inversion. Doesn't work unfortunately. Removed this leftover.
>
> =====
>
> 662 + // destructed. Note that if the move() operation
> when dragging switches
>
> destructed → destroyed
fixed.
>
> =====
>
> Can we protect ourselves somehow from the "breaks badly"? Like limit the
> dragging distance?
Very good point. I've limited the drag area and haven't been able to reproduce this any more.
> .FastDuration; easing: UbuntuAnimation .StandardEasing } .FastDuration; easing: .StandardEasing } .BriskDuration; easing: .StandardEasing } .FastDuration; easing: UbuntuAnimation .StandardEasing .BriskDuration; easing: .StandardEasing } mation {} here.
> =====
>
> 674 + NumberAnimation { properties: "x,y"; duration:
> UbuntuAnimation
>
> 743 + NumberAnimation { properties:
> "angle,offset"; duration: UbuntuAnimation
> UbuntuAnimation
>
> 749 + NumberAnimation { properties:
> "angle,offset"; duration: UbuntuAnimation
> UbuntuAnimation
>
> 754 + NumberAnimation { properties: "height";
> duration: UbuntuAnimation
> }
>
> 760 + NumberAnimation { properties: "height";
> duration: UbuntuAnimation
> UbuntuAnimation
>
> Use UbuntuNumberAni
Done.
>
> =====
>
> You need a State { name: "" } with the default values, otherwise the *current*
> values (e.g. in the middle of a transition) will be assumed as the default
> ones.
The behavior you describe is pretty much what I want. When leaving one of those special states, just go back to whatever it was before.
> .FastDuration } mation
> =====
> 695 + opacity: parent.dragging ? 1 : 0
> 696 + Behavior on opacity {
> 697 + NumberAnimation { duration:
> UbuntuAnimation
> 698 + }
>
> Since there are states already, maybe move that there? UbuntuNumberAni
> could be used here, too, although I think someone said we shouldn't use the
> easing for opacity?
Moved it over to the states. Yes, we should never use Easing on opacity changes.
>
> =====
>
> 729 + }
> 730 +
> 731 + ]
>
> Drop newline.
done.
> w.topMargin bottomMargin: w.bottomMargin
> =====
>
> 767 + anchors.fill: parent
> 768 + anchors.topMargin: launcherListVie
> 769 + anchors.
> launcherListVie
>
> Try to remember and group those.
done.
> w.contentY w.topMargin w.contentY w.topMargin w.contentY w.topMargin
> =====
>
> 778 + var realContentY = launcherListVie
> + launcherListVie
>
> 785 + var realContentY = launcherListVie
> + launcherListVie
>
> 873 + var realContentY = launcherListVie
> + launcherListVie
>
> Should take originY into account.
>
> Maybe make it into a function to reuse? Same for realItemHeight?
changed them to be properties of the ListView.
> w.count -1) {
> =====
>
> 790 + if (index == 0 || index ==
> launcherListVie
>
> Space before -.
fixed.
>
> =====
>
> Will dragging work fine with the launcher (not) inverted?
Yes, I always set inverted to false while developing and only set it back to true before changing the merge request to "Needs Review". Makes development less brainfucking and tests both directions :)
>
> =====
>
> There's quicklist-related stuff in launcheritem, care to move it to when it
> will actually work?
It works. I just removed the UI because the Popover is really nowhere near ready for this. But functionality works ok already. I have a quicklist here that lets me pin items and remove items.
If you don't mind I'd prefer to leave this code as it's a bit wired up with the automatic pinning when starting a drag. I just removed all the quicklist UI code for this review.