diff --git a/interface/resources/qml/hifi/AvatarPackager.qml b/interface/resources/qml/hifi/AvatarPackager.qml index d5e21d9653..f0835c56bf 100644 --- a/interface/resources/qml/hifi/AvatarPackager.qml +++ b/interface/resources/qml/hifi/AvatarPackager.qml @@ -72,7 +72,6 @@ Windows.ScrollingWindow { height: 30 onClicked: function() { var avatarProjectsPath = fileDialogHelper.standardPath(/*fileDialogHelper.StandardLocation.DocumentsLocation*/ 1) + "/High Fidelity/Avatar Projects"; - var avatarProjectsPath = "C:/Users/ryanh/Documents/High Fidelity Avatars"; console.log("path = " + avatarProjectsPath); // TODO: make the dialog modal diff --git a/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml b/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml index 4f42927676..1ba41b1de6 100644 --- a/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml +++ b/interface/resources/qml/hifi/avatarPackager/AvatarProject.qml @@ -156,6 +156,8 @@ Item { colorScheme: root.colorScheme onClicked: function() { console.log("Opening in inventory"); + + AvatarPackagerCore.currentAvatarProject.openInInventory(); } } } diff --git a/interface/src/avatar/AvatarProject.cpp b/interface/src/avatar/AvatarProject.cpp index cc23027562..d08eafb43c 100644 --- a/interface/src/avatar/AvatarProject.cpp +++ b/interface/src/avatar/AvatarProject.cpp @@ -19,6 +19,9 @@ #include #include +#include +#include "scripting/HMDScriptingInterface.h" + AvatarProject* AvatarProject::openAvatarProject(const QString& path) { const auto pathToLower = path.toLower(); if (pathToLower.endsWith(".fst")) { @@ -40,7 +43,6 @@ AvatarProject* AvatarProject::openAvatarProject(const QString& path) { AvatarProject::AvatarProject(const QString& fstPath, const QByteArray& data) : _fstPath(fstPath), _fst(fstPath, FSTReader::readMapping(data)) { - _fstFilename = QFileInfo(_fstPath).fileName(); qDebug() << "Pointers: " << this << &_fst; @@ -70,6 +72,16 @@ void AvatarProject::refreshProjectFiles() { appendDirectory("", _directory); } -Q_INVOKABLE MarketplaceItemUploader* AvatarProject::upload() { +MarketplaceItemUploader* AvatarProject::upload() { return new MarketplaceItemUploader("test_avatar", "blank description", _fstFilename, QUuid(), _projectFiles); } + +void AvatarProject::openInInventory() { + auto tablet = dynamic_cast( + DependencyManager::get()->getTablet("com.highfidelity.interface.tablet.system")); + tablet->loadQMLSource("hifi/commerce/wallet/Wallet.qml"); + DependencyManager::get()->openTablet(); + tablet->sendToQml(QVariantMap({ + { "method", "updatePurchases" }, + { "filterText", "filtertext" } })); +} diff --git a/interface/src/avatar/AvatarProject.h b/interface/src/avatar/AvatarProject.h index 1a0ed5cc5e..de7751008f 100644 --- a/interface/src/avatar/AvatarProject.h +++ b/interface/src/avatar/AvatarProject.h @@ -40,6 +40,7 @@ public: } Q_INVOKABLE MarketplaceItemUploader* upload(); + Q_INVOKABLE void openInInventory(); /** * returns the AvatarProject or a nullptr on failure.