mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-08-09 16:41:57 +02:00
Fix the chat widget's visibility when not logged in
This commit is contained in:
parent
2c8efa05b7
commit
b35134e325
1 changed files with 19 additions and 15 deletions
|
@ -34,6 +34,7 @@
|
||||||
#include <UUID.h>
|
#include <UUID.h>
|
||||||
|
|
||||||
#include "Application.h"
|
#include "Application.h"
|
||||||
|
#include "AccountManager.h"
|
||||||
#include "Menu.h"
|
#include "Menu.h"
|
||||||
#include "scripting/MenuScriptingInterface.h"
|
#include "scripting/MenuScriptingInterface.h"
|
||||||
#include "Util.h"
|
#include "Util.h"
|
||||||
|
@ -193,10 +194,10 @@ Menu::Menu() :
|
||||||
QAction::PreferencesRole);
|
QAction::PreferencesRole);
|
||||||
|
|
||||||
addActionToQMenuAndActionHash(editMenu, MenuOption::Attachments, 0, this, SLOT(editAttachments()));
|
addActionToQMenuAndActionHash(editMenu, MenuOption::Attachments, 0, this, SLOT(editAttachments()));
|
||||||
|
|
||||||
addDisabledActionAndSeparator(editMenu, "Physics");
|
addDisabledActionAndSeparator(editMenu, "Physics");
|
||||||
QObject* avatar = appInstance->getAvatar();
|
QObject* avatar = appInstance->getAvatar();
|
||||||
addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyEnvironmentalGravity, Qt::SHIFT | Qt::Key_G, false,
|
addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyEnvironmentalGravity, Qt::SHIFT | Qt::Key_G, false,
|
||||||
avatar, SLOT(updateMotionBehaviorsFromMenu()));
|
avatar, SLOT(updateMotionBehaviorsFromMenu()));
|
||||||
|
|
||||||
|
|
||||||
|
@ -1013,24 +1014,24 @@ void Menu::multipleDestinationsDecision(const QJsonObject& userData, const QJson
|
||||||
void Menu::muteEnvironment() {
|
void Menu::muteEnvironment() {
|
||||||
int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);
|
int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);
|
||||||
int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);
|
int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);
|
||||||
|
|
||||||
glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();
|
glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();
|
||||||
|
|
||||||
char* packet = (char*)malloc(packetSize);
|
char* packet = (char*)malloc(packetSize);
|
||||||
populatePacketHeader(packet, PacketTypeMuteEnvironment);
|
populatePacketHeader(packet, PacketTypeMuteEnvironment);
|
||||||
memcpy(packet + headerSize, &position, sizeof(glm::vec3));
|
memcpy(packet + headerSize, &position, sizeof(glm::vec3));
|
||||||
memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));
|
memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));
|
||||||
|
|
||||||
QByteArray mutePacket(packet, packetSize);
|
QByteArray mutePacket(packet, packetSize);
|
||||||
|
|
||||||
// grab our audio mixer from the NodeList, if it exists
|
// grab our audio mixer from the NodeList, if it exists
|
||||||
SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
|
SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
|
||||||
|
|
||||||
if (audioMixer) {
|
if (audioMixer) {
|
||||||
// send off this mute packet
|
// send off this mute packet
|
||||||
NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
|
NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(packet);
|
free(packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1188,19 +1189,22 @@ void Menu::showScriptEditor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Menu::showChat() {
|
void Menu::showChat() {
|
||||||
QMainWindow* mainWindow = Application::getInstance()->getWindow();
|
if (AccountManager::getInstance().isLoggedIn()) {
|
||||||
if (!_chatWindow) {
|
QMainWindow* mainWindow = Application::getInstance()->getWindow();
|
||||||
_chatWindow = new ChatWindow(mainWindow);
|
if (!_chatWindow) {
|
||||||
}
|
_chatWindow = new ChatWindow(mainWindow);
|
||||||
if (_chatWindow->isHidden()) {
|
}
|
||||||
_chatWindow->show();
|
|
||||||
|
if (_chatWindow->isHidden()) {
|
||||||
|
_chatWindow->show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Menu::toggleChat() {
|
void Menu::toggleChat() {
|
||||||
#ifdef HAVE_QXMPP
|
#ifdef HAVE_QXMPP
|
||||||
_chatAction->setEnabled(XmppClient::getInstance().getXMPPClient().isConnected());
|
_chatAction->setEnabled(XmppClient::getInstance().getXMPPClient().isConnected());
|
||||||
if (!_chatAction->isEnabled() && _chatWindow) {
|
if (!_chatAction->isEnabled() && _chatWindow && AccountManager::getInstance().isLoggedIn()) {
|
||||||
if (_chatWindow->isHidden()) {
|
if (_chatWindow->isHidden()) {
|
||||||
_chatWindow->show();
|
_chatWindow->show();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue