Showing the changes to interface/src/Application.cpp (1 of 31 files). Show all
Unified · Split
| @@ -6370,6 +6370,24 @@ bool Application::askToWearAvatarAttachmentUrl(const QString& url) { · 6369 unmodified lines | |||
| 6370 | return true; | 6370 | return true; |
| 6371 | } | 6371 | } |
| 6372 | 6372 | ||
| 6373 | void Application::replaceDomainContent(const QString& url) { | ||
| 6374 | qCDebug(interfaceapp) << "Attempting to replace domain content: " << url; | ||
| 6375 | QByteArray urlData(url.toUtf8()); | ||
| 6376 | auto limitedNodeList = DependencyManager::get<LimitedNodeList>(); | ||
| 6377 | limitedNodeList->eachMatchingNode([](const SharedNodePointer& node) { | ||
| 6378 | return node->getType() == NodeType::EntityServer && node->getActiveSocket(); | ||
| 6379 | }, [&urlData, limitedNodeList](const SharedNodePointer& octreeNode) { | ||
| 6380 | auto octreeFilePacket = NLPacket::create(PacketType::OctreeFileReplacementFromUrl, urlData.size(), true); | ||
| 6381 | octreeFilePacket->write(urlData); | ||
| 6382 | limitedNodeList->sendPacket(std::move(octreeFilePacket), *octreeNode); | ||
| 6383 | }); | ||
| 6384 | auto addressManager = DependencyManager::get<AddressManager>(); | ||
| 6385 | addressManager->handleLookupString(DOMAIN_SPAWNING_POINT); | ||
| 6386 | QString newHomeAddress = addressManager->getHost() + DOMAIN_SPAWNING_POINT; | ||
| 6387 | qCDebug(interfaceapp) << "Setting new home bookmark to: " << newHomeAddress; | ||
| 6388 | DependencyManager::get<LocationBookmarks>()->setHomeLocationToAddress(newHomeAddress); | ||
| 6389 | } | ||
| 6390 | |||
| 6373 | bool Application::askToReplaceDomainContent(const QString& url) { | 6391 | bool Application::askToReplaceDomainContent(const QString& url) { |
| 6374 | QString methodDetails; | 6392 | QString methodDetails; |
| 6375 | const int MAX_CHARACTERS_PER_LINE = 90; | 6393 | const int MAX_CHARACTERS_PER_LINE = 90; |
| @@ -6389,21 +6407,7 @@ bool Application::askToReplaceDomainContent(const QString& url) { · 13 unmodified lines | |||
| 6389 | QString details; | 6407 | QString details; |
| 6390 | if (static_cast<QMessageBox::StandardButton>(answer.toInt()) == QMessageBox::Yes) { | 6408 | if (static_cast<QMessageBox::StandardButton>(answer.toInt()) == QMessageBox::Yes) { |
| 6391 | // Given confirmation, send request to domain server to replace content | 6409 | // Given confirmation, send request to domain server to replace content |
| 6392 | qCDebug(interfaceapp) << "Attempting to replace domain content: " << url; | 6410 | replaceDomainContent(url); |
| 6393 | QByteArray urlData(url.toUtf8()); | ||
| 6394 | auto limitedNodeList = DependencyManager::get<LimitedNodeList>(); | ||
| 6395 | limitedNodeList->eachMatchingNode([](const SharedNodePointer& node) { | ||
| 6396 | return node->getType() == NodeType::EntityServer && node->getActiveSocket(); | ||
| 6397 | }, [&urlData, limitedNodeList](const SharedNodePointer& octreeNode) { | ||
| 6398 | auto octreeFilePacket = NLPacket::create(PacketType::OctreeFileReplacementFromUrl, urlData.size(), true); | ||
| 6399 | octreeFilePacket->write(urlData); | ||
| 6400 | limitedNodeList->sendPacket(std::move(octreeFilePacket), *octreeNode); | ||
| 6401 | }); | ||
| 6402 | auto addressManager = DependencyManager::get<AddressManager>(); | ||
| 6403 | addressManager->handleLookupString(DOMAIN_SPAWNING_POINT); | ||
| 6404 | QString newHomeAddress = addressManager->getHost() + DOMAIN_SPAWNING_POINT; | ||
| 6405 | qCDebug(interfaceapp) << "Setting new home bookmark to: " << newHomeAddress; | ||
| 6406 | DependencyManager::get<LocationBookmarks>()->setHomeLocationToAddress(newHomeAddress); | ||
| 6407 | details = "SuccessfulRequestToReplaceContent"; | 6411 | details = "SuccessfulRequestToReplaceContent"; |
| 6408 | } else { | 6412 | } else { |
| 6409 | details = "UserDeclinedToReplaceContent"; | 6413 | details = "UserDeclinedToReplaceContent"; |