fix for displaying "Bookmark Avatar" dialog in tablet ui

This commit is contained in:
Triplelexx 2017-03-30 13:54:33 +01:00
parent bec70976d8
commit aa9a2532a9
5 changed files with 14 additions and 7 deletions

View file

@ -86,7 +86,7 @@ Preference {
bottom: parent.bottom bottom: parent.bottom
rightMargin: hifi.dimensions.contentSpacing.x rightMargin: hifi.dimensions.contentSpacing.x
} }
onClickedQueued: avatarBookmarks.addBookmark() onClickedQueued: ApplicationInterface.loadAddAvatarBookmarkDialog()
} }
Button { Button {

View file

@ -59,6 +59,7 @@
#include <AssetUpload.h> #include <AssetUpload.h>
#include <AutoUpdater.h> #include <AutoUpdater.h>
#include <AudioInjectorManager.h> #include <AudioInjectorManager.h>
#include <AvatarBookmarks.h>
#include <CursorManager.h> #include <CursorManager.h>
#include <DebugDraw.h> #include <DebugDraw.h>
#include <DeferredLightingEffect.h> #include <DeferredLightingEffect.h>
@ -522,6 +523,7 @@ bool setupEssentials(int& argc, char** argv) {
DependencyManager::set<EntityScriptClient>(); DependencyManager::set<EntityScriptClient>();
DependencyManager::set<EntityScriptServerLogClient>(); DependencyManager::set<EntityScriptServerLogClient>();
DependencyManager::set<OctreeStatsProvider>(nullptr, qApp->getOcteeSceneStats()); DependencyManager::set<OctreeStatsProvider>(nullptr, qApp->getOcteeSceneStats());
DependencyManager::set<AvatarBookmarks>();
return previousSessionCrashed; return previousSessionCrashed;
} }
@ -2000,6 +2002,7 @@ void Application::initializeUi() {
rootContext->setContextProperty("Settings", SettingsScriptingInterface::getInstance()); rootContext->setContextProperty("Settings", SettingsScriptingInterface::getInstance());
rootContext->setContextProperty("ScriptDiscoveryService", DependencyManager::get<ScriptEngines>().data()); rootContext->setContextProperty("ScriptDiscoveryService", DependencyManager::get<ScriptEngines>().data());
rootContext->setContextProperty("AudioDevice", AudioDeviceScriptingInterface::getInstance()); rootContext->setContextProperty("AudioDevice", AudioDeviceScriptingInterface::getInstance());
rootContext->setContextProperty("AvatarBookmarks", DependencyManager::get<AvatarBookmarks>().data());
// Caches // Caches
rootContext->setContextProperty("AnimationCache", DependencyManager::get<AnimationCache>().data()); rootContext->setContextProperty("AnimationCache", DependencyManager::get<AnimationCache>().data());
@ -5481,6 +5484,7 @@ void Application::registerScriptEngineWithApplicationServices(ScriptEngine* scri
scriptEngine->registerGlobalObject("AudioDevice", AudioDeviceScriptingInterface::getInstance()); scriptEngine->registerGlobalObject("AudioDevice", AudioDeviceScriptingInterface::getInstance());
scriptEngine->registerGlobalObject("AudioStats", DependencyManager::get<AudioClient>()->getStats().data()); scriptEngine->registerGlobalObject("AudioStats", DependencyManager::get<AudioClient>()->getStats().data());
scriptEngine->registerGlobalObject("AudioScope", DependencyManager::get<AudioScope>().data()); scriptEngine->registerGlobalObject("AudioScope", DependencyManager::get<AudioScope>().data());
scriptEngine->registerGlobalObject("AvatarBookmarks", DependencyManager::get<AvatarBookmarks>().data());
// Caches // Caches
scriptEngine->registerGlobalObject("AnimationCache", DependencyManager::get<AnimationCache>().data()); scriptEngine->registerGlobalObject("AnimationCache", DependencyManager::get<AnimationCache>().data());
@ -6352,7 +6356,6 @@ void Application::loadLODToolsDialog() {
} else { } else {
tablet->pushOntoStack("../../hifi/dialogs/TabletLODTools.qml"); tablet->pushOntoStack("../../hifi/dialogs/TabletLODTools.qml");
} }
} }
@ -6402,6 +6405,11 @@ void Application::toggleEntityScriptServerLogDialog() {
} }
} }
void Application::loadAddAvatarBookmarkDialog() const {
auto avatarBookmarks = DependencyManager::get<AvatarBookmarks>();
avatarBookmarks->addBookmark();
}
void Application::takeSnapshot(bool notify, bool includeAnimated, float aspectRatio) { void Application::takeSnapshot(bool notify, bool includeAnimated, float aspectRatio) {
postLambdaEvent([notify, includeAnimated, aspectRatio, this] { postLambdaEvent([notify, includeAnimated, aspectRatio, this] {
QMediaPlayer* player = new QMediaPlayer(); QMediaPlayer* player = new QMediaPlayer();

View file

@ -334,6 +334,7 @@ public slots:
void toggleEntityScriptServerLogDialog(); void toggleEntityScriptServerLogDialog();
void toggleRunningScriptsWidget() const; void toggleRunningScriptsWidget() const;
Q_INVOKABLE void showAssetServerWidget(QString filePath = ""); Q_INVOKABLE void showAssetServerWidget(QString filePath = "");
Q_INVOKABLE void loadAddAvatarBookmarkDialog() const;
void showDialog(const QString& desktopURL, const QString& tabletURL, const QString& name) const; void showDialog(const QString& desktopURL, const QString& tabletURL, const QString& name) const;

View file

@ -41,10 +41,6 @@ void AvatarBookmarks::setupMenus(Menu* menubar, MenuWrapper* menu) {
Bookmarks::setupMenus(menubar, menu); Bookmarks::setupMenus(menubar, menu);
Bookmarks::sortActions(menubar, _bookmarksMenu); Bookmarks::sortActions(menubar, _bookmarksMenu);
auto offscreenUi = DependencyManager::get<OffscreenUi>();
auto context = offscreenUi->getRootContext();
context->setContextProperty("avatarBookmarks", this);
} }
void AvatarBookmarks::changeToBookmarkedAvatar() { void AvatarBookmarks::changeToBookmarkedAvatar() {

View file

@ -12,10 +12,12 @@
#ifndef hifi_AvatarBookmarks_h #ifndef hifi_AvatarBookmarks_h
#define hifi_AvatarBookmarks_h #define hifi_AvatarBookmarks_h
#include <DependencyManager.h>
#include "Bookmarks.h" #include "Bookmarks.h"
class AvatarBookmarks: public Bookmarks { class AvatarBookmarks: public Bookmarks, public Dependency {
Q_OBJECT Q_OBJECT
SINGLETON_DEPENDENCY
public: public:
AvatarBookmarks(); AvatarBookmarks();