From cc4f4ac50678d6278fd0505ee652f85a064f9ced Mon Sep 17 00:00:00 2001 From: Seth Alves Date: Thu, 12 Jan 2017 17:08:14 -0800 Subject: [PATCH] fix merge from upstream --- interface/src/ui/overlays/Web3DOverlay.cpp | 15 ++++++++++++++- interface/src/ui/overlays/Web3DOverlay.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/interface/src/ui/overlays/Web3DOverlay.cpp b/interface/src/ui/overlays/Web3DOverlay.cpp index 15e208fa95..652d1c6d6d 100644 --- a/interface/src/ui/overlays/Web3DOverlay.cpp +++ b/interface/src/ui/overlays/Web3DOverlay.cpp @@ -118,6 +118,19 @@ void Web3DOverlay::update(float deltatime) { } } +QString Web3DOverlay::pickURL() { + QUrl sourceUrl(_url); + if (sourceUrl.scheme() == "http" || sourceUrl.scheme() == "https" || + _url.toLower().endsWith(".htm") || _url.toLower().endsWith(".html")) { + + _webSurface->setBaseUrl(QUrl::fromLocalFile(PathUtils::resourcesPath() + "/qml/")); + return "Web3DOverlay.qml"; + } else { + return QUrl::fromLocalFile(PathUtils::resourcesPath()).toString() + "/" + _url; + } +} + + void Web3DOverlay::loadSourceURL() { QUrl sourceUrl(_url); @@ -152,7 +165,7 @@ void Web3DOverlay::render(RenderArgs* args) { QOpenGLContext * currentContext = QOpenGLContext::currentContext(); QSurface * currentSurface = currentContext->surface(); if (!_webSurface) { - _webSurface = DependencyManager::get()->acquire(QML); + _webSurface = DependencyManager::get()->acquire(pickURL()); _webSurface->setMaxFps(10); // FIXME, the max FPS could be better managed by being dynamic (based on the number of current surfaces // and the current rendering load) diff --git a/interface/src/ui/overlays/Web3DOverlay.h b/interface/src/ui/overlays/Web3DOverlay.h index 2ea2bb5b6c..2b9686919d 100644 --- a/interface/src/ui/overlays/Web3DOverlay.h +++ b/interface/src/ui/overlays/Web3DOverlay.h @@ -29,6 +29,7 @@ public: Web3DOverlay(const Web3DOverlay* Web3DOverlay); virtual ~Web3DOverlay(); + QString pickURL(); void loadSourceURL(); virtual void render(RenderArgs* args) override; virtual const render::ShapeKey getShapeKey() override;