diff --git a/interface/resources/qml/hifi/avatarPackager/AvatarProjectUpload.qml b/interface/resources/qml/hifi/avatarPackager/AvatarProjectUpload.qml new file mode 100644 index 0000000000..bbeca6ab3b --- /dev/null +++ b/interface/resources/qml/hifi/avatarPackager/AvatarProjectUpload.qml @@ -0,0 +1,180 @@ +import QtQuick 2.6 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 +import QtGraphicalEffects 1.0 + +import QtQuick.Controls 2.2 as Original + +import "../../controlsUit" 1.0 as HifiControls +import "../../stylesUit" 1.0 + + +Item { + id: uploadingScreen + + property var root: undefined + //visible: !!root.uploader + visible: false + anchors.fill: parent + + Timer { + id: backToProjectTimer + interval: 2000 + running: false + repeat: false + onTriggered: avatarPackager.state = "project" + } + + onVisibleChanged: { + console.log("Visibility changed"); + if (visible) { + root.uploader.completed.connect(function() { + console.log("Did complete"); + backToProjectTimer.start(); + }); + } + } + + Item { + visible: !!root.uploader && !root.uploader.complete + + anchors.fill: parent + + AnimatedImage { + id: uploadSpinner + + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + } + + source: "../../../icons/loader-snake-64-w.gif" + playing: true + z: 10000 + } + } + + Item { + id: failureScreen + + visible: !!root.uploader && root.uploader.complete && root.uploader.error !== 0 + + anchors.fill: parent + + HiFiGlyphs { + id: errorIcon + + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + } + + size: 128 + text: "w" + color: "red" + } + + Column { + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: errorIcon.bottom + Text { + anchors.horizontalCenter: parent.horizontalCenter + + text: "Error" + font.pointSize: 24 + + color: "white" + } + Text { + text: "Your avatar has not been uploaded." + font.pointSize: 16 + + anchors.horizontalCenter: parent.horizontalCenter + + color: "white" + } + } + } + + Item { + id: successScreen + + visible: !!root.uploader && root.uploader.complete && root.uploader.error === 0 + + anchors.fill: parent + + HiFiGlyphs { + id: successIcon + + anchors { + horizontalCenter: parent.horizontalCenter + verticalCenter: parent.verticalCenter + } + + size: 128 + text: "\ue01a" + color: "#1FC6A6" + } + + Column { + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: successIcon.bottom + + Text { + id: successText + + anchors.horizontalCenter: parent.horizontalCenter + + text: "Congratulations!" + font.pointSize: 24 + + color: "white" + } + Text { + text: "Your avatar has been uploaded." + font.pointSize: 16 + + anchors.horizontalCenter: parent.horizontalCenter + + color: "white" + } + } + + HifiControls.Button { + width: implicitWidth + height: implicitHeight + + anchors.bottom: parent.bottom + anchors.right: parent.right + + text: "View in Inventory" + + color: hifi.buttons.blue + colorScheme: root.colorScheme + onClicked: function() { + console.log("Opening in inventory"); + + AvatarPackagerCore.currentAvatarProject.openInInventory(); + } + } + } + + Column { + id: debugInfo + + visible: false + + Text { + id: uploadStatus + + text: "Uploading" + color: "white" + + } + Text { + text: "State: " + (!!root.uploader ? root.uploader.state : " NONE") + color: "white" + } + } + +} \ No newline at end of file