D6188: [Desktop] Pad cellWidth/cellHeight with the extra space
Chris Holland
noreply at phabricator.kde.org
Wed Jun 21 18:34:40 UTC 2017
Zren added a comment.
So before my commit, it was only needing to do:
qml: cellHeight iconHeight 108
qml: cellWidth iconWidth 92
qml: cellHeight iconHeight 108
with no updates after the panel is added.
- After my patch logs: https://gist.github.com/Zren/2272e7c5ad6e8ff8e65b3480cddb9910
- With isRootView check logs: https://gist.github.com/Zren/e9ad15929d376a5dc828b5ce8a8eda7f
- Code I mentioned above: https://gist.github.com/Zren/e9fa35350673da3cb1dde8e7bb44b28c
When the panel slides in, it seems to sometimes update at height=1979px, but it may skip that and just calculate at height=1050px (I have a 30px panel).
We could check if ` && scrollArea.viewportHeight > 0` however that's still calculating the extra space a few times before the panel is added.
https://gist.github.com/Zren/1d93dfb5e687e68732d470d26104bf6d
Ideally we'd only want to calculate cellWidth/cellHeight once like it was before. seeing as how viewportHeight/viewportWidth is recalculated.
We could also wait for the scrollArea component to complete loading.
PlasmaExtras.ScrollArea {
id: scrollArea
readonly property int viewportWidth: ready && viewport ? Math.ceil(viewport.width) : 0
readonly property int viewportHeight: ready && viewport ? Math.ceil(viewport.height) : 0
property bool ready: false
Component.onCompleted: {
ready = true
}
which brings us to this before the panels are added.
qml: cellHeight iconHeight 108
qml: onCellHeightChanged 108
qml: cellWidth iconWidth 92
qml: onCellWidthChanged 92
qml: cellHeight iconHeight 108
qml: cellHeight iconHeight 108
qml: cellWidth iconWidth 92
qml: scrollArea.onCompleted
qml: cellWidth iconWidth 92
qml: cellHeight iconHeight 108
qml: cellHeight iconHeight 108
qml: cellWidth iconWidth 92
qml: availableColumns 20.869565217391305 = containerSize / cellSize 1920 92
qml: availableColumns 20 floored
qml: allColumnSize 1840
qml: extraSpace 80
qml: extraSpacing 4
qml: cellWidth extraWidth 4
qml: onCellWidthChanged 96
qml: cellHeight iconHeight 108
qml: availableColumns 10 = containerSize / cellSize 1080 108
qml: availableColumns 10 floored
qml: allColumnSize 1080
qml: extraSpace 0
qml: extraSpacing 0
qml: cellHeight extraHeight 0
That seems good enough to me.
After the panels are added... I'm not sure what else to do. There isn't really a way to tell plasmoid.screenGeomertry is animating. As for the binding loops, I'd need to rewrite https://phabricator.kde.org/D6201 to get rid of the binding loops on the label without breaking other stuff.
REPOSITORY
R119 Plasma Desktop
REVISION DETAIL
https://phabricator.kde.org/D6188
To: Zren, hein
Cc: anthonyfieroni, broulik, plasma-devel, ZrenBot, spstarr, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170621/d7da3197/attachment.html>
More information about the Plasma-devel
mailing list