History

Update upload flow and make asset list dynamically sized

Ryan Huffman committed 10 years ago

Commit 6c27bd91 parent 631aad83 files · +138 −111Browse files

Showing the changes to interface/src/scripting/AssetMappingsScriptingInterface.cpp (1 of 3 files). Show all

Unified · Split

interface/src/scripting/AssetMappingsScriptingInterface.cpp+14−5
@@ -80,11 +80,16 @@ void AssetMappingsScriptingInterface::getMapping(QString path, QJSValue callback · 79 unmodified lines
8080 request->start();
8181 }
8282
83−void AssetMappingsScriptingInterface::uploadFile(QString path, QString mapping, QJSValue callback) {
83+void AssetMappingsScriptingInterface::uploadFile(QString path, QString mapping, QJSValue startedCallback, QJSValue completedCallback) {
84+ static const QString helpText =
85+ "Upload your asset to a specific folder by enter the full path. Specifying "
86+ "a new folder name will automatically create that folder for you.";
87+
8488 auto offscreenUi = DependencyManager::get<OffscreenUi>();
85− auto result = offscreenUi->inputDialog(OffscreenUi::ICON_NONE, "Enter asset path:", "", mapping);
89+ auto result = offscreenUi->inputDialog(OffscreenUi::ICON_INFORMATION, "Specify Asset Path", helpText, mapping);
8690
8791 if (!result.isValid()) {
92+ completedCallback.call({ -1 });
8893 return;
8994 }
9095 mapping = result.toString();
@@ -100,19 +105,22 @@ void AssetMappingsScriptingInterface::uploadFile(QString path, QString mapping, · 9 unmodified lines
100105 auto button = offscreenUi->messageBox(OffscreenUi::ICON_QUESTION, "Overwrite File", message,
101106 QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
102107 if (button == QMessageBox::No) {
108+ completedCallback.call({ -1 });
103109 return;
104110 }
105111 }
106112
113+ startedCallback.call();
114+
107115 auto upload = DependencyManager::get<AssetClient>()->createUpload(path);
108116 QObject::connect(upload, &AssetUpload::finished, this, [=](AssetUpload* upload, const QString& hash) mutable {
109117 if (upload->getError() != AssetUpload::NoError) {
110− if (callback.isCallable()) {
118+ if (completedCallback.isCallable()) {
111119 QJSValueList args { uint8_t(upload->getError()) };
112− callback.call(args);
120+ completedCallback.call(args);
113121 }
114122 } else {
115− setMapping(mapping, hash, callback);
123+ setMapping(mapping, hash, completedCallback);
116124 }
117125
118126 upload->deleteLater();
@@ -198,6 +206,7 @@ AssetMappingItem::AssetMappingItem(const QString& name, const QString& fullPath, · 79 unmodified lines
198206
199207 }
200208
209+
201210 static int assetMappingModelMetatypeId = qRegisterMetaType<AssetMappingModel*>("AssetMappingModel*");
202211
203212 void AssetMappingModel::refresh() {