diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp index 67821e5f7f..6ddf116acd 100644 --- a/interface/src/Application.cpp +++ b/interface/src/Application.cpp @@ -3626,16 +3626,6 @@ void Application::setMenuShortcutsEnabled(bool enabled) { setShortcutsEnabled(_window->menuBar(), enabled); } -void Application::uploadModel(ModelType modelType) { - ModelUploader* uploader = new ModelUploader(modelType); - QThread* thread = new QThread(); - thread->connect(uploader, SIGNAL(destroyed()), SLOT(quit())); - thread->connect(thread, SIGNAL(finished()), SLOT(deleteLater())); - uploader->connect(thread, SIGNAL(started()), SLOT(send())); - - thread->start(); -} - void Application::updateWindowTitle(){ QString buildVersion = " (build " + applicationVersion() + ")"; @@ -4191,19 +4181,19 @@ void Application::toggleRunningScriptsWidget() { } void Application::uploadHead() { - uploadModel(HEAD_MODEL); + ModelUploader::uploadHead(); } void Application::uploadSkeleton() { - uploadModel(SKELETON_MODEL); + ModelUploader::uploadSkeleton(); } void Application::uploadAttachment() { - uploadModel(ATTACHMENT_MODEL); + ModelUploader::uploadAttachment(); } void Application::uploadEntity() { - uploadModel(ENTITY_MODEL); + ModelUploader::uploadEntity(); } void Application::openUrl(const QUrl& url) { diff --git a/interface/src/Application.h b/interface/src/Application.h index c08e7359ab..a3c3d51d59 100644 --- a/interface/src/Application.h +++ b/interface/src/Application.h @@ -460,8 +460,6 @@ private: void setMenuShortcutsEnabled(bool enabled); - void uploadModel(ModelType modelType); - static void attachNewHeadToNode(Node *newNode); static void* networkReceive(void* args); // network receive thread diff --git a/interface/src/ModelUploader.cpp b/interface/src/ModelUploader.cpp index 687fae4c54..29d82d3b69 100644 --- a/interface/src/ModelUploader.cpp +++ b/interface/src/ModelUploader.cpp @@ -64,6 +64,32 @@ static const int MAX_CHECK = 30; static const int QCOMPRESS_HEADER_POSITION = 0; static const int QCOMPRESS_HEADER_SIZE = 4; +void ModelUploader::uploadModel(ModelType modelType) { + ModelUploader* uploader = new ModelUploader(modelType); + QThread* thread = new QThread(); + thread->connect(uploader, SIGNAL(destroyed()), SLOT(quit())); + thread->connect(thread, SIGNAL(finished()), SLOT(deleteLater())); + uploader->connect(thread, SIGNAL(started()), SLOT(send())); + + thread->start(); +} + +void ModelUploader::uploadHead() { + uploadModel(HEAD_MODEL); +} + +void ModelUploader::uploadSkeleton() { + uploadModel(SKELETON_MODEL); +} + +void ModelUploader::uploadAttachment() { + uploadModel(ATTACHMENT_MODEL); +} + +void ModelUploader::uploadEntity() { + uploadModel(ENTITY_MODEL); +} + ModelUploader::ModelUploader(ModelType modelType) : _lodCount(-1), _texturesCount(-1), diff --git a/interface/src/ModelUploader.h b/interface/src/ModelUploader.h index 7013d33106..eafb07c4b0 100644 --- a/interface/src/ModelUploader.h +++ b/interface/src/ModelUploader.h @@ -33,13 +33,15 @@ class ModelUploader : public QObject { Q_OBJECT public: - ModelUploader(ModelType type); - ~ModelUploader(); + static void uploadModel(ModelType modelType); -public slots: - void send(); + static void uploadHead(); + static void uploadSkeleton(); + static void uploadAttachment(); + static void uploadEntity(); private slots: + void send(); void checkJSON(QNetworkReply& requestReply); void uploadUpdate(qint64 bytesSent, qint64 bytesTotal); void uploadSuccess(QNetworkReply& requestReply); @@ -48,6 +50,15 @@ private slots: void processCheck(); private: + ModelUploader(ModelType type); + ~ModelUploader(); + + void populateBasicMapping(QVariantHash& mapping, QString filename, FBXGeometry geometry); + bool zip(); + bool addTextures(const QString& texdir, const FBXGeometry& geometry); + bool addPart(const QString& path, const QString& name, bool isTexture = false); + bool addPart(const QFile& file, const QByteArray& contents, const QString& name, bool isTexture = false); + QString _url; QString _textureBase; QSet _textureFilenames; @@ -64,12 +75,6 @@ private: QDialog* _progressDialog; QProgressBar* _progressBar; - - void populateBasicMapping(QVariantHash& mapping, QString filename, FBXGeometry geometry); - bool zip(); - bool addTextures(const QString& texdir, const FBXGeometry& geometry); - bool addPart(const QString& path, const QString& name, bool isTexture = false); - bool addPart(const QFile& file, const QByteArray& contents, const QString& name, bool isTexture = false); }; /// A dialog that allows customization of various model properties.