mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 17:39:26 +02:00
Merge branch 'feat/avatarTools/avatarPackager' of github.com:thoys/hifi into feat/avatarTools/avatarPackager
This commit is contained in:
commit
a035a2f639
5 changed files with 82 additions and 42 deletions
|
@ -146,6 +146,8 @@ Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
AvatarPackagerHeader {
|
AvatarPackagerHeader {
|
||||||
|
z: 100
|
||||||
|
|
||||||
id: avatarPackagerHeader
|
id: avatarPackagerHeader
|
||||||
colorScheme: root.colorScheme
|
colorScheme: root.colorScheme
|
||||||
onBackButtonClicked: {
|
onBackButtonClicked: {
|
||||||
|
@ -260,22 +262,49 @@ Item {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Column {
|
Item {
|
||||||
visible: AvatarPackagerCore.recentProjects.length > 0
|
anchors.fill: parent
|
||||||
anchors {
|
|
||||||
fill: parent
|
|
||||||
topMargin: 18
|
|
||||||
leftMargin: 16
|
|
||||||
rightMargin: 16
|
|
||||||
}
|
|
||||||
spacing: 10
|
|
||||||
|
|
||||||
Repeater {
|
visible: AvatarPackagerCore.recentProjects.length > 0
|
||||||
model: AvatarPackagerCore.recentProjects
|
|
||||||
AvatarProjectCard {
|
RalewayRegular {
|
||||||
title: modelData.name
|
id: recentProjectsText
|
||||||
path: modelData.projectPath
|
|
||||||
onOpen: avatarPackager.openProject(modelData.path)
|
color: 'white'
|
||||||
|
|
||||||
|
visible: AvatarPackagerCore.currentAvatarProject !== null
|
||||||
|
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.topMargin: 16
|
||||||
|
anchors.leftMargin: 16
|
||||||
|
|
||||||
|
size: 20
|
||||||
|
|
||||||
|
text: "Recent Projects"
|
||||||
|
|
||||||
|
onLinkActivated: fileListPopup.open()
|
||||||
|
}
|
||||||
|
|
||||||
|
Column {
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
bottom: parent.bottom
|
||||||
|
top: recentProjectsText.bottom
|
||||||
|
topMargin: 16
|
||||||
|
leftMargin: 16
|
||||||
|
rightMargin: 16
|
||||||
|
}
|
||||||
|
spacing: 10
|
||||||
|
|
||||||
|
Repeater {
|
||||||
|
model: AvatarPackagerCore.recentProjects
|
||||||
|
AvatarProjectCard {
|
||||||
|
title: modelData.name
|
||||||
|
path: modelData.projectPath
|
||||||
|
onOpen: avatarPackager.openProject(modelData.path)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,9 @@ import QtQuick 2.6
|
||||||
|
|
||||||
import "../../controlsUit" 1.0 as HifiControls
|
import "../../controlsUit" 1.0 as HifiControls
|
||||||
import "../../stylesUit" 1.0
|
import "../../stylesUit" 1.0
|
||||||
|
import "../avatarapp" 1.0
|
||||||
|
|
||||||
Rectangle {
|
ShadowRectangle {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
@ -24,30 +25,21 @@ Rectangle {
|
||||||
signal backButtonClicked
|
signal backButtonClicked
|
||||||
signal docsButtonClicked
|
signal docsButtonClicked
|
||||||
|
|
||||||
RalewaySemiBold {
|
RalewayButton {
|
||||||
id: back
|
id: back
|
||||||
|
|
||||||
visible: backButtonEnabled && backButtonVisible
|
visible: backButtonEnabled && backButtonVisible
|
||||||
|
|
||||||
size: 28
|
size: 28
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 16
|
anchors.leftMargin: 16
|
||||||
anchors.verticalCenter: back.verticalCenter
|
anchors.verticalCenter: back.verticalCenter
|
||||||
|
|
||||||
text: "◀"
|
text: "◀"
|
||||||
color: textColor
|
|
||||||
MouseArea {
|
onClicked: root.backButtonClicked()
|
||||||
anchors.fill: parent
|
|
||||||
onClicked: root.backButtonClicked()
|
|
||||||
hoverEnabled: true
|
|
||||||
onEntered: { state = "hovering" }
|
|
||||||
onExited: { state = "" }
|
|
||||||
states: [
|
|
||||||
State {
|
|
||||||
name: "hovering"
|
|
||||||
PropertyChanges { target: back; color: hoverTextColor }
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Item {
|
Item {
|
||||||
id: titleArea
|
id: titleArea
|
||||||
|
@ -124,7 +116,7 @@ Rectangle {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
RalewaySemiBold {
|
RalewayButton {
|
||||||
id: docs
|
id: docs
|
||||||
visible: false
|
visible: false
|
||||||
size: 28
|
size: 28
|
||||||
|
@ -133,13 +125,12 @@ Rectangle {
|
||||||
anchors.right: parent.right
|
anchors.right: parent.right
|
||||||
anchors.rightMargin: 16
|
anchors.rightMargin: 16
|
||||||
anchors.verticalCenter: docs.verticalCenter
|
anchors.verticalCenter: docs.verticalCenter
|
||||||
|
|
||||||
text: qsTr("Docs")
|
text: qsTr("Docs")
|
||||||
color: "white"
|
color: "white"
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
onClicked: {
|
||||||
onClicked: {
|
docsButtonClicked();
|
||||||
docsButtonClicked();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import QtQuick 2.0
|
import QtQuick 2.0
|
||||||
|
import QtGraphicalEffects 1.0
|
||||||
|
|
||||||
import "../../controlsUit" 1.0 as HifiControls
|
import "../../controlsUit" 1.0 as HifiControls
|
||||||
import "../../stylesUit" 1.0
|
import "../../stylesUit" 1.0
|
||||||
|
@ -63,7 +64,7 @@ Item {
|
||||||
rightMargin: 16
|
rightMargin: 16
|
||||||
}
|
}
|
||||||
text: "<title missing>"
|
text: "<title missing>"
|
||||||
size: 16
|
size: 24
|
||||||
}
|
}
|
||||||
|
|
||||||
RalewayRegular {
|
RalewayRegular {
|
||||||
|
@ -88,4 +89,14 @@ Item {
|
||||||
onClicked: open()
|
onClicked: open()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DropShadow {
|
||||||
|
id: shadow
|
||||||
|
anchors.fill: background
|
||||||
|
radius: 4
|
||||||
|
horizontalOffset: 0
|
||||||
|
verticalOffset: 4
|
||||||
|
color: Qt.rgba(0, 0, 0, 0.25)
|
||||||
|
source: background
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -150,10 +150,12 @@ Menu::Menu() {
|
||||||
qApp, SLOT(packageModel()));
|
qApp, SLOT(packageModel()));
|
||||||
|
|
||||||
// Edit > Avatar Packager
|
// Edit > Avatar Packager
|
||||||
|
#ifndef Q_OS_ANDROID
|
||||||
action = addActionToQMenuAndActionHash(editMenu, MenuOption::AvatarPackager);
|
action = addActionToQMenuAndActionHash(editMenu, MenuOption::AvatarPackager);
|
||||||
connect(action, &QAction::triggered, [] {
|
connect(action, &QAction::triggered, [] {
|
||||||
DependencyManager::get<AvatarPackager>()->open();
|
DependencyManager::get<AvatarPackager>()->open();
|
||||||
});
|
});
|
||||||
|
#endif
|
||||||
|
|
||||||
// Edit > Reload All Content
|
// Edit > Reload All Content
|
||||||
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()));
|
addActionToQMenuAndActionHash(editMenu, MenuOption::ReloadContent, 0, qApp, SLOT(reloadResourceCaches()));
|
||||||
|
|
|
@ -14,11 +14,14 @@
|
||||||
#include <AccountManager.h>
|
#include <AccountManager.h>
|
||||||
#include <DependencyManager.h>
|
#include <DependencyManager.h>
|
||||||
|
|
||||||
#include <QBuffer>
|
#ifndef Q_OS_ANDROID
|
||||||
#include <quazip5/quazip.h>
|
#include <quazip5/quazip.h>
|
||||||
#include <quazip5/quazipfile.h>
|
#include <quazip5/quazipfile.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QBuffer>
|
||||||
|
|
||||||
#include <qtimer.h>
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
|
||||||
|
@ -125,8 +128,12 @@ void MarketplaceItemUploader::doGetCategories() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void MarketplaceItemUploader::doUploadAvatar() {
|
void MarketplaceItemUploader::doUploadAvatar() {
|
||||||
|
#ifdef Q_OS_ANDROID
|
||||||
|
qWarning() << "Marketplace uploading is not supported on Android";
|
||||||
|
setError(Error::Unknown);
|
||||||
|
return;
|
||||||
|
#else
|
||||||
QBuffer buffer{ &_fileData };
|
QBuffer buffer{ &_fileData };
|
||||||
//buffer.open(QIODevice::WriteOnly);
|
|
||||||
QuaZip zip{ &buffer };
|
QuaZip zip{ &buffer };
|
||||||
if (!zip.open(QuaZip::Mode::mdAdd)) {
|
if (!zip.open(QuaZip::Mode::mdAdd)) {
|
||||||
qWarning() << "Failed to open zip";
|
qWarning() << "Failed to open zip";
|
||||||
|
@ -227,6 +234,7 @@ void MarketplaceItemUploader::doUploadAvatar() {
|
||||||
});
|
});
|
||||||
|
|
||||||
setState(State::UploadingAvatar);
|
setState(State::UploadingAvatar);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void MarketplaceItemUploader::doWaitForInventory() {
|
void MarketplaceItemUploader::doWaitForInventory() {
|
||||||
|
@ -277,7 +285,6 @@ void MarketplaceItemUploader::doWaitForInventory() {
|
||||||
auto version = assetObject["version"];
|
auto version = assetObject["version"];
|
||||||
auto valid = assetObject["valid"];
|
auto valid = assetObject["valid"];
|
||||||
if (version.isDouble() && valid.isBool()) {
|
if (version.isDouble() && valid.isBool()) {
|
||||||
int versionInt = version.toDouble();
|
|
||||||
if ((int)version.toDouble() >= _itemVersion && valid.toBool()) {
|
if ((int)version.toDouble() >= _itemVersion && valid.toBool()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue