From 548d826a4e58d6a95db92de16febec17a226706c Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 10 Mar 2016 14:04:52 -0800 Subject: [PATCH] Couple bug fixes --- interface/resources/qml/AssetServer.qml | 4 +++- interface/src/Application.cpp | 3 +-- .../scripting/AssetMappingsScriptingInterface.cpp | 15 ++++----------- .../scripting/AssetMappingsScriptingInterface.h | 2 +- libraries/networking/src/MappingRequest.cpp | 2 +- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/interface/resources/qml/AssetServer.qml b/interface/resources/qml/AssetServer.qml index eacbd15ec5..1220f288f7 100644 --- a/interface/resources/qml/AssetServer.qml +++ b/interface/resources/qml/AssetServer.qml @@ -217,7 +217,7 @@ Window { var addToWorld = addToWorldCheckBox.checked var path = assetProxyModel.data(treeView.currentIndex, 0x100); - var directory = path ? path.slice(0, path.lastIndexOf('/') + 1) : ""; + var directory = path ? path.slice(0, path.lastIndexOf('/') + 1) : "/"; var filename = fileUrl.slice(fileUrl.lastIndexOf('/') + 1); Assets.uploadFile(fileUrl, directory + filename, function(err) { @@ -227,6 +227,8 @@ Window { } else { console.log("Finished uploading: ", fileUrl); } + + reload(); }); } diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index e8b2384bbf..a8e64513ee 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -426,7 +426,6 @@ bool setupEssentials(int& argc, char** argv) { DependencyManager::set(); DependencyManager::set(); DependencyManager::set(); - DependencyManager::set(); DependencyManager::set(); DependencyManager::set(true, qApp, qApp); DependencyManager::set(); @@ -1296,7 +1295,7 @@ void Application::initializeUi() { rootContext->setContextProperty("Quat", new Quat()); rootContext->setContextProperty("Vec3", new Vec3()); rootContext->setContextProperty("Uuid", new ScriptUUID()); - rootContext->setContextProperty("Assets", DependencyManager::get().data()); + rootContext->setContextProperty("Assets", new AssetMappingsScriptingInterface()); rootContext->setContextProperty("AvatarList", DependencyManager::get().data()); diff --git a/interface/src/scripting/AssetMappingsScriptingInterface.cpp b/interface/src/scripting/AssetMappingsScriptingInterface.cpp index b4f9458551..ea763210c9 100644 --- a/interface/src/scripting/AssetMappingsScriptingInterface.cpp +++ b/interface/src/scripting/AssetMappingsScriptingInterface.cpp @@ -81,22 +81,15 @@ void AssetMappingsScriptingInterface::getMapping(QString path, QJSValue callback } void AssetMappingsScriptingInterface::uploadFile(QString path, QString mapping, QJSValue callback) { - QFile file(path); - if (!file.open(QFile::ReadOnly)) { - qCWarning(asset_client) << "Error uploading file to asset server:\n" - << "Could not open" << qPrintable(path); - OffscreenUi::warning("File Error", "Could not open file: " + path, QMessageBox::Ok); - return; - } - auto offscreenUi = DependencyManager::get(); auto result = offscreenUi->inputDialog(OffscreenUi::ICON_NONE, "Enter asset path:", "", mapping); if (!result.isValid()) { return; } + mapping = result.toString(); // Check for override - if (isKnownMapping(result.toString())) { + if (isKnownMapping(mapping)) { auto message = "The following file already exists:\n" + path + "\nDo you want to override it?"; auto button = offscreenUi->messageBox(OffscreenUi::ICON_QUESTION, "", message, QMessageBox::Yes | QMessageBox::No, QMessageBox::No); @@ -105,7 +98,7 @@ void AssetMappingsScriptingInterface::uploadFile(QString path, QString mapping, } } - auto upload = DependencyManager::get()->createUpload(file.readAll()); + auto upload = DependencyManager::get()->createUpload(path); QObject::connect(upload, &AssetUpload::finished, this, [=](AssetUpload* upload, const QString& hash) mutable { if (upload->getError() != AssetUpload::NoError) { if (callback.isCallable()) { @@ -242,7 +235,7 @@ void AssetMappingModel::refresh() { auto it = existingPaths.begin(); while (it != existingPaths.end()) { auto item = _pathToItemMap[*it]; - if (item->data(Qt::UserRole + 1).toBool()) { + if (item && item->data(Qt::UserRole + 1).toBool()) { it = existingPaths.erase(it); } else { ++it; diff --git a/interface/src/scripting/AssetMappingsScriptingInterface.h b/interface/src/scripting/AssetMappingsScriptingInterface.h index f1198ef17d..2ad7da7c94 100644 --- a/interface/src/scripting/AssetMappingsScriptingInterface.h +++ b/interface/src/scripting/AssetMappingsScriptingInterface.h @@ -45,7 +45,7 @@ }; -class AssetMappingsScriptingInterface : public QObject, public Dependency { +class AssetMappingsScriptingInterface : public QObject { Q_OBJECT Q_PROPERTY(AssetMappingModel* mappingModel READ getAssetMappingModel CONSTANT) Q_PROPERTY(QAbstractProxyModel* proxyModel READ getProxyModel CONSTANT) diff --git a/libraries/networking/src/MappingRequest.cpp b/libraries/networking/src/MappingRequest.cpp index 6f76d1103f..2cc28c03be 100644 --- a/libraries/networking/src/MappingRequest.cpp +++ b/libraries/networking/src/MappingRequest.cpp @@ -109,7 +109,7 @@ void SetMappingRequest::doStart() { auto validPath = isValidPath(_path); auto validHash = isValidHash(_hash); if (!validPath || !validHash) { - _error = validPath ? MappingRequest::InvalidPath : MappingRequest::InvalidHash; + _error = !validPath ? MappingRequest::InvalidPath : MappingRequest::InvalidHash; emit finished(this); return; }