History

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

Andrzej Kapolka committed 12 years ago

Commit 3f478b12 parents e22d239 ee66d873 files · +42 −29Browse files

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

Unified · Split

interface/src/Menu.cpp+22−16
@@ -34,6 +34,7 @@ · 33 unmodified lines
34#include <UUID.h>34#include <UUID.h>
35 35
36#include "Application.h"36#include "Application.h"
37#include "AccountManager.h"
37#include "Menu.h"38#include "Menu.h"
38#include "scripting/MenuScriptingInterface.h"39#include "scripting/MenuScriptingInterface.h"
39#include "Util.h"40#include "Util.h"
@@ -195,12 +196,12 @@ Menu::Menu() : · 155 unmodified lines
195 196
196 addActionToQMenuAndActionHash(editMenu, MenuOption::Attachments, 0, this, SLOT(editAttachments()));197 addActionToQMenuAndActionHash(editMenu, MenuOption::Attachments, 0, this, SLOT(editAttachments()));
197 addActionToQMenuAndActionHash(editMenu, MenuOption::Animations, 0, this, SLOT(editAnimations()));198 addActionToQMenuAndActionHash(editMenu, MenuOption::Animations, 0, this, SLOT(editAnimations()));
198 199
199 addDisabledActionAndSeparator(editMenu, "Physics");200 addDisabledActionAndSeparator(editMenu, "Physics");
200 QObject* avatar = appInstance->getAvatar();201 QObject* avatar = appInstance->getAvatar();
201 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyEnvironmentalGravity, Qt::SHIFT | Qt::Key_G, false, 202 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyEnvironmentalGravity, Qt::SHIFT | Qt::Key_G, false,
202 avatar, SLOT(updateMotionBehaviorsFromMenu()));203 avatar, SLOT(updateMotionBehaviorsFromMenu()));
203 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::StandOnNearbyFloors, 0, true, 204 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::StandOnNearbyFloors, 0, true,
204 avatar, SLOT(updateMotionBehaviorsFromMenu()));205 avatar, SLOT(updateMotionBehaviorsFromMenu()));
205 206
206 addAvatarCollisionSubMenu(editMenu);207 addAvatarCollisionSubMenu(editMenu);
@@ -1027,24 +1028,24 @@ void Menu::multipleDestinationsDecision(const QJsonObject& userData, const QJson · 820 unmodified lines
1027void Menu::muteEnvironment() {1028void Menu::muteEnvironment() {
1028 int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);1029 int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);
1029 int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);1030 int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);
1030 1031
1031 glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();1032 glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();
1032 1033
1033 char* packet = (char*)malloc(packetSize);1034 char* packet = (char*)malloc(packetSize);
1034 populatePacketHeader(packet, PacketTypeMuteEnvironment);1035 populatePacketHeader(packet, PacketTypeMuteEnvironment);
1035 memcpy(packet + headerSize, &position, sizeof(glm::vec3));1036 memcpy(packet + headerSize, &position, sizeof(glm::vec3));
1036 memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));1037 memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));
1037 1038
1038 QByteArray mutePacket(packet, packetSize);1039 QByteArray mutePacket(packet, packetSize);
1039 1040
1040 // grab our audio mixer from the NodeList, if it exists1041 // grab our audio mixer from the NodeList, if it exists
1041 SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);1042 SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
1042 1043
1043 if (audioMixer) {1044 if (audioMixer) {
1044 // send off this mute packet1045 // send off this mute packet
1045 NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);1046 NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
1046 }1047 }
1047 1048
1048 free(packet);1049 free(packet);
1049}1050}
1050 1051
@@ -1202,19 +1203,24 @@ void Menu::showScriptEditor() { · 151 unmodified lines
1202}1203}
1203 1204
1204void Menu::showChat() {1205void Menu::showChat() {
1205 QMainWindow* mainWindow = Application::getInstance()->getWindow();1206 if (AccountManager::getInstance().isLoggedIn()) {
1206 if (!_chatWindow) {1207 QMainWindow* mainWindow = Application::getInstance()->getWindow();
1207 _chatWindow = new ChatWindow(mainWindow);1208 if (!_chatWindow) {
1208 }1209 _chatWindow = new ChatWindow(mainWindow);
1209 if (_chatWindow->isHidden()) {1210 }
1210 _chatWindow->show();1211
1212 if (_chatWindow->isHidden()) {
1213 _chatWindow->show();
1214 }
1215 } else {
1216 Application::getInstance()->getTrayIcon()->showMessage("Interface", "You need to login to be able to chat with others on this domain.");
1211 }1217 }
1212}1218}
1213 1219
1214void Menu::toggleChat() {1220void Menu::toggleChat() {
1215#ifdef HAVE_QXMPP1221#ifdef HAVE_QXMPP
1216 _chatAction->setEnabled(XmppClient::getInstance().getXMPPClient().isConnected());1222 _chatAction->setEnabled(XmppClient::getInstance().getXMPPClient().isConnected());
1217 if (!_chatAction->isEnabled() && _chatWindow) {1223 if (!_chatAction->isEnabled() && _chatWindow && AccountManager::getInstance().isLoggedIn()) {
1218 if (_chatWindow->isHidden()) {1224 if (_chatWindow->isHidden()) {
1219 _chatWindow->show();1225 _chatWindow->show();
1220 } else {1226 } else {