Wait until the ScrollView component has completed before attempting to
dynamically size the icons based on the viewport width/height.
A larger write up is in D6188, but essentially, variables are recalculated like 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
After the panels are added, it will do:
file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width" file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width" qml: cellHeight iconHeight 108 qml: availableColumns 9.99074074074074 = containerSize / cellSize 1079 108 qml: availableColumns 9 floored qml: allColumnSize 972 qml: extraSpace 107 qml: extraSpacing 11.88888888888889 qml: cellHeight extraHeight 11.88888888888889 qml: onCellHeightChanged 119.88888888888889 file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width" file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width" qml: timeLeft 0 1498071212427 qml: cellHeight iconHeight 108 qml: availableColumns 9.722222222222221 = containerSize / cellSize 1050 108 qml: availableColumns 9 floored qml: allColumnSize 972 qml: extraSpace 78 qml: extraSpacing 8.666666666666666 qml: cellHeight extraHeight 8.666666666666666 qml: onCellHeightChanged 116.66666666666667 file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width" file:///home/chris/.local/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:282:17: QML Text: Binding loop detected for property "width"
It may sometimes skip the plasmoid.screenGeomertry.height = 1079 and only calculate it at 1050px.