Showing the changes to interface/src/Menu.cpp (1 of 8 files). Show all
Unified · Split
| @@ -22,8 +22,6 @@ · 21 unmodified lines | |||
| 22 | #include <UserActivityLogger.h> | 22 | #include <UserActivityLogger.h> |
| 23 | #include <VrMenu.h> | 23 | #include <VrMenu.h> |
| 24 | 24 | ||
| 25 | #include <AssetClient.h> | ||
| 26 | |||
| 27 | #include "Application.h" | 25 | #include "Application.h" |
| 28 | #include "AccountManager.h" | 26 | #include "AccountManager.h" |
| 29 | #include "audio/AudioScope.h" | 27 | #include "audio/AudioScope.h" |
| @@ -34,13 +32,15 @@ · 4 unmodified lines | |||
| 34 | #include "devices/3DConnexionClient.h" | 32 | #include "devices/3DConnexionClient.h" |
| 35 | #include "MainWindow.h" | 33 | #include "MainWindow.h" |
| 36 | #include "scripting/MenuScriptingInterface.h" | 34 | #include "scripting/MenuScriptingInterface.h" |
| 37 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) | 35 | #include "ui/AssetUploadDialogFactory.h" |
| 38 | #include "SpeechRecognizer.h" | ||
| 39 | #endif | ||
| 40 | #include "ui/DialogsManager.h" | 36 | #include "ui/DialogsManager.h" |
| 41 | #include "ui/StandAloneJSConsole.h" | 37 | #include "ui/StandAloneJSConsole.h" |
| 42 | #include "InterfaceLogging.h" | 38 | #include "InterfaceLogging.h" |
| 43 | 39 | ||
| 40 | #if defined(Q_OS_MAC) || defined(Q_OS_WIN) | ||
| 41 | #include "SpeechRecognizer.h" | ||
| 42 | #endif | ||
| 43 | |||
| 44 | #include "Menu.h" | 44 | #include "Menu.h" |
| 45 | 45 | ||
| 46 | Menu* Menu::_instance = NULL; | 46 | Menu* Menu::_instance = NULL; |
| @@ -90,36 +90,6 @@ Menu::Menu() { · 43 unmodified lines | |||
| 90 | addActionToQMenuAndActionHash(fileMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J, | 90 | addActionToQMenuAndActionHash(fileMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J, |
| 91 | qApp, SLOT(toggleRunningScriptsWidget())); | 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 | auto addressManager = DependencyManager::get<AddressManager>(); | 93 | auto addressManager = DependencyManager::get<AddressManager>(); |
| 124 | 94 | ||
| 125 | addDisabledActionAndSeparator(fileMenu, "History"); | 95 | addDisabledActionAndSeparator(fileMenu, "History"); |
| @@ -400,7 +370,18 @@ Menu::Menu() { · 274 unmodified lines | |||
| 400 | addActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::LodTools, | 370 | addActionToQMenuAndActionHash(renderOptionsMenu, MenuOption::LodTools, |
| 401 | 0, // QML Qt::SHIFT | Qt::Key_L, | 371 | 0, // QML Qt::SHIFT | Qt::Key_L, |
| 402 | dialogsManager.data(), SLOT(lodTools())); | 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 | MenuWrapper* avatarDebugMenu = developerMenu->addMenu("Avatar"); | 385 | MenuWrapper* avatarDebugMenu = developerMenu->addMenu("Avatar"); |
| 405 | 386 | ||
| 406 | MenuWrapper* faceTrackingMenu = avatarDebugMenu->addMenu("Face Tracking"); | 387 | MenuWrapper* faceTrackingMenu = avatarDebugMenu->addMenu("Face Tracking"); |