History

Handle domain reconnections

Atlante45 committed 9 years ago

Commit 35f8afe1 parent 19112182 files · +27 −6Browse files

Showing the changes to interface/src/ui/EntityScriptServerLogDialog.cpp (1 of 2 files). Show all

Unified · Split

interface/src/ui/EntityScriptServerLogDialog.cpp+22−6
@@ -18,18 +18,21 @@ EntityScriptServerLogDialog::EntityScriptServerLogDialog(QWidget* parent) : Base · 17 unmodified lines
18 auto& packetReceiver = nodeList->getPacketReceiver();18 auto& packetReceiver = nodeList->getPacketReceiver();
19 packetReceiver.registerListener(PacketType::EntityServerScriptLog, this, "handleEntityServerScriptLogPacket");19 packetReceiver.registerListener(PacketType::EntityServerScriptLog, this, "handleEntityServerScriptLogPacket");
20 20
21 auto shouldEnableLog = [this] {21 QObject::connect(nodeList.data(), &NodeList::nodeActivated, this, &EntityScriptServerLogDialog::nodeActivated);
22 auto nodeList = DependencyManager::get<NodeList>();22 QObject::connect(nodeList.data(), &NodeList::nodeKilled, this, &EntityScriptServerLogDialog::nodeKilled);
23 enableToEntityServerScriptLog(nodeList->getThisNodeCanRez() || nodeList->getThisNodeCanRezTmp());23
24 };24 QObject::connect(nodeList.data(), &NodeList::canRezChanged, this, &EntityScriptServerLogDialog::shouldEnableLog);
25 QObject::connect(nodeList.data(), &NodeList::canRezChanged, this, shouldEnableLog);25 QObject::connect(nodeList.data(), &NodeList::canRezTmpChanged, this, &EntityScriptServerLogDialog::shouldEnableLog);
26 QObject::connect(nodeList.data(), &NodeList::canRezTmpChanged, this, shouldEnableLog);
27 shouldEnableLog();26 shouldEnableLog();
28}27}
29 28
30EntityScriptServerLogDialog::~EntityScriptServerLogDialog() {29EntityScriptServerLogDialog::~EntityScriptServerLogDialog() {
31 enableToEntityServerScriptLog(false);30 enableToEntityServerScriptLog(false);
32}31}
32void EntityScriptServerLogDialog::shouldEnableLog() {
33 auto nodeList = DependencyManager::get<NodeList>();
34 enableToEntityServerScriptLog(nodeList->getThisNodeCanRez() || nodeList->getThisNodeCanRezTmp());
35};
33 36
34void EntityScriptServerLogDialog::enableToEntityServerScriptLog(bool enable) {37void EntityScriptServerLogDialog::enableToEntityServerScriptLog(bool enable) {
35 auto nodeList = DependencyManager::get<NodeList>();38 auto nodeList = DependencyManager::get<NodeList>();
@@ -56,3 +59,16 @@ void EntityScriptServerLogDialog::handleEntityServerScriptLogPacket(QSharedPoint · 20 unmodified lines
56 auto lines = QString::fromUtf8(message->readAll());59 auto lines = QString::fromUtf8(message->readAll());
57 QMetaObject::invokeMethod(this, "appendLogLine", Q_ARG(QString, lines));60 QMetaObject::invokeMethod(this, "appendLogLine", Q_ARG(QString, lines));
58}61}
62
63void EntityScriptServerLogDialog::nodeActivated(SharedNodePointer activatedNode) {
64 if (_subscribed && activatedNode->getType() == NodeType::EntityScriptServer) {
65 _subscribed = false;
66 shouldEnableLog();
67 }
68}
69
70void EntityScriptServerLogDialog::nodeKilled(SharedNodePointer killedNode) {
71 if (killedNode->getType() == NodeType::EntityScriptServer) {
72 appendLogLine("====================== Connection to the Entity Script Server lost ======================");
73 }
74}