mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-04-26 14:23:09 +00:00
limit applet size to view size
This commit is contained in:
parent
8cfdb80661
commit
8ece4519b1
1 changed files with 11 additions and 0 deletions
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue