Review Request 114283: Use QtQuickControls ScrollView internally in PlasmaExtraComponents.ScrollArea

David Edmundson david at davidedmundson.co.uk
Thu Jun 19 18:05:08 UTC 2014



> On Dec. 3, 2013, 8:49 p.m., Sebastian Kügler wrote:
> > I really like the idea. I think we should keep our Scroll* components in to ease porting, but move away from using it for our own stuff first, and then, before a first API promise, revisit if we can remove our own implementation (which I really hope we'll be able to).
> > 
> > I'd also like to read Marco's opinion on this.
> 
> Mark Gaiser wrote:
>     Have you heard of QML Plugin versions? The import line with a version behind it.
>     You can safely remove what you want and just give it a new version number.
> 
> Marco Martin wrote:
>     To me in general is a good idea and is fine as long as the api stays the same (eventually adding missing properties back if any)
> 
> Marco Martin wrote:
>     on this in particular, ScrollBar.qml was public api, so shouldn't be removed, even if not used by this component in partibular.
>     
>     apart from that is good to go.
> 
> Kai Uwe Broulik wrote:
>     Any news on this? Plasma-NM has recently switched over to a QtQuick Controls ScrollView, and so did I.
> 
> Marco Martin wrote:
>     eeew, and does use a correct scrollbar?
> 
> David Edmundson wrote:
>     No, it is not. It's the wrong colour and width.
> 
> Kai Uwe Broulik wrote:
>     If you're using the Breeze QtCurve theme you can hardly tell a difference hence I changed it too. Then I tried it with Oxygen and it looked bad. But at least that thing is reliable and doesn't bounce around.
> 
> Marco Martin wrote:
>     it should never be assumed that a particular theme is used. (and i think this patch should be pushed and be reverted to use this component)
>     
>     what does "bounce around" mean btw?
> 
> Kai Uwe Broulik wrote:
>     Indeed.
>     
>     Bounce around meaning behaving like the Widgets Explorer - erratic mousewheel scroll behavior, bouncing off the edge when reaching end of list, list can be dragged around with mouse, etc
> 
> Marco Martin wrote:
>     that's just default settings on the boundsbehavior, if is just that is easy fix

The big thing I've seen which is problematic is removing the first visible entry in a ListView.
Instead of adjusting the contentY like any sane programmer would do, ListView "optimises" by adjusting the originY to be non-zero.

The current scrollbar doesn't expect Flickable to be weird and then gets in a mess showing a large empty white space on top. 


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/114283/#review45057
-----------------------------------------------------------


On June 19, 2014, 6 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/114283/
> -----------------------------------------------------------
> 
> (Updated June 19, 2014, 6 p.m.)
> 
> 
> Review request for KDE Frameworks and Plasma.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> Use QtQuickControls ScrollView internally
> 
> Flickable has a very odd API in which contentHeight can't be trusted. we need to update our ScrollBars/ScrollArea to make use of the new
> originX and originY in order to fix a lot of bugs that we currently see with scrollbars.
> 
> Instead of doing that, by porting to use QtQuick Controls we get all
> these bug fixes as well as _significantly_ reducing our code.
> 
> Having a separate logic vs UI, makes things (IMHO) easier to read.
> 
> I don't expect to merge this as-is; I haven't included the plasma
> feature that creates a SectionScroller if the content is a listview, but
> that should be viable. As far as I know all other features (keyboard
> controls / hiding buttons on touch screens) are still kept.
> 
> Files removed are as indication as to long term changes from making this
> change, in order to do that we need to port all users from ScrollBars ->
> ScrollArea. (which is worth doing anyway IMHO)
> 
> 
> Diffs
> -----
> 
>   src/declarativeimports/plasmaextracomponents/qml/ScrollArea.qml 860c0e7 
>   src/declarativeimports/plasmaextracomponents/qml/styles/ScrollViewStyle.qml PRE-CREATION 
> 
> Diff: https://git.reviewboard.kde.org/r/114283/diff/
> 
> 
> Testing
> -------
> 
> Widget Explorer in plasma-shell looks exactly as before.
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140619/d3ce437e/attachment.html>


More information about the Kde-frameworks-devel mailing list