mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 18:44:01 +02:00
Add asset uploader to Menu
This commit is contained in:
parent
0bfa0c4942
commit
d90ceb200a
1 changed files with 31 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
|||
#include <UserActivityLogger.h>
|
||||
#include <VrMenu.h>
|
||||
|
||||
#include <AssetClient.h>
|
||||
#include "Application.h"
|
||||
#include "AccountManager.h"
|
||||
#include "audio/AudioScope.h"
|
||||
|
@ -87,6 +88,36 @@ Menu::Menu() {
|
|||
addActionToQMenuAndActionHash(fileMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J,
|
||||
qApp, SLOT(toggleRunningScriptsWidget()));
|
||||
|
||||
// Asset uploading
|
||||
{
|
||||
auto action = new QAction("Upload File", fileMenu);
|
||||
fileMenu->addAction(action);
|
||||
action->setMenuRole(QAction::NoRole);
|
||||
_actionHash.insert("Upload File", action);
|
||||
|
||||
connect(action, &QAction::triggered, [this](bool checked) {
|
||||
qDebug() << "Clicked upload file";
|
||||
auto filename = QFileDialog::getOpenFileUrl(nullptr, "Select a file to upload");
|
||||
if (!filename.isEmpty()) {
|
||||
qDebug() << "Selected: " << filename;
|
||||
QFile file { filename.path() };
|
||||
if (file.open(QIODevice::ReadOnly)) {
|
||||
auto fileInfo { filename.path() };
|
||||
auto extension = fileInfo.suffix();
|
||||
auto data = file.readAll();
|
||||
auto assetClient = DependencyManager::get<AssetClient>();
|
||||
assetClient->uploadAsset(data, extension, [this](bool result, QString hash) mutable {
|
||||
if (result) {
|
||||
QMessageBox::information(this, "Upload Successful", "URL: apt:/" + hash + "." + extension);
|
||||
} else {
|
||||
QMessageBox::warning(this, "Upload Failed", "There was an error uploading the file.");
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
auto addressManager = DependencyManager::get<AddressManager>();
|
||||
|
||||
addDisabledActionAndSeparator(fileMenu, "History");
|
||||
|
|
Loading…
Reference in a new issue