From 44d96100487f5f895a7d78b5522a2cf0bc6f5698 Mon Sep 17 00:00:00 2001 From: RebeccaStankus Date: Mon, 30 Sep 2019 09:17:51 -0700 Subject: [PATCH] Working on UI --- .../ui/simplifiedFTUE/InitialLaunchWindow.qml | 215 +++++++++--------- .../ui/simplifiedFTUE/SecondLaunchWindow.qml | 12 +- .../ui/simplifiedFTUE/images/qrCode.jpg | Bin 0 -> 6066 bytes .../ui/simplifiedFTUE/images/qrCode.png | Bin 1411 -> 0 bytes scripts/simplifiedUI/ui/simplifiedUI.js | 51 ++++- 5 files changed, 158 insertions(+), 120 deletions(-) create mode 100644 scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.jpg delete mode 100644 scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.png diff --git a/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml b/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml index 7f65a8e9cd..8600eb7d26 100644 --- a/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml +++ b/scripts/simplifiedUI/ui/simplifiedFTUE/InitialLaunchWindow.qml @@ -18,8 +18,11 @@ import hifi.simplifiedUI.simplifiedControls 1.0 as SimplifiedControls Rectangle { id: root - color: simplifiedUI.colors.white + // cannot get anything from SimplifiedConstants to work: simplifiedUI.colors.white + // TODO figure out why and fix + color: "#ffffff" anchors.fill: parent + z: 1 Component.onCompleted: { if (Settings.getValue("simplifiedUI/alreadyAutoSelectedAvatar", false)) { @@ -30,20 +33,22 @@ Rectangle { Image { id: topLeftAccentImage - width: 60 - height: 150 + width: 400 + height: 180 anchors.left: parent.left anchors.top: parent.top source: "images/defaultTopLeft.png" + z: 3 } Image { id: bottomRightAccentImage - width: 30 - height: 100 + width: 80 + height: 250 anchors.right: parent.right anchors.bottom: parent.bottom source: "images/defaultBottomRight.png" + z: 3 } Item { @@ -53,82 +58,86 @@ Rectangle { GridLayout { id: tempAvatarPageGrid anchors.fill: parent - flow: root.width < root.height ? GridLayout.LeftToRight : GridLayout.TopToBottom + columns: root.width > root.height ? 2 : 1 + rows: root.width > root.height ? 1 : 2 + anchors.leftMargin: 180 + anchors.topMargin: 50 + anchors.bottomMargin: 50 + anchors.rightMargin: 100 + flow: root.width > root.height ? GridLayout.LeftToRight : GridLayout.TopToBottom Item { id: textAndQRContainer + width: 650 + Layout.topMargin: 80 - HifiStylesUit.GraphikSemiBold { + HifiStylesUit.RalewayBold { id: headerText - width: 700 - height: 120 text: "We know this isn't you..." - anchors.fill: parent - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey - size: 36 + color: "#000000" + size: 48 + z: 2 } - HifiStylesUit.GraphikSemiBold { - width: 700 - height: 500 + HifiStylesUit.RalewaySemiBold { + id: descriptionText + anchors.top: headerText.bottom + anchors.topMargin: 20 text: "But, we've given you this temporary avatar to use

for today. If you see this avatar in-world, walk up and

say hello to other new users!



We want you to be you so we've built an Avatar Creator

App that's as easy as taking a selfie and picking your

outfits! Available now on iOS and Android Platforms." - anchors.top: headerText.bottom - horizontalAlignment: Text.AlignHLeft - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey + color: "#000000" size: 24 + z: 2 } Item { id: qrAndInstructionsContainer + anchors.top: descriptionText.bottom + height: avatarAppQRCodeImage.height + width: parent.width + anchors.topMargin: 50 + z: 2 Image { id: avatarAppQRCodeImage - width: 200 + source: "images/qrCode.jpg" height: 200 - anchors.right: parent.right - anchors.bottom: parent.bottom - source: "images/qrCode.png" + width: 200 } - HifiStylesUit.GraphikSemiBold { - width: 600 - height: 80 + HifiStylesUit.RalewayBold { + id: instructionText text: "Use your mobile phone to scan this QR code." anchors.left: avatarAppQRCodeImage.right - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey + anchors.verticalCenter: avatarAppQRCodeImage.verticalCenter + anchors.leftMargin: 50 + color: "#000000" size: 24 } } - HifiStylesUit.GraphikSemiBold { - width: 250 - height: 120 + HifiStylesUit.RalewayBold { text: "Continue" - anchors.fill: parent - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.lightBlue - opacity: continueMouseArea.containsMouse ? 1.0 : 0.8 - size: 30 + anchors.top: qrAndInstructionsContainer.bottom + anchors.topMargin: 50 + anchors.horizontalCenter: qrAndInstructionsContainer.horizontalCenter + color: "#000000" + opacity: continueMouseArea.containsMouse ? 1.0 : 0.7 + size: 36 + z: 2 MouseArea { id: continueMouseArea - hoverEnabled: false + hoverEnabled: true anchors.fill: parent onClicked: { Tablet.playSound(TabletEnums.ButtonClick); - Print("CONTINUE CLICKED"); + print("CONTINUE CLICKED"); tempAvatarPageContainer.visible = false; controlsContainer.visible = true; } @@ -138,10 +147,18 @@ Rectangle { Item { id: tempAvatarImageContainer + Layout.leftMargin: 50 + // these don't change when the window resizes + width: tempAvatarImage.width + height: tempAvatarImage.height + z: 1 + + Image { id: tempAvatarImage - width: tempAvatarPageGrid.flow === GridLayout.LeftToRight ? 250 : 500 - height: tempAvatarPageGrid.flow === GridLayout.LeftToRight ? 500 : 1000 + // if I use preferred width and height, the image does not update when window changes size + width: tempAvatarPageGrid.flow === GridLayout.LeftToRight ? 400 : 100 + height: tempAvatarPageGrid.flow === GridLayout.LeftToRight ? 748 : 187 source: "images/DefaultAvatar_" + MyAvatar.skeletonModelURL.substring(123, MyAvatar.skeletonModelURL.length - 11) + ".png" } } @@ -151,73 +168,67 @@ Rectangle { Item { id: controlsContainer visible: false + anchors.fill: parent - HifiStylesUit.GraphikSemiBold { + HifiStylesUit.RalewaySemiBold { + id: controlsDescriptionText text: "These are your avatar controls to

Interact with and move around in your new HQ." - anchors.fill: parent + anchors.top: parent.top + anchors.topMargin: 100 + anchors.horizontalCenter: parent.horizontalCenter horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey - size: 34 + height: 100 + color: "#000000" + size: 36 } GridLayout { - Item { - id: controlsImagesContainer - Item { - Image { - id: walkingControls - width: 500 - height: 350 - source: "images/walkingControls.png" - } - } + id: controlsPageGrid + anchors.top: controlsDescriptionText.bottom + anchors.topMargin: 100 + anchors.bottomMargin: 100 + anchors.horizontalCenter: parent.horizontalCenter + columns: 2 + rows: 2 + flow: root.width > root.height ? GridLayout.LeftToRight : GridLayout.TopToBottom + + Image { + id: walkingControls + source: "images/walkingControls.png" + } + + Image { + id: mouseControls + source: "images/mouseControls.png" + } - Item { - Image { - id: mouseControls - width: 600 - height: 350 - source: "images/mouseControls.png" - } - } + Image { + id: runJumpControls + source: "images/runJumpControls.png" + } - Item { - Image { - id: runJumpControls - width: 300 - height: 250 - source: "images/runJumpControls.png" - } - } - - Item { - Image { - id: cameraControls - width: 500 - height: 50 - source: "images/cameraControls.png" - } - } + Image { + id: cameraControls + source: "images/cameraControls.png" } } - HifiStylesUit.GraphikSemiBold { + HifiStylesUit.RalewayBold { text: "Learn more about our controls." anchors.bottom: parent.bottom anchors.left: parent.left - width: 200 - height: 50 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.lightBlue - opacity: learnMoreAboutControlsMouseArea.containsMouse ? 1.0 : 0.8 - size: 12 + anchors.leftMargin: 50 + anchors.bottomMargin: 50 + width: 100 + height: 25 + color: "#000000" + opacity: learnMoreAboutControlsMouseArea.containsMouse ? 1.0 : 0.7 + size: 14 MouseArea { id: learnMoreAboutControlsMouseArea - hoverEnabled: false + hoverEnabled: true anchors.fill: parent onClicked: { @@ -228,20 +239,20 @@ Rectangle { } } - HifiStylesUit.GraphikSemiBold { + HifiStylesUit.RalewayBold { text: "I've got a good grip on the controls." anchors.bottom: parent.bottom - width: 700 - height: 120 - horizontalAlignment: Text.AlignHCenter - verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.lightBlue - opacity: goodGripMouseArea.containsMouse ? 1.0 : 0.8 - size: 30 + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottomMargin: 50 + width: 350 + height: 60 + color: "#000000" + opacity: goodGripMouseArea.containsMouse ? 1.0 : 0.7 + size: 36 MouseArea { id: goodGripMouseArea - hoverEnabled: false + hoverEnabled: true anchors.fill: parent onClicked: { diff --git a/scripts/simplifiedUI/ui/simplifiedFTUE/SecondLaunchWindow.qml b/scripts/simplifiedUI/ui/simplifiedFTUE/SecondLaunchWindow.qml index 13b980b200..535b567389 100644 --- a/scripts/simplifiedUI/ui/simplifiedFTUE/SecondLaunchWindow.qml +++ b/scripts/simplifiedUI/ui/simplifiedFTUE/SecondLaunchWindow.qml @@ -18,7 +18,7 @@ import hifi.simplifiedUI.simplifiedControls 1.0 as SimplifiedControls Rectangle { id: root - color: simplifiedUI.colors.white + color: "#ffffff" anchors.fill: parent Image { @@ -57,7 +57,7 @@ Rectangle { anchors.fill: parent horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey + color: "#000000" size: 36 } @@ -70,7 +70,7 @@ Rectangle { anchors.top: headerText.bottom horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey + color: "#000000" size: 24 } @@ -81,7 +81,7 @@ Rectangle { id: avatarAppQRCodeImage width: 200 height: 200 - source: "images/qrCode.png" + source: "images/qrCode.jpg" } HifiStylesUit.GraphikSemiBold { @@ -91,7 +91,7 @@ Rectangle { anchors.top: avatarAppQRCodeImage.bottom horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.darkGrey + color: "#000000" size: 24 } } @@ -101,7 +101,7 @@ Rectangle { anchors.fill: parent horizontalAlignment: Text.AlignHCenter verticalAlignment: Text.AlignVCenter - color: simplifiedUI.colors.text.lightBlue + color: "#000000" opacity: noThanksMouseArea.containsMouse ? 1.0 : 0.8 size: 12 diff --git a/scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.jpg b/scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0674781c45e545c6ccb8d11dc1ede71e3d0f3472 GIT binary patch literal 6066 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 literal 0 HcmV?d00001 diff --git a/scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.png b/scripts/simplifiedUI/ui/simplifiedFTUE/images/qrCode.png deleted file mode 100644 index d7befd34ae0ec7afc6392818a5251c01b6eae2ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1411 zcmZXTeNd7I9LJxvISbEdBUi2MVaqLhF<;h;I(ez4XU!5fJC#VyxW#qzlACwMLx49N zlBdQzw^b8iZEbGn+dLZTjbMmjl=`e$q|pRKVGc~#zkXv`55W~R6!%zdu!BPoSiqEA$)C2sW-pJ3dZ{*sPU zSkg<5N)oj8Q-m=cZ0UzKX>L94P32v<*EUz;Zd;>#vtL-9%29;s#5Dpg5ZJyCZ}Ldb zGbC6a1@b94Ho7?t+pSKOZdfytKss@c$AlkWaRt>1G8MSm0oDKcwVU_sjptz$r?i2>BA><=I_wq`sTzoicl{AxO(Uq1DCM zxe3vrov^hCKQ-M7?sZiovkh5P$J?|~?kKfwF|K2abwDVN8%1|SPkNx6->!-!UnHeF z)8(9Rt5Iqh9Bg6Lo_YfFY;?)MGurUnY;V&%xeJ6kX?UgzX-ZN;O)T<^!l4NAt;e1r zH<(Ip1S>;I*<34ivuSza!V$+OwRT42x$h!3?!8!5%f)#OQ4a_T(AzXciH& zGf3X}B~jEv9Jux8?jo)0V5Lg1*8C)&_Q=RoLsCQv&os-&S;#~nIVw7Sh3Fv!wyG{e zclJ$t3>2JF3GJ#5-uJaUCfjP3Ufk1Oy)tgAglE7g|E+0001oa|?2M4xSYL2kb)#)&Kwi diff --git a/scripts/simplifiedUI/ui/simplifiedUI.js b/scripts/simplifiedUI/ui/simplifiedUI.js index 4bff1e9dde..9f984af006 100644 --- a/scripts/simplifiedUI/ui/simplifiedUI.js +++ b/scripts/simplifiedUI/ui/simplifiedUI.js @@ -358,17 +358,20 @@ function setOutputMuted(outputMuted) { } } -var INITIAL_LAUNCH_QML_PATH = Script.resolvePath("simplifiedFTUE/InitialLaunchWindow.qml"); +var INITIAL_LAUNCH_QML_PATH = Script.resolvePath("./simplifiedFTUE/InitialLaunchWindow.qml"); var INITIAL_LAUNCH_WINDOW_TITLE = "Initial Launch"; var INITIAL_LAUNCH_PRESENTATION_MODE = Desktop.PresentationMode.NATIVE; var INITIAL_LAUNCH_WIDTH_PX = Window.innerWidth; -var INITIAL_LAUNCH_HEIGHT_PX = Window.innerHeight + TOP_BAR_HEIGHT_PX; +// TODO use TOP_BAR_HEIGHT_PX instead of 48. Why is this not working? +var INITIAL_LAUNCH_HEIGHT_PX = Window.innerHeight + 48; var INITIAL_WINDOW_FLAGS = 0x00000001 | // Qt::Window 0x00000008 | // Qt::Popup 0x00000800 | // Qt::FramelessWindowHint 0x40000000; // Qt::NoDropShadowWindowHint var initialLaunchWindow = false; function displayInitialLaunchWindow() { + //TODO REMOVE ME + print("MILAD TESTING 3"); print("DISPLAY INITIAL LAUNCH WINDOW."); if (initialLaunchWindow) { initialLaunchWindow.close(); @@ -394,14 +397,15 @@ function displayInitialLaunchWindow() { initialLaunchWindow.fromQml.connect(onMessageFromInitialLaunchWindow); - Window.location = "file:///~serverless/tutorial.json"; + Window.location = "file:///~/serverless/tutorial.json"; } var SECOND_LAUNCH_QML_PATH = Script.resolvePath("simplifiedFTUE/SecondLaunchWindow.qml"); var SECOND_LAUNCH_WINDOW_TITLE = "Second Launch"; var SECOND_LAUNCH_PRESENTATION_MODE = Desktop.PresentationMode.NATIVE; var SECOND_LAUNCH_WIDTH_PX = Window.innerWidth; -var SECOND_LAUNCH_HEIGHT_PX = Window.innerHeight + TOP_BAR_HEIGHT_PX; +// TODO use TOP_BAR_HEIGHT_PX instead of 48. Why is this not working? +var SECOND_LAUNCH_HEIGHT_PX = Window.innerHeight + 48; var SECOND_WINDOW_FLAGS = 0x00000001 | // Qt::Window 0x00000008 | // Qt::Popup 0x00000800 | // Qt::FramelessWindowHint @@ -433,20 +437,24 @@ function displaySecondLaunchWindow() { secondLaunchWindow.fromQml.connect(onMessageFromSecondLaunchWindow); - Window.location = "file:///~serverless/tutorial.json"; + Window.location = "file:///~/serverless/tutorial.json"; } function closeInitialLaunchWindow() { initialLaunchWindow.fromQml.disconnect(onMessageFromInitialLaunchWindow); - // TODO make this go to bookmark - // Window.location = "hqhome"; + var homeLocation = LocationBookmarks.getAddress("hqhome"); + if (homeLocation) { + Window.location = "hqhome"; + } initialLaunchWindow.close(); } function closeSecondLaunchWindow() { secondLaunchWindow.fromQml.disconnect(onMessageFromSecondLaunchWindow); - // TODO make this go to bookmark - // Window.location = "hqhome"; + var homeLocation = LocationBookmarks.getAddress("hqhome"); + if (homeLocation) { + Window.location = "hqhome"; + } secondLaunchWindow.close(); } @@ -535,7 +543,6 @@ function onMessageFromTopBar(message) { case "displaySecondLaunchWindow": displaySecondLaunchWindow(); - print("DISPLAY SECOND LAUNCH WINDOW"); break; default: @@ -675,13 +682,33 @@ function onGeometryChanged(rect) { "y": rect.y }; } + if (secondLaunchWindow) { + secondLaunchWindow.size = { + "x": rect.width, + "y": rect.height + }; + secondLaunchWindow.position = { + "x": rect.x, + "y": rect.y + }; + } } function onWindowMinimizedChanged(isMinimized) { if (isMinimized) { - initialLaunchWindow.setVisible(false); + if (initialLaunchWindow) { + initialLaunchWindow.setVisible(false); + } + if (secondLaunchWindow) { + secondLaunchWindow.setVisible(false); + } } else { - initialLaunchWindow.show(); + if (initialLaunchWindow) { + initialLaunchWindow.show(); + } + if (secondLaunchWindow) { + secondLaunchWindow.show(); + } } }