From 8ece4519b10a86c42c66244116fae938de94947d Mon Sep 17 00:00:00 2001 From: Marco Martin Date: Mon, 12 Apr 2021 14:27:33 +0200 Subject: [PATCH] limit applet size to view size --- .../contents/ui/launcher/HomeScreenContents.qml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/containments/homescreen/package/contents/ui/launcher/HomeScreenContents.qml b/containments/homescreen/package/contents/ui/launcher/HomeScreenContents.qml index 07da8119..a62a8531 100644 --- a/containments/homescreen/package/contents/ui/launcher/HomeScreenContents.qml +++ b/containments/homescreen/package/contents/ui/launcher/HomeScreenContents.qml @@ -235,15 +235,26 @@ DragDrop.DropArea { Connections { target: dropArea function onWidthChanged () { + let spaceReleased = false; + if (appletContainer.width > mainFlickable.width || appletContainer.height > mainFlickable.height) { + appletContainer.width = Math.min(appletContainer.width, mainFlickable.width); + appletContainer.height = Math.min(appletContainer.height, mainFlickable.height); + spaceReleased = true; + } if (Math.floor((appletContainer.x) / mainFlickable.width) < Math.floor((appletContainer.x + appletContainer.width/2) / mainFlickable.width)) { appletsLayout.releaseSpace(appletContainer); appletContainer.x = Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width) * mainFlickable.width; appletsLayout.positionItem(appletContainer); + spaceReleased = false; } else if (Math.floor((appletContainer.x + appletContainer.width/2) / mainFlickable.width) < Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width)) { appletsLayout.releaseSpace(appletContainer); appletContainer.x = Math.ceil(appletContainer.x / mainFlickable.width) * mainFlickable.width - appletContainer.width; appletsLayout.positionItem(appletContainer); + spaceReleased = false; + } + if (spaceReleased) { + appletsLayout.positionItem(appletContainer); } } }