History

Merge branch 'master' of https://github.com/highfidelity/hifi into orange

Sam Gateau committed 11 years ago

Commit cd1bbb22 parents 8b97d25 72f9ae318 files · +1049 −229Browse files

Showing the changes to interface/src/Application.cpp (1 of 18 files). Show all

Unified · Split

interface/src/Application.cpp+14−40
@@ -3722,17 +3722,7 @@ bool Application::askToSetAvatarUrl(const QString& url) { · 3721 unmodified lines
3722 }3722 }
3723 3723
3724 // Download the FST file, to attempt to determine its model type3724 // Download the FST file, to attempt to determine its model type
3725 QNetworkAccessManager& networkAccessManager = NetworkAccessManager::getInstance();3725 QVariantHash fstMapping = FSTReader::downloadMapping(url);
3726 QNetworkRequest networkRequest = QNetworkRequest(url);
3727 networkRequest.setHeader(QNetworkRequest::UserAgentHeader, HIGH_FIDELITY_USER_AGENT);
3728 QNetworkReply* reply = networkAccessManager.get(networkRequest);
3729 qCDebug(interfaceapp) << "Downloading avatar file at " << url;
3730 QEventLoop loop;
3731 QObject::connect(reply, &QNetworkReply::finished, &loop, &QEventLoop::quit);
3732 loop.exec();
3733 QByteArray fstContents = reply->readAll();
3734 delete reply;
3735 QVariantHash fstMapping = FSTReader::readMapping(fstContents);
3736 3726
3737 FSTReader::ModelType modelType = FSTReader::predictModelType(fstMapping);3727 FSTReader::ModelType modelType = FSTReader::predictModelType(fstMapping);
3738 3728
@@ -3743,26 +3733,27 @@ bool Application::askToSetAvatarUrl(const QString& url) { · 4 unmodified lines
3743 QPushButton* bodyButton = NULL;3733 QPushButton* bodyButton = NULL;
3744 QPushButton* bodyAndHeadButton = NULL;3734 QPushButton* bodyAndHeadButton = NULL;
3745 3735
3736 QString modelName = fstMapping["name"].toString();
3746 QString message;3737 QString message;
3747 QString typeInfo;3738 QString typeInfo;
3748 switch (modelType) {3739 switch (modelType) {
3749 case FSTReader::HEAD_MODEL:3740 case FSTReader::HEAD_MODEL:
3750 message = QString("Would you like to use '") + fstMapping["name"].toString() + QString("' for your avatar head?");3741 message = QString("Would you like to use '") + modelName + QString("' for your avatar head?");
3751 headButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);3742 headButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);
3752 break;3743 break;
3753 3744
3754 case FSTReader::BODY_ONLY_MODEL:3745 case FSTReader::BODY_ONLY_MODEL:
3755 message = QString("Would you like to use '") + fstMapping["name"].toString() + QString("' for your avatar body?");3746 message = QString("Would you like to use '") + modelName + QString("' for your avatar body?");
3756 bodyButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);3747 bodyButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);
3757 break;3748 break;
3758 3749
3759 case FSTReader::HEAD_AND_BODY_MODEL:3750 case FSTReader::HEAD_AND_BODY_MODEL:
3760 message = QString("Would you like to use '") + fstMapping["name"].toString() + QString("' for your avatar?");3751 message = QString("Would you like to use '") + modelName + QString("' for your avatar?");
3761 bodyAndHeadButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);3752 bodyAndHeadButton = msgBox.addButton(tr("Yes"), QMessageBox::ActionRole);
3762 break;3753 break;
3763 3754
3764 default:3755 default:
3765 message = QString("Would you like to use '") + fstMapping["name"].toString() + QString("' for some part of your avatar head?");3756 message = QString("Would you like to use '") + modelName + QString("' for some part of your avatar head?");
3766 headButton = msgBox.addButton(tr("Use for Head"), QMessageBox::ActionRole);3757 headButton = msgBox.addButton(tr("Use for Head"), QMessageBox::ActionRole);
3767 bodyButton = msgBox.addButton(tr("Use for Body"), QMessageBox::ActionRole);3758 bodyButton = msgBox.addButton(tr("Use for Body"), QMessageBox::ActionRole);
3768 bodyAndHeadButton = msgBox.addButton(tr("Use for Body and Head"), QMessageBox::ActionRole);3759 bodyAndHeadButton = msgBox.addButton(tr("Use for Body and Head"), QMessageBox::ActionRole);
@@ -3775,34 +3766,18 @@ bool Application::askToSetAvatarUrl(const QString& url) { · 6 unmodified lines
3775 msgBox.exec();3766 msgBox.exec();
3776 3767
3777 if (msgBox.clickedButton() == headButton) {3768 if (msgBox.clickedButton() == headButton) {
3778 qCDebug(interfaceapp) << "Chose to use for head: " << url;3769 _myAvatar->useHeadURL(url, modelName);
3779 _myAvatar->setFaceModelURL(url);3770 emit headURLChanged(url, modelName);
3780 UserActivityLogger::getInstance().changedModel("head", url);
3781 _myAvatar->sendIdentityPacket();
3782 emit faceURLChanged(url);
3783 } else if (msgBox.clickedButton() == bodyButton) {3771 } else if (msgBox.clickedButton() == bodyButton) {
3784 qCDebug(interfaceapp) << "Chose to use for body: " << url;3772 _myAvatar->useBodyURL(url, modelName);
3785 _myAvatar->setSkeletonModelURL(url);3773 emit bodyURLChanged(url, modelName);
3786 // if the head is empty, reset it to the default head.
3787 if (_myAvatar->getFaceModelURLString().isEmpty()) {
3788 _myAvatar->setFaceModelURL(DEFAULT_HEAD_MODEL_URL);
3789 emit faceURLChanged(DEFAULT_HEAD_MODEL_URL.toString());
3790 UserActivityLogger::getInstance().changedModel("head", DEFAULT_HEAD_MODEL_URL.toString());
3791 }
3792 UserActivityLogger::getInstance().changedModel("skeleton", url);
3793 _myAvatar->sendIdentityPacket();
3794 emit skeletonURLChanged(url);
3795 } else if (msgBox.clickedButton() == bodyAndHeadButton) {3774 } else if (msgBox.clickedButton() == bodyAndHeadButton) {
3796 qCDebug(interfaceapp) << "Chose to use for body + head: " << url;3775 _myAvatar->useFullAvatarURL(url, modelName);
3797 _myAvatar->setFaceModelURL(QString());3776 emit fullAvatarURLChanged(url, modelName);
3798 _myAvatar->setSkeletonModelURL(url);
3799 UserActivityLogger::getInstance().changedModel("skeleton", url);
3800 _myAvatar->sendIdentityPacket();
3801 emit faceURLChanged(QString());
3802 emit skeletonURLChanged(url);
3803 } else {3777 } else {
3804 qCDebug(interfaceapp) << "Declined to use the avatar: " << url;3778 qCDebug(interfaceapp) << "Declined to use the avatar: " << url;
3805 }3779 }
3780
3806 return true;3781 return true;
3807}3782}
3808 3783
@@ -4314,8 +4289,7 @@ void Application::checkSkeleton() { · 505 unmodified lines
4314 msgBox.setIcon(QMessageBox::Warning);4289 msgBox.setIcon(QMessageBox::Warning);
4315 msgBox.exec();4290 msgBox.exec();
4316 4291
4317 _myAvatar->setSkeletonModelURL(DEFAULT_BODY_MODEL_URL);4292 _myAvatar->useBodyURL(DEFAULT_BODY_MODEL_URL, "Default");
4318 _myAvatar->sendIdentityPacket();
4319 } else {4293 } else {
4320 _myAvatar->updateCharacterController();4294 _myAvatar->updateCharacterController();
4321 _physicsEngine.setCharacterController(_myAvatar->getCharacterController());4295 _physicsEngine.setCharacterController(_myAvatar->getCharacterController());