From 254e04c4b7dd5d97c92364f68185ef5e4bbf2b59 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 8 Mar 2016 16:09:42 -0800 Subject: [PATCH 1/4] UI change --- interface/resources/qml/AssetServer.qml | 70 ++++++++++++++----------- 1 file changed, 40 insertions(+), 30 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index c688e30cef..e260b5e8d7 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -43,29 +43,36 @@ Window { property alias directory: root.currentDirectory } - function reload() { print("reload"); } - - function goBack() { - print("goBack"); + function addToWorld() { + print("addToWorld"); } - - function uploadFile(fileUrl, addToScene) { - print("uploadFile: " + fileUrl + " " + addToScene); - + function renameFile() { + print("renameFile"); } - function deleteFile() { print("deleteFile"); } + function uploadFile(fileUrl, addToScene) { + var object = desktop.inputDialog({ + label: "Enter asset path", + //placeholderText: "atp:/myFolder/myFile.ext" + }); + object.selected.connect(function(value) { + print(value); + }); + print("uploadFile: " + fileUrl + " " + addToScene); + } + Column { width: pane.contentWidth HifiControls.ContentSection { + id: assetDirectory name: "Asset Directory" spacing: hifi.dimensions.contentSpacing.y isFirst: true @@ -76,16 +83,6 @@ Window { anchors.right: parent.right spacing: hifi.dimensions.contentSpacing.x - HifiControls.GlyphButton { - glyph: hifi.glyphs.back - color: hifi.buttons.white - colorScheme: root.colorScheme - height: 26 - width: 26 - - onClicked: root.goBack() - } - HifiControls.GlyphButton { glyph: hifi.glyphs.reload color: hifi.buttons.white @@ -95,23 +92,35 @@ Window { onClicked: root.reload() } - } - Item { - // Take the deleteButotn out of the column flow. - id: deleteButtonContainer - anchors.top: buttonRow.top - anchors.right: parent.right + HifiControls.Button { + text: "ADD TO WORLD" + color: hifi.buttons.white + colorScheme: root.colorScheme + height: 26 + width: 120 + + onClicked: root.addToWorld() + } + + HifiControls.Button { + text: "RENAME" + color: hifi.buttons.white + colorScheme: root.colorScheme + height: 26 + width: 80 + + onClicked: root.renameFile() + } HifiControls.Button { id: deleteButton - anchors.right: parent.right - text: "DELETE SELECTION" + text: "DELETE" color: hifi.buttons.red colorScheme: root.colorScheme height: 26 - width: 130 + width: 80 onClicked: root.deleteFile() } @@ -119,7 +128,7 @@ Window { HifiControls.Tree { id: treeView - height: 250 + height: 400 treeModel: scriptsModel colorScheme: root.colorScheme anchors.left: parent.left @@ -128,6 +137,7 @@ Window { } HifiControls.ContentSection { + id: uploadSection name: "" spacing: hifi.dimensions.contentSpacing.y @@ -166,7 +176,7 @@ Window { onClicked: { var browser = fileBrowserBuilder.createObject(desktop, { - selectDirectory: true, + selectDirectory: false, folder: fileDialogHelper.pathToUrl(currentDirectory) }); browser.selectedFile.connect(function(url){ From 028c7ab6baacc7ceeb21850988c5b217d415e4ab Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 8 Mar 2016 16:40:54 -0800 Subject: [PATCH 2/4] Add text box --- interface/resources/qml/AssetServer.qml | 57 +++++++++++-------- .../resources/qml/dialogs/QueryDialog.qml | 1 + 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index e260b5e8d7..49c7bd4363 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -34,7 +34,7 @@ Window { property var scripts: ScriptDiscoveryService; property var scriptsModel: scripts.scriptsModelFilter - property var currentDirectory: "" + property var currentDirectory; Settings { category: "Overlay.AssetServer" @@ -57,15 +57,35 @@ Window { } - function uploadFile(fileUrl, addToScene) { + function chooseClicked() { + var browser = fileBrowserBuilder.createObject(desktop, { + selectDirectory: false, + folder: fileDialogHelper.pathToUrl(currentDirectory) + }); + browser.selectedFile.connect(function(url){ + console.log(url); + fileUrlTextField.text = fileDialogHelper.urlToPath(url); + }); + + } + + function uploadClicked() { + var fileUrl = fileUrlTextField.text + var addToScene = addToSceneCheckBox.checked + var object = desktop.inputDialog({ - label: "Enter asset path", - //placeholderText: "atp:/myFolder/myFile.ext" + label: "Enter asset path:", + prefilledText: "atp:/myFolder/myFile.ext", + placeholderText: "Enter path here" }); - object.selected.connect(function(value) { - print(value); + object.selected.connect(function(destinationPath) { + console.log("Uploading " + fileUrl + " to " + destinationPath + " (addToScene: " + addToScene + ")"); + + + + + }); - print("uploadFile: " + fileUrl + " " + addToScene); } Column { @@ -147,7 +167,7 @@ Window { } HifiControls.TextField { - id: fileUrl + id: fileUrlTextField anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: chooseButton.width + hifi.dimensions.contentSpacing.x @@ -160,7 +180,7 @@ Window { Item { // Take the chooseButton out of the column flow. id: chooseButtonContainer - anchors.top: fileUrl.top + anchors.top: fileUrlTextField.top anchors.right: parent.right HifiControls.Button { @@ -174,21 +194,12 @@ Window { width: 100 - onClicked: { - var browser = fileBrowserBuilder.createObject(desktop, { - selectDirectory: false, - folder: fileDialogHelper.pathToUrl(currentDirectory) - }); - browser.selectedFile.connect(function(url){ - console.log(url); - fileUrl.text = fileDialogHelper.urlToPath(url); - }); - } + onClicked: root.chooseClicked() } } HifiControls.CheckBox { - id: addToScene + id: addToSceneCheckBox anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: uploadButton.width + hifi.dimensions.contentSpacing.x @@ -200,7 +211,7 @@ Window { Item { // Take the uploadButton out of the column flow. id: uploadButtonContainer - anchors.top: addToScene.top + anchors.top: addToSceneCheckBox.top anchors.right: parent.right HifiControls.Button { @@ -213,8 +224,8 @@ Window { height: 30 width: 155 - enabled: fileUrl.text != "" - onClicked: root.uploadFile(fileUrl.text, addToScene.checked) + enabled: fileUrlTextField.text != "" + onClicked: root.uploadClicked() } } } diff --git a/interface/resources/qml/dialogs/QueryDialog.qml b/interface/resources/qml/dialogs/QueryDialog.qml index 948bbb1295..75c9640589 100644 --- a/interface/resources/qml/dialogs/QueryDialog.qml +++ b/interface/resources/qml/dialogs/QueryDialog.qml @@ -24,6 +24,7 @@ ModalWindow { // For text boxes property alias placeholderText: textResult.placeholderText + property alias prefilledText: textResult.text // For combo boxes property bool editable: true; From 169af80bc09cdaa8dddefc1fc9619945918886a6 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 8 Mar 2016 17:09:37 -0800 Subject: [PATCH 3/4] Add a couple dialogs --- interface/resources/qml/AssetServer.qml | 33 +++++++++++++++++++------ 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index 49c7bd4363..94aa739892 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -50,15 +50,35 @@ Window { print("addToWorld"); } function renameFile() { - print("renameFile"); + var object = desktop.inputDialog({ + label: "Enter new path:", + prefilledText: "atp:/myFolder/myFile.ext", + placeholderText: "Enter path here" + }); + object.selected.connect(function(destinationPath) { + console.log("Renaming " + "fileUrl" + " to " + destinationPath); + + + + + + }); } function deleteFile() { - print("deleteFile"); + var object = desktop.messageBox({ + text: "Deleting", + informativeText: "You are about to delete the following file:\n" + "test" + "\nDo you want to continue?" + }); + object.selected.connect(function(button) { + + + + }); } function chooseClicked() { - var browser = fileBrowserBuilder.createObject(desktop, { + var browser = desktop.fileDialog({ selectDirectory: false, folder: fileDialogHelper.pathToUrl(currentDirectory) }); @@ -67,6 +87,8 @@ Window { fileUrlTextField.text = fileDialogHelper.urlToPath(url); }); + + } function uploadClicked() { @@ -161,11 +183,6 @@ Window { name: "" spacing: hifi.dimensions.contentSpacing.y - Component { - id: fileBrowserBuilder; - FileDialog { selectDirectory: true } - } - HifiControls.TextField { id: fileUrlTextField anchors.left: parent.left From 380480d4ee119da67dbac84927ceee21472193fa Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Tue, 8 Mar 2016 18:06:56 -0800 Subject: [PATCH 4/4] Add a couple more dialogs --- interface/resources/qml/AssetServer.qml | 50 +++++++++++++++++-------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index 94aa739892..34f6502b40 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -50,13 +50,18 @@ Window { print("addToWorld"); } function renameFile() { + var path = scriptsModel.data(treeView.currentIndex, 0x100); + if (!path) { + return; + } + var object = desktop.inputDialog({ label: "Enter new path:", - prefilledText: "atp:/myFolder/myFile.ext", + prefilledText: path, placeholderText: "Enter path here" }); object.selected.connect(function(destinationPath) { - console.log("Renaming " + "fileUrl" + " to " + destinationPath); + console.log("Renaming " + path + " to " + destinationPath); @@ -65,43 +70,56 @@ Window { }); } function deleteFile() { + var path = scriptsModel.data(treeView.currentIndex, 0x100); + if (!path) { + return; + } + var object = desktop.messageBox({ + icon: OriginalDialogs.StandardIcon.Question, + buttons: OriginalDialogs.StandardButton.Yes | OriginalDialogs.StandardButton.No, + defaultButton: OriginalDialogs.StandardButton.No, text: "Deleting", - informativeText: "You are about to delete the following file:\n" + "test" + "\nDo you want to continue?" + informativeText: "You are about to delete the following file:\n" + + path + + "\nDo you want to continue?" }); object.selected.connect(function(button) { + if (button === OriginalDialogs.StandardButton.Yes) { + console.log("Deleting " + path); - + } }); } function chooseClicked() { var browser = desktop.fileDialog({ selectDirectory: false, - folder: fileDialogHelper.pathToUrl(currentDirectory) + dir: currentDirectory }); browser.selectedFile.connect(function(url){ - console.log(url); fileUrlTextField.text = fileDialogHelper.urlToPath(url); + currentDirectory = browser.dir; }); - - - } function uploadClicked() { var fileUrl = fileUrlTextField.text - var addToScene = addToSceneCheckBox.checked + var addToWorld = addToWorldCheckBox.checked + + var path = scriptsModel.data(treeView.currentIndex, 0x100); + var directory = path ? path.slice(0, path.lastIndexOf('/') + 1) : ""; + var filename = fileUrl.slice(fileUrl.lastIndexOf('/') + 1); var object = desktop.inputDialog({ label: "Enter asset path:", - prefilledText: "atp:/myFolder/myFile.ext", + prefilledText: directory + filename, placeholderText: "Enter path here" }); object.selected.connect(function(destinationPath) { - console.log("Uploading " + fileUrl + " to " + destinationPath + " (addToScene: " + addToScene + ")"); + console.log("Uploading " + fileUrl + " to " + destinationPath + " (addToWorld: " + addToWorld + ")"); @@ -216,19 +234,19 @@ Window { } HifiControls.CheckBox { - id: addToSceneCheckBox + id: addToWorldCheckBox anchors.left: parent.left anchors.right: parent.right anchors.rightMargin: uploadButton.width + hifi.dimensions.contentSpacing.x - text: "Add to scene on upload" + text: "Add to world on upload" checked: false } Item { // Take the uploadButton out of the column flow. id: uploadButtonContainer - anchors.top: addToSceneCheckBox.top + anchors.top: addToWorldCheckBox.top anchors.right: parent.right HifiControls.Button { @@ -245,6 +263,8 @@ Window { onClicked: root.uploadClicked() } } + + HifiControls.VerticalSpacer {} } } }