mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-08-03 10:14:45 +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 {
|
Connections {
|
||||||
target: dropArea
|
target: dropArea
|
||||||
function onWidthChanged () {
|
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)) {
|
if (Math.floor((appletContainer.x) / mainFlickable.width) < Math.floor((appletContainer.x + appletContainer.width/2) / mainFlickable.width)) {
|
||||||
appletsLayout.releaseSpace(appletContainer);
|
appletsLayout.releaseSpace(appletContainer);
|
||||||
appletContainer.x = Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width) * mainFlickable.width;
|
appletContainer.x = Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width) * mainFlickable.width;
|
||||||
appletsLayout.positionItem(appletContainer);
|
appletsLayout.positionItem(appletContainer);
|
||||||
|
spaceReleased = false;
|
||||||
|
|
||||||
} else if (Math.floor((appletContainer.x + appletContainer.width/2) / mainFlickable.width) < Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width)) {
|
} else if (Math.floor((appletContainer.x + appletContainer.width/2) / mainFlickable.width) < Math.floor((appletContainer.x + appletContainer.width) / mainFlickable.width)) {
|
||||||
appletsLayout.releaseSpace(appletContainer);
|
appletsLayout.releaseSpace(appletContainer);
|
||||||
appletContainer.x = Math.ceil(appletContainer.x / mainFlickable.width) * mainFlickable.width - appletContainer.width;
|
appletContainer.x = Math.ceil(appletContainer.x / mainFlickable.width) * mainFlickable.width - appletContainer.width;
|
||||||
appletsLayout.positionItem(appletContainer);
|
appletsLayout.positionItem(appletContainer);
|
||||||
|
spaceReleased = false;
|
||||||
|
}
|
||||||
|
if (spaceReleased) {
|
||||||
|
appletsLayout.positionItem(appletContainer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue