diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 4fe492d60d..109b7525c8 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3517,6 +3517,7 @@ void Application::onDesktopRootContextCreated(QQmlContext* surfaceContext) { surfaceContext->setContextProperty("About", AboutUtil::getInstance()); surfaceContext->setContextProperty("HiFiAbout", AboutUtil::getInstance()); // Deprecated surfaceContext->setContextProperty("ResourceRequestObserver", DependencyManager::get().data()); + surfaceContext->setContextProperty("ExternalResource", ExternalResource::getInstance()); if (auto steamClient = PluginManager::getInstance()->getSteamClientPlugin()) { surfaceContext->setContextProperty("Steam", new SteamScriptingInterface(engine, steamClient.get())); @@ -3631,6 +3632,8 @@ void Application::setupQmlSurface(QQmlContext* surfaceContext, bool setAdditiona surfaceContext->setContextProperty("WalletScriptingInterface", DependencyManager::get().data()); surfaceContext->setContextProperty("ResourceRequestObserver", DependencyManager::get().data()); surfaceContext->setContextProperty("PlatformInfo", PlatformInfoScriptingInterface::getInstance()); + surfaceContext->setContextProperty("ExternalResource", ExternalResource::getInstance()); + // This `module` context property is blank for the QML scripting interface so that we don't get log errors when importing // certain JS files from both scripts (in the JS context) and QML (in the QML context). surfaceContext->setContextProperty("module", ""); @@ -7539,7 +7542,7 @@ void Application::registerScriptEngineWithApplicationServices(const ScriptEngine scriptEngine->registerGlobalObject("ExternalResource", ExternalResource::getInstance()); - scriptEngine->registerEnum("ExternalResource.Bucket", QMetaEnum::fromType()); + scriptEngine->registerEnum("ExternalResource", QMetaEnum::fromType()); registerInteractiveWindowMetaType(scriptEngine.data()); diff --git a/libraries/networking/src/ExternalResource.h b/libraries/networking/src/ExternalResource.h index 71ba4f8162..b8ee830c34 100644 --- a/libraries/networking/src/ExternalResource.h +++ b/libraries/networking/src/ExternalResource.h @@ -74,7 +74,7 @@ class ExternalResource : public QObject { * @param relative_path The path of the resource within the bucket * @returns The resulting URL as a QUrl */ - Q_INVOKABLE QUrl getQUrl(Bucket bucket, const QUrl& relative_path); + QUrl getQUrl(Bucket bucket, const QUrl& relative_path); /** @@ -89,7 +89,7 @@ class ExternalResource : public QObject { * @param relative_path The path of the resource within the bucket * @returns The resulting URL as a QUrl */ - Q_INVOKABLE QUrl getQUrl(Bucket bucket, QString path) { + QUrl getQUrl(Bucket bucket, QString path) { return getQUrl(bucket, QUrl(path)); } @@ -105,7 +105,7 @@ class ExternalResource : public QObject { * @param relative_path The path of the resource within the bucket * @returns The resulting URL as a QString */ - Q_INVOKABLE QString getUrl(Bucket bucket, const QUrl &relative_path) { + QString getUrl(Bucket bucket, const QUrl &relative_path) { return ExternalResource::getQUrl(bucket, relative_path).toString(); };