From 1dd6aebede96fb3a8a7815c062e44bd59fa279d1 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Thu, 3 Oct 2019 12:16:39 -0700 Subject: [PATCH] Handle minimized window --- .../ui/simplifiedFTUE/InitialLaunchWindow.qml | 4 +- scripts/simplifiedUI/ui/simplifiedUI.js | 66 +++++++++++++------ 2 files changed, 48 insertions(+), 22 deletions(-) diff --git a/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml b/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml index 84f0237472..966121a7f0 100644 --- a/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml +++ b/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml @@ -27,7 +27,8 @@ Rectangle { } Component.onCompleted: { - if (Settings.getValue("simplifiedUI/alreadyAutoSelectedAvatarFromInventory", false)) { + if (Settings.getValue("simplifiedUI/alreadyAutoSelectedAvatarFromInventory", false) || + Settings.getValue("simplifiedUI/closedAvatarPageOfInitialLaunchWindow", false)) { tempAvatarPageContainer.visible = false; controlsContainer.visible = true; } @@ -165,6 +166,7 @@ Rectangle { onClicked: { Tablet.playSound(TabletEnums.ButtonClick); tempAvatarPageContainer.visible = false; + Settings.setValue("simplifiedUI/closedAvatarPageOfInitialLaunchWindow", true); controlsContainer.visible = true; } } diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index 98ec5e2260..13afb530f8 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -438,22 +438,16 @@ function displaySecondLaunchWindow() { function closeInitialLaunchWindow() { if (initialLaunchWindow) { initialLaunchWindow.fromQml.disconnect(onMessageFromInitialLaunchWindow); - var homeLocation = LocationBookmarks.getAddress("hqhome"); - if (homeLocation) { - Window.location = homeLocation; - } initialLaunchWindow.close(); + initialLaunchWindow = null; } } function closeSecondLaunchWindow() { if (secondLaunchWindow) { secondLaunchWindow.fromQml.disconnect(onMessageFromSecondLaunchWindow); - var homeLocation = LocationBookmarks.getAddress("hqhome"); - if (homeLocation) { - Window.location = homeLocation; - } secondLaunchWindow.close(); + secondLaunchWindow = null; } } @@ -466,6 +460,10 @@ function onMessageFromInitialLaunchWindow(message) { switch (message.method) { case "closeInitialLaunchWindow": closeInitialLaunchWindow(); + var homeLocation = LocationBookmarks.getAddress("hqhome"); + if (homeLocation) { + Window.location = homeLocation; + } break; default: @@ -483,6 +481,10 @@ function onMessageFromSecondLaunchWindow(message) { switch (message.method) { case "closeSecondLaunchWindow": closeSecondLaunchWindow(); + var homeLocation = LocationBookmarks.getAddress("hqhome"); + if (homeLocation) { + Window.location = homeLocation; + } break; default: @@ -666,6 +668,7 @@ function onGeometryChanged(rect) { }; } if (initialLaunchWindow) { + print("GEOMETRY CHANGED, INITIAL WINDOW. rect.width: ", rect.width, " AND rect.height: ", rect.height, " AND rect.x: ", rect.x, " AND rect.y: ", rect.y); initialLaunchWindow.size = { "x": rect.width, "y": rect.height @@ -674,8 +677,10 @@ function onGeometryChanged(rect) { "x": rect.x, "y": rect.y }; + print("NOW THE INITIAL WINDOW size IS: ", JSON.stringify(initialLaunchWindow.size), " AND position IS: ", JSON.stringify(initialLaunchWindow.position)); } if (secondLaunchWindow) { + print("GEOMETRY CHANGED, SECOND WINDOW. rect.width: ", rect.width, " AND rect.height: ", rect.height, " AND rect.x: ", rect.x, " AND rect.y: ", rect.y); secondLaunchWindow.size = { "x": rect.width, "y": rect.height @@ -684,24 +689,39 @@ function onGeometryChanged(rect) { "x": rect.x, "y": rect.y }; + print("NOW THE SECOND WINDOW size IS: ", JSON.stringify(secondLaunchWindow.size), " AND position IS: ", JSON.stringify(secondLaunchWindow.position)); } } +var initialLaunchWindowIsMinimized = false; +var secondLaunchWindowIsMinimized = false; function onWindowMinimizedChanged(isMinimized) { if (isMinimized) { - if (initialLaunchWindow) { - initialLaunchWindow.setVisible(false); - } - if (secondLaunchWindow) { - secondLaunchWindow.setVisible(false); - } - } else { - if (initialLaunchWindow) { - initialLaunchWindow.show(); - } - if (secondLaunchWindow) { - secondLaunchWindow.show(); - } + handleInitialLaunchWindowVisibleChanged(false); + handleSecondLaunchWindowVisibleChanged(false); + } else if (!HMD.active) { + handleInitialLaunchWindowVisibleChanged(true); + handleSecondLaunchWindowVisibleChanged(true); + } +} + +function handleInitialLaunchWindowVisibleChanged(shouldBeVisible) { + if (shouldBeVisible && !initialLaunchWindow && initialLaunchWindowIsMinimized) { + displayInitialLaunchWindow(); + initialLaunchWindowIsMinimized = false; + } else if (!shouldBeVisible && initialLaunchWindow) { + closeInitialLaunchWindow(); + initialLaunchWindowIsMinimized = true; + } +} + +function handleSecondLaunchWindowVisibleChanged(shouldBeVisible) { + if (shouldBeVisible && !secondLaunchWindow && secondLaunchWindowIsMinimized) { + displaySecondLaunchWindow(); + secondLaunchWindowIsMinimized = false; + } else if (!shouldBeVisible && secondLaunchWindow) { + closeSecondLaunchWindow(); + secondLaunchWindowIsMinimized = true; } } @@ -712,8 +732,12 @@ function onDisplayModeChanged(isHMDMode) { if (isHMDMode) { onHMDInputDeviceMutedChanged(Audio.mutedHMD); + handleInitialLaunchWindowVisibleChanged(false); + handleSecondLaunchWindowVisibleChanged(false); } else { onDesktopInputDeviceMutedChanged(Audio.mutedDesktop); + handleInitialLaunchWindowVisibleChanged(true); + handleSecondLaunchWindowVisibleChanged(true); } }