Showing the changes to interface/src/Menu.cpp (1 of 8 files). Show all
Unified · Split
| @@ -22,8 +22,6 @@ · 21 unmodified lines | ||
| 22 | 22 | #include <UserActivityLogger.h> |
| 23 | 23 | #include <VrMenu.h> |
| 24 | 24 | |
| 25 | −#include <AssetClient.h> | |
| 26 | − | |
| 27 | 25 | #include "Application.h" |
| 28 | 26 | #include "AccountManager.h" |
| 29 | 27 | #include "audio/AudioScope.h" |
| @@ -34,13 +32,15 @@ · 4 unmodified lines | ||
| 34 | 32 | #include "devices/3DConnexionClient.h" |
| 35 | 33 | #include "MainWindow.h" |
| 36 | 34 | #include "scripting/MenuScriptingInterface.h" |
| 37 | −#if defined(Q_OS_MAC) || defined(Q_OS_WIN) | |
| 38 | −#include "SpeechRecognizer.h" | |
| 39 | −#endif | |
| 35 | +#include "ui/AssetUploadDialogFactory.h" | |
| 40 | 36 | #include "ui/DialogsManager.h" |
| 41 | 37 | #include "ui/StandAloneJSConsole.h" |
| 42 | 38 | #include "InterfaceLogging.h" |
| 43 | 39 | |
| 40 | +#if defined(Q_OS_MAC) || defined(Q_OS_WIN) | |
| 41 | +#include "SpeechRecognizer.h" | |
| 42 | +#endif | |
| 43 | + | |
| 44 | 44 | #include "Menu.h" |
| 45 | 45 | |
| 46 | 46 | Menu* Menu::_instance = NULL; |
| @@ -90,36 +90,6 @@ Menu::Menu() { · 43 unmodified lines | ||
| 90 | 90 | addActionToQMenuAndActionHash(fileMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J, |
| 91 | 91 | qApp, SLOT(toggleRunningScriptsWidget())); |
| 92 | 92 | |
| 93 | − // Asset uploading | |
| 94 | − { | |
| 95 | − auto action = new QAction("Upload File", fileMenu); | |
| 96 | − fileMenu->addAction(action); | |
| 97 | − action->setMenuRole(QAction::NoRole); | |
| 98 | − _actionHash.insert("Upload File", action); | |
| 99 | − | |
| 100 | − connect(action, &QAction::triggered, [this](bool checked) { | |
| 101 | − qDebug() << "Clicked upload file"; | |
| 102 | − auto filename = QFileDialog::getOpenFileUrl(nullptr, "Select a file to upload"); | |
| 103 | − if (!filename.isEmpty()) { | |
| 104 | − qDebug() << "Selected: " << filename; | |
| 105 | − QFile file { filename.path() }; | |
| 106 | − if (file.open(QIODevice::ReadOnly)) { | |
| 107 | − QFileInfo fileInfo { filename.path() }; | |
| 108 | − auto extension = fileInfo.suffix(); | |
| 109 | − auto data = file.readAll(); | |
| 110 | − auto assetClient = DependencyManager::get<AssetClient>(); | |
| 111 | − assetClient->uploadAsset(data, extension, [this, extension](bool result, QString hash) mutable { | |
| 112 | − if (result) { | |
| 113 | − QMessageBox::information(this, "Upload Successful", "URL: apt:/" + hash + "." + extension); | |
| 114 | − } else { | |
| 115 | − QMessageBox::warning(this, "Upload Failed", "There was an error uploading the file."); | |
| 116 | − } | |
| 117 | − }); | |
| 118 | − } | |
| 119 | − } | |
| 120 | − }); | |
| 121 | − } | |
| 122 | − | |
| 123 | 93 | auto addressManager = DependencyManager::get<AddressManager>(); |
| 124 | 94 | |
| 125 | 95 | addDisabledActionAndSeparator(fileMenu, "History"); |
| @@ -400,7 +370,18 @@ Menu::Menu() { · 274 unmodified lines | ||
| 400 | 370 | addActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::LodTools, |
| 401 | 371 | 0, // QML Qt::SHIFT | Qt::Key_L, |
| 402 | 372 | dialogsManager.data(), SLOT(lodTools())); |
| 403 | − | |
| 373 | + | |
| 374 | + MenuWrapper* assetDeveloperMenu = developerMenu->addMenu("Assets"); | |
| 375 | + | |
| 376 | + auto& assetDialogFactory = AssetUploadDialogFactory::getInstance(); | |
| 377 | + assetDialogFactory.setParent(this); | |
| 378 | + | |
| 379 | + addActionToQMenuAndActionHash(assetDeveloperMenu, | |
| 380 | + MenuOption::UploadAsset, | |
| 381 | + 0, | |
| 382 | + &AssetUploadDialogFactory::getInstance(), | |
| 383 | + SLOT(showDialog())); | |
| 384 | + | |
| 404 | 385 | MenuWrapper* avatarDebugMenu = developerMenu->addMenu("Avatar"); |
| 405 | 386 | |
| 406 | 387 | MenuWrapper* faceTrackingMenu = avatarDebugMenu->addMenu("Face Tracking"); |