mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-29 19:22:57 +02:00
Merge pull request #10719 from ctrlaltdavid/21397
Ensure desktop dialogs' title bars are visible
This commit is contained in:
commit
0af6b3b749
1 changed files with 12 additions and 3 deletions
|
@ -353,6 +353,14 @@ FocusScope {
|
||||||
showDesktop();
|
showDesktop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ensureTitleBarVisible(targetWindow) {
|
||||||
|
// Reposition window to ensure that title bar is vertically inside window.
|
||||||
|
if (targetWindow.frame && targetWindow.frame.decoration) {
|
||||||
|
var topMargin = -targetWindow.frame.decoration.anchors.topMargin; // Frame's topMargin is a negative value.
|
||||||
|
targetWindow.y = Math.max(targetWindow.y, topMargin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function centerOnVisible(item) {
|
function centerOnVisible(item) {
|
||||||
var targetWindow = d.getDesktopWindow(item);
|
var targetWindow = d.getDesktopWindow(item);
|
||||||
if (!targetWindow) {
|
if (!targetWindow) {
|
||||||
|
@ -375,11 +383,12 @@ FocusScope {
|
||||||
targetWindow.x = newX;
|
targetWindow.x = newX;
|
||||||
targetWindow.y = newY;
|
targetWindow.y = newY;
|
||||||
|
|
||||||
|
ensureTitleBarVisible(targetWindow);
|
||||||
|
|
||||||
// If we've noticed that our recommended desktop rect has changed, record that change here.
|
// If we've noticed that our recommended desktop rect has changed, record that change here.
|
||||||
if (recommendedRect != newRecommendedRect) {
|
if (recommendedRect != newRecommendedRect) {
|
||||||
recommendedRect = newRecommendedRect;
|
recommendedRect = newRecommendedRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function repositionOnVisible(item) {
|
function repositionOnVisible(item) {
|
||||||
|
@ -394,7 +403,6 @@ FocusScope {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
var oldRecommendedRect = recommendedRect;
|
var oldRecommendedRect = recommendedRect;
|
||||||
var oldRecommendedDimmensions = { x: oldRecommendedRect.width, y: oldRecommendedRect.height };
|
var oldRecommendedDimmensions = { x: oldRecommendedRect.width, y: oldRecommendedRect.height };
|
||||||
var newRecommendedRect = Controller.getRecommendedOverlayRect();
|
var newRecommendedRect = Controller.getRecommendedOverlayRect();
|
||||||
|
@ -426,7 +434,6 @@ FocusScope {
|
||||||
newPosition.y = -1
|
newPosition.y = -1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (newPosition.x === -1 && newPosition.y === -1) {
|
if (newPosition.x === -1 && newPosition.y === -1) {
|
||||||
var originRelativeX = (targetWindow.x - oldRecommendedRect.x);
|
var originRelativeX = (targetWindow.x - oldRecommendedRect.x);
|
||||||
var originRelativeY = (targetWindow.y - oldRecommendedRect.y);
|
var originRelativeY = (targetWindow.y - oldRecommendedRect.y);
|
||||||
|
@ -444,6 +451,8 @@ FocusScope {
|
||||||
}
|
}
|
||||||
targetWindow.x = newPosition.x;
|
targetWindow.x = newPosition.x;
|
||||||
targetWindow.y = newPosition.y;
|
targetWindow.y = newPosition.y;
|
||||||
|
|
||||||
|
ensureTitleBarVisible(targetWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
Component { id: messageDialogBuilder; MessageDialog { } }
|
Component { id: messageDialogBuilder; MessageDialog { } }
|
||||||
|
|
Loading…
Reference in a new issue