mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 04:18:12 +02:00
first commit
This commit is contained in:
parent
28c8d527df
commit
c99f897db1
3 changed files with 21 additions and 1 deletions
|
@ -14,6 +14,8 @@
|
||||||
#include <PathUtils.h>
|
#include <PathUtils.h>
|
||||||
#include <RegisteredMetaTypes.h>
|
#include <RegisteredMetaTypes.h>
|
||||||
#include "ScriptEngineLogging.h"
|
#include "ScriptEngineLogging.h"
|
||||||
|
#include "DependencyManager.h"
|
||||||
|
#include "OffscreenUi.h"
|
||||||
|
|
||||||
TabletScriptingInterface::TabletScriptingInterface() {
|
TabletScriptingInterface::TabletScriptingInterface() {
|
||||||
qmlRegisterType<SoundEffect>("Hifi", 1, 0, "SoundEffect");
|
qmlRegisterType<SoundEffect>("Hifi", 1, 0, "SoundEffect");
|
||||||
|
@ -56,6 +58,7 @@ void TabletScriptingInterface::setQmlTabletRoot(QString tabletId, QQuickItem* qm
|
||||||
static const char* TABLET_SOURCE_URL = "Tablet.qml";
|
static const char* TABLET_SOURCE_URL = "Tablet.qml";
|
||||||
static const char* WEB_VIEW_SOURCE_URL = "TabletWebView.qml";
|
static const char* WEB_VIEW_SOURCE_URL = "TabletWebView.qml";
|
||||||
static const char* LOADER_SOURCE_PROPERTY_NAME = "LoaderSource";
|
static const char* LOADER_SOURCE_PROPERTY_NAME = "LoaderSource";
|
||||||
|
static const char* VRMENU_SOURCE_URL = "VrMenuView.qml";
|
||||||
|
|
||||||
TabletProxy::TabletProxy(QString name) : _name(name) {
|
TabletProxy::TabletProxy(QString name) : _name(name) {
|
||||||
;
|
;
|
||||||
|
@ -95,6 +98,16 @@ void TabletProxy::setQmlTabletRoot(QQuickItem* qmlTabletRoot, QObject* qmlOffscr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabletProxy::gotoMenuScreen() {
|
||||||
|
if (_qmlTabletRoot) {
|
||||||
|
_qmlTabletRoot->setProperty(LOADER_SOURCE_PROPERTY_NAME, TABLET_SOURCE_URL);
|
||||||
|
auto loader = _qmlTabletRoot->findChild<QQuickItem*>("loader");
|
||||||
|
auto offscreenUi = DependencyManager::get<OffscreenUi>();
|
||||||
|
auto rootMenu = offscreenUi->getRootMenu();
|
||||||
|
QMetaObject::invokeMethod(_qmlTabletRoot, "loadSource", Q_ARG(const QVariant&, QVariant(VRMENU_SOURCE_URL)));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void TabletProxy::gotoHomeScreen() {
|
void TabletProxy::gotoHomeScreen() {
|
||||||
if (_qmlTabletRoot) {
|
if (_qmlTabletRoot) {
|
||||||
QString tabletSource = _qmlTabletRoot->property(LOADER_SOURCE_PROPERTY_NAME).toString();
|
QString tabletSource = _qmlTabletRoot->property(LOADER_SOURCE_PROPERTY_NAME).toString();
|
||||||
|
@ -186,6 +199,10 @@ void TabletProxy::addButtonsToHomeScreen() {
|
||||||
QObject::disconnect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen()));
|
QObject::disconnect(loader, SIGNAL(loaded()), this, SLOT(addButtonsToHomeScreen()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TabletProxy::addButtonsToMenuScreen() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void TabletProxy::removeButtonsFromHomeScreen() {
|
void TabletProxy::removeButtonsFromHomeScreen() {
|
||||||
auto tabletScriptingInterface = DependencyManager::get<TabletScriptingInterface>();
|
auto tabletScriptingInterface = DependencyManager::get<TabletScriptingInterface>();
|
||||||
for (auto& buttonProxy : _tabletButtonProxies) {
|
for (auto& buttonProxy : _tabletButtonProxies) {
|
||||||
|
|
|
@ -65,6 +65,8 @@ public:
|
||||||
|
|
||||||
void setQmlTabletRoot(QQuickItem* qmlTabletRoot, QObject* qmlOffscreenSurface);
|
void setQmlTabletRoot(QQuickItem* qmlTabletRoot, QObject* qmlOffscreenSurface);
|
||||||
|
|
||||||
|
Q_INVOKABLE void gotoMenuScreen();
|
||||||
|
|
||||||
/**jsdoc
|
/**jsdoc
|
||||||
* transition to the home screen
|
* transition to the home screen
|
||||||
* @function TabletProxy#gotoHomeScreen
|
* @function TabletProxy#gotoHomeScreen
|
||||||
|
@ -120,6 +122,7 @@ signals:
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void addButtonsToHomeScreen();
|
void addButtonsToHomeScreen();
|
||||||
|
void addButtonsToMenuScreen();
|
||||||
protected:
|
protected:
|
||||||
void removeButtonsFromHomeScreen();
|
void removeButtonsFromHomeScreen();
|
||||||
QQuickItem* getQmlTablet() const;
|
QQuickItem* getQmlTablet() const;
|
||||||
|
|
|
@ -118,7 +118,7 @@ WebTablet = function (url, width, dpi, hand, clientOnly) {
|
||||||
_this.clicked = true;
|
_this.clicked = true;
|
||||||
}
|
}
|
||||||
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
|
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
|
||||||
tablet.gotoHomeScreen();
|
tablet.gotoMenuScreen();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue