From 947dde3715efe431fd8db961bedcf00bda2cf131 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 20 Mar 2014 12:44:37 -0700 Subject: [PATCH 1/5] Modified models uploader to diferrenciate heads and skeletons --- libraries/shared/src/FstReader.cpp | 23 +++++++++++++++++++---- libraries/shared/src/FstReader.h | 1 + 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/libraries/shared/src/FstReader.cpp b/libraries/shared/src/FstReader.cpp index d82ddf68a3..8a156d11b9 100644 --- a/libraries/shared/src/FstReader.cpp +++ b/libraries/shared/src/FstReader.cpp @@ -24,6 +24,7 @@ static const QString NAME_FIELD = "name"; static const QString FILENAME_FIELD = "filename"; static const QString TEXDIR_FIELD = "texdir"; static const QString LOD_FIELD = "lod"; +static const QString HEAD_SPECIFIC_FIELD = "bs"; static const QString MODEL_URL = "/api/v1/models"; @@ -32,6 +33,7 @@ static const int MAX_SIZE = 10 * 1024 * 1024; // 10 MB FstReader::FstReader() : _lodCount(-1), _texturesCount(-1), + _isHead(false), _readyToSend(false), _dataMultiPart(new QHttpMultiPart(QHttpMultiPart::FormDataType)) { @@ -81,13 +83,15 @@ bool FstReader::zip() { } // according to what is read, we modify the command - if (line.first() == NAME_FIELD) { + if (line[1] == HEAD_SPECIFIC_FIELD) { + _isHead = true; + } else if (line[1] == NAME_FIELD) { QHttpPart textPart; textPart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data;" " name=\"model_name\""); textPart.setBody(line[1].toUtf8()); _dataMultiPart->append(textPart); - } else if (line.first() == FILENAME_FIELD) { + } else if (line[1] == FILENAME_FIELD) { QFileInfo fbx(QFileInfo(fst).path() + "/" + line[1]); if (!fbx.exists() || !fbx.isFile()) { // Check existence qDebug() << "[ERROR] FBX file " << fbx.absoluteFilePath() << " doesn't exist."; @@ -101,7 +105,7 @@ bool FstReader::zip() { if (!addPart(_zipDir.path() + "/" + line[1], "fbx")) { return false; } - } else if (line.first() == TEXDIR_FIELD) { // Check existence + } else if (line[1] == TEXDIR_FIELD) { // Check existence QFileInfo texdir(QFileInfo(fst).path() + "/" + line[1]); if (!texdir.exists() || !texdir.isDir()) { qDebug() << "[ERROR] Texture directory " << texdir.absolutePath() << " doesn't exist."; @@ -110,7 +114,7 @@ bool FstReader::zip() { if (!addTextures(texdir)) { // Recursive compress and copy return false; } - } else if (line.first() == LOD_FIELD) { + } else if (line[1] == LOD_FIELD) { QFileInfo lod(QFileInfo(fst).path() + "/" + line[1]); if (!lod.exists() || !lod.isFile()) { // Check existence qDebug() << "[ERROR] FBX file " << lod.absoluteFilePath() << " doesn't exist."; @@ -127,6 +131,17 @@ bool FstReader::zip() { } } + + QHttpPart textPart; + textPart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data;" + " name=\"model_type\""); + if (_isHead) { + textPart.setBody("head"); + } else { + textPart.setBody("skeleton"); + } + _dataMultiPart->append(textPart); + _readyToSend = true; return true; } diff --git a/libraries/shared/src/FstReader.h b/libraries/shared/src/FstReader.h index aab42bd967..1d9da71641 100644 --- a/libraries/shared/src/FstReader.h +++ b/libraries/shared/src/FstReader.h @@ -27,6 +27,7 @@ private: int _lodCount; int _texturesCount; int _totalSize; + bool _isHead; bool _readyToSend; QHttpMultiPart* _dataMultiPart; From c658b1ddedcde8b12b6ed5bc5cf3abb2c589ec93 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 20 Mar 2014 12:45:19 -0700 Subject: [PATCH 2/5] Modified menu upload categories --- interface/src/Menu.cpp | 5 ++--- interface/src/Menu.h | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index d8a7ce5acb..f609dc8434 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -138,9 +138,8 @@ Menu::Menu() : this, SLOT(goTo())); - addDisabledActionAndSeparator(fileMenu, "Upload/Browse"); - addActionToQMenuAndActionHash(fileMenu, MenuOption::UploaderAvatarHead, 0, Application::getInstance(), SLOT(uploadFST())); - addActionToQMenuAndActionHash(fileMenu, MenuOption::UploaderAvatarSkeleton, 0, Application::getInstance(), SLOT(uploadFST())); + addDisabledActionAndSeparator(fileMenu, "Upload Avatar Model"); + addActionToQMenuAndActionHash(fileMenu, MenuOption::UploadFST, 0, Application::getInstance(), SLOT(uploadFST())); addDisabledActionAndSeparator(fileMenu, "Settings"); addActionToQMenuAndActionHash(fileMenu, MenuOption::SettingsImport, 0, this, SLOT(importSettings())); diff --git a/interface/src/Menu.h b/interface/src/Menu.h index f99ebe0685..cb0ca4c5c4 100644 --- a/interface/src/Menu.h +++ b/interface/src/Menu.h @@ -295,8 +295,7 @@ namespace MenuOption { const QString StopAllScripts = "Stop All Scripts"; const QString TestPing = "Test Ping"; const QString TransmitterDrive = "Transmitter Drive"; - const QString UploaderAvatarHead = "Upload Avatar Head"; - const QString UploaderAvatarSkeleton = "Upload Avatar Skeleton"; + const QString UploadFST = "Upload FST file"; const QString Visage = "Visage"; const QString Quit = "Quit"; const QString Voxels = "Voxels"; From e68500e11fbdc220630f97499954a7925e8dddb4 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 20 Mar 2014 12:49:51 -0700 Subject: [PATCH 3/5] Made models line edit editable --- interface/src/Menu.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/interface/src/Menu.cpp b/interface/src/Menu.cpp index f609dc8434..e62c7e1102 100644 --- a/interface/src/Menu.cpp +++ b/interface/src/Menu.cpp @@ -714,7 +714,6 @@ void Menu::editPreferences() { QPushButton headBrowseButton(BROWSE_BUTTON_TEXT); connect(&headBrowseButton, SIGNAL(clicked()), &headBrowser, SLOT(browse())); connect(&headBrowser, SIGNAL(selected(QString)), &headURLEdit, SLOT(setText(QString))); - headURLEdit.setReadOnly(true); headURLEdit.setMinimumWidth(QLINE_MINIMUM_WIDTH); headURLEdit.setPlaceholderText(DEFAULT_HEAD_MODEL_URL.toString()); headModelLayout.addWidget(&headURLEdit); @@ -727,7 +726,6 @@ void Menu::editPreferences() { QPushButton SkeletonBrowseButton(BROWSE_BUTTON_TEXT); connect(&SkeletonBrowseButton, SIGNAL(clicked()), &skeletonBrowser, SLOT(browse())); connect(&skeletonBrowser, SIGNAL(selected(QString)), &skeletonURLEdit, SLOT(setText(QString))); - skeletonURLEdit.setReadOnly(true); skeletonURLEdit.setMinimumWidth(QLINE_MINIMUM_WIDTH); skeletonURLEdit.setPlaceholderText(DEFAULT_BODY_MODEL_URL.toString()); skeletonModelLayout.addWidget(&skeletonURLEdit); From bf85f8d5e58690d357c1cb441f4a89e3000e13d9 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 20 Mar 2014 14:00:27 -0700 Subject: [PATCH 4/5] Changed model_type to model_categorie in FstReader --- libraries/shared/src/FstReader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/shared/src/FstReader.cpp b/libraries/shared/src/FstReader.cpp index 8a156d11b9..0031716024 100644 --- a/libraries/shared/src/FstReader.cpp +++ b/libraries/shared/src/FstReader.cpp @@ -134,7 +134,7 @@ bool FstReader::zip() { QHttpPart textPart; textPart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data;" - " name=\"model_type\""); + " name=\"model_categorie\""); if (_isHead) { textPart.setBody("head"); } else { From 65603b063185fdd9437420820ba1e4f4741055c6 Mon Sep 17 00:00:00 2001 From: Atlante45 Date: Thu, 20 Mar 2014 15:30:28 -0700 Subject: [PATCH 5/5] Fixed typo --- libraries/shared/src/FstReader.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/shared/src/FstReader.cpp b/libraries/shared/src/FstReader.cpp index 0031716024..a803583598 100644 --- a/libraries/shared/src/FstReader.cpp +++ b/libraries/shared/src/FstReader.cpp @@ -134,7 +134,7 @@ bool FstReader::zip() { QHttpPart textPart; textPart.setHeader(QNetworkRequest::ContentDispositionHeader, "form-data;" - " name=\"model_categorie\""); + " name=\"model_category\""); if (_isHead) { textPart.setBody("head"); } else {