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
3434 #include <UUID.h>
3535
3636 #include "Application.h"
37+#include "AccountManager.h"
3738 #include "Menu.h"
3839 #include "scripting/MenuScriptingInterface.h"
3940 #include "Util.h"
@@ -195,12 +196,12 @@ Menu::Menu() : · 155 unmodified lines
195196
196197 addActionToQMenuAndActionHash(editMenu, MenuOption::Attachments, 0, this, SLOT(editAttachments()));
197198 addActionToQMenuAndActionHash(editMenu, MenuOption::Animations, 0, this, SLOT(editAnimations()));
198−
199+
199200 addDisabledActionAndSeparator(editMenu, "Physics");
200201 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,
202203 avatar, SLOT(updateMotionBehaviorsFromMenu()));
203− addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::StandOnNearbyFloors, 0, true,
204+ addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::StandOnNearbyFloors, 0, true,
204205 avatar, SLOT(updateMotionBehaviorsFromMenu()));
205206
206207 addAvatarCollisionSubMenu(editMenu);
@@ -1027,24 +1028,24 @@ void Menu::multipleDestinationsDecision(const QJsonObject& userData, const QJson · 820 unmodified lines
10271028 void Menu::muteEnvironment() {
10281029 int headerSize = numBytesForPacketHeaderGivenPacketType(PacketTypeMuteEnvironment);
10291030 int packetSize = headerSize + sizeof(glm::vec3) + sizeof(float);
1030−
1031+
10311032 glm::vec3 position = Application::getInstance()->getAvatar()->getPosition();
1032−
1033+
10331034 char* packet = (char*)malloc(packetSize);
10341035 populatePacketHeader(packet, PacketTypeMuteEnvironment);
10351036 memcpy(packet + headerSize, &position, sizeof(glm::vec3));
10361037 memcpy(packet + headerSize + sizeof(glm::vec3), &MUTE_RADIUS, sizeof(float));
1037−
1038+
10381039 QByteArray mutePacket(packet, packetSize);
1039−
1040+
10401041 // grab our audio mixer from the NodeList, if it exists
10411042 SharedNodePointer audioMixer = NodeList::getInstance()->soloNodeOfType(NodeType::AudioMixer);
1042−
1043+
10431044 if (audioMixer) {
10441045 // send off this mute packet
10451046 NodeList::getInstance()->writeDatagram(mutePacket, audioMixer);
10461047 }
1047−
1048+
10481049 free(packet);
10491050 }
10501051
@@ -1202,19 +1203,24 @@ void Menu::showScriptEditor() { · 151 unmodified lines
12021203 }
12031204
12041205 void Menu::showChat() {
1205− QMainWindow* mainWindow = Application::getInstance()->getWindow();
1206− if (!_chatWindow) {
1207− _chatWindow = new ChatWindow(mainWindow);
1208− }
1209− if (_chatWindow->isHidden()) {
1210− _chatWindow->show();
1206+ if (AccountManager::getInstance().isLoggedIn()) {
1207+ QMainWindow* mainWindow = Application::getInstance()->getWindow();
1208+ if (!_chatWindow) {
1209+ _chatWindow = new ChatWindow(mainWindow);
1210+ }
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.");
12111217 }
12121218 }
12131219
12141220 void Menu::toggleChat() {
12151221 #ifdef HAVE_QXMPP
12161222 _chatAction->setEnabled(XmppClient::getInstance().getXMPPClient().isConnected());
1217− if (!_chatAction->isEnabled() && _chatWindow) {
1223+ if (!_chatAction->isEnabled() && _chatWindow && AccountManager::getInstance().isLoggedIn()) {
12181224 if (_chatWindow->isHidden()) {
12191225 _chatWindow->show();
12201226 } else {