History

Merge remote-tracking branch 'upstream/master' into 19612

Ryan Huffman committed 12 years ago

Commit 65fd2a72 parents 45beeaa 19b76e347 files · +1877 −604Browse files

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

Unified · Split

interface/src/Menu.cpp+17−46
@@ -40,6 +40,7 @@ · 39 unmodified lines
40#include "ui/InfoView.h"40#include "ui/InfoView.h"
41#include "ui/MetavoxelEditor.h"41#include "ui/MetavoxelEditor.h"
42#include "ui/ModelsBrowser.h"42#include "ui/ModelsBrowser.h"
43#include "ui/LoginDialog.h"
43 44
44 45
45Menu* Menu::_instance = NULL;46Menu* Menu::_instance = NULL;
@@ -169,12 +170,12 @@ Menu::Menu() : · 123 unmodified lines
169 170
170 171
171 QMenu* editMenu = addMenu("Edit");172 QMenu* editMenu = addMenu("Edit");
172 173
173 QUndoStack* undoStack = Application::getInstance()->getUndoStack();174 QUndoStack* undoStack = Application::getInstance()->getUndoStack();
174 QAction* undoAction = undoStack->createUndoAction(editMenu);175 QAction* undoAction = undoStack->createUndoAction(editMenu);
175 undoAction->setShortcut(Qt::CTRL | Qt::Key_Z);176 undoAction->setShortcut(Qt::CTRL | Qt::Key_Z);
176 addActionToQMenuAndActionHash(editMenu, undoAction);177 addActionToQMenuAndActionHash(editMenu, undoAction);
177 178
178 QAction* redoAction = undoStack->createRedoAction(editMenu);179 QAction* redoAction = undoStack->createRedoAction(editMenu);
179 redoAction->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_Z);180 redoAction->setShortcut(Qt::CTRL | Qt::SHIFT | Qt::Key_Z);
180 addActionToQMenuAndActionHash(editMenu, redoAction);181 addActionToQMenuAndActionHash(editMenu, redoAction);
@@ -188,8 +189,8 @@ Menu::Menu() : · 7 unmodified lines
188 189
189 addDisabledActionAndSeparator(editMenu, "Physics");190 addDisabledActionAndSeparator(editMenu, "Physics");
190 QObject* avatar = appInstance->getAvatar();191 QObject* avatar = appInstance->getAvatar();
191 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyGravity, Qt::SHIFT | Qt::Key_G, true, 192 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::ObeyEnvironmentalGravity, Qt::SHIFT | Qt::Key_G, true,
192 avatar, SLOT(updateMotionBehaviorFlags()));193 avatar, SLOT(updateMotionBehaviors()));
193 194
194 195
195 addAvatarCollisionSubMenu(editMenu);196 addAvatarCollisionSubMenu(editMenu);
@@ -320,7 +321,7 @@ Menu::Menu() : · 124 unmodified lines
320 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::Visage, 0, true,321 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::Visage, 0, true,
321 appInstance->getVisage(), SLOT(updateEnabled()));322 appInstance->getVisage(), SLOT(updateEnabled()));
322#endif323#endif
323 324
324 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::GlowWhenSpeaking, 0, true);325 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::GlowWhenSpeaking, 0, true);
325 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::ChatCircling, 0, false);326 addCheckableActionToQMenuAndActionHash(avatarOptionsMenu, MenuOption::ChatCircling, 0, false);
326 327
@@ -723,31 +724,31 @@ QAction* Menu::addActionToQMenuAndActionHash(QMenu* destinationMenu, · 396 unmodified lines
723 QAction::MenuRole role,724 QAction::MenuRole role,
724 int menuItemLocation) {725 int menuItemLocation) {
725 QAction* actionBefore = NULL;726 QAction* actionBefore = NULL;
726 727
727 if (menuItemLocation >= 0 && destinationMenu->actions().size() > menuItemLocation) {728 if (menuItemLocation >= 0 && destinationMenu->actions().size() > menuItemLocation) {
728 actionBefore = destinationMenu->actions()[menuItemLocation];729 actionBefore = destinationMenu->actions()[menuItemLocation];
729 }730 }
730 731
731 if (!actionName.isEmpty()) {732 if (!actionName.isEmpty()) {
732 action->setText(actionName);733 action->setText(actionName);
733 }734 }
734 735
735 if (shortcut != 0) {736 if (shortcut != 0) {
736 action->setShortcut(shortcut);737 action->setShortcut(shortcut);
737 }738 }
738 739
739 if (role != QAction::NoRole) {740 if (role != QAction::NoRole) {
740 action->setMenuRole(role);741 action->setMenuRole(role);
741 }742 }
742 743
743 if (!actionBefore) {744 if (!actionBefore) {
744 destinationMenu->addAction(action);745 destinationMenu->addAction(action);
745 } else {746 } else {
746 destinationMenu->insertAction(actionBefore, action);747 destinationMenu->insertAction(actionBefore, action);
747 }748 }
748 749
749 _actionHash.insert(action->text(), action);750 _actionHash.insert(action->text(), action);
750 751
751 return action;752 return action;
752}753}
753 754
@@ -813,42 +814,12 @@ void sendFakeEnterEvent() { · 59 unmodified lines
813 QCoreApplication::sendEvent(glWidget, &enterEvent);814 QCoreApplication::sendEvent(glWidget, &enterEvent);
814}815}
815 816
816const int QLINE_MINIMUM_WIDTH = 400;
817const float DIALOG_RATIO_OF_WINDOW = 0.30f;817const float DIALOG_RATIO_OF_WINDOW = 0.30f;
818 818
819void Menu::loginForCurrentDomain() {819void Menu::loginForCurrentDomain() {
820 QDialog loginDialog(Application::getInstance()->getWindow());820 LoginDialog* loginDialog = new LoginDialog(Application::getInstance()->getWindow());
821 loginDialog.setWindowTitle("Login");821 loginDialog->show();
822 822 loginDialog->resizeAndPosition(false);
823 QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom);
824 loginDialog.setLayout(layout);
825 loginDialog.setWindowFlags(Qt::Sheet);
826
827 QFormLayout* form = new QFormLayout();
828 layout->addLayout(form, 1);
829
830 QLineEdit* loginLineEdit = new QLineEdit();
831 loginLineEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
832 form->addRow("Login:", loginLineEdit);
833
834 QLineEdit* passwordLineEdit = new QLineEdit();
835 passwordLineEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
836 passwordLineEdit->setEchoMode(QLineEdit::Password);
837 form->addRow("Password:", passwordLineEdit);
838
839 QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
840 loginDialog.connect(buttons, SIGNAL(accepted()), SLOT(accept()));
841 loginDialog.connect(buttons, SIGNAL(rejected()), SLOT(reject()));
842 layout->addWidget(buttons);
843
844 int dialogReturn = loginDialog.exec();
845
846 if (dialogReturn == QDialog::Accepted && !loginLineEdit->text().isEmpty() && !passwordLineEdit->text().isEmpty()) {
847 // attempt to get an access token given this username and password
848 AccountManager::getInstance().requestAccessToken(loginLineEdit->text(), passwordLineEdit->text());
849 }
850
851 sendFakeEnterEvent();
852}823}
853 824
854void Menu::editPreferences() {825void Menu::editPreferences() {
@@ -1278,7 +1249,7 @@ void Menu::autoAdjustLOD(float currentFPS) { · 423 unmodified lines
1278 _avatarLODDistanceMultiplier - DISTANCE_DECREASE_RATE);1249 _avatarLODDistanceMultiplier - DISTANCE_DECREASE_RATE);
1279 }1250 }
1280 }1251 }
1281 1252
1282 bool changed = false;1253 bool changed = false;
1283 quint64 elapsed = now - _lastAdjust;1254 quint64 elapsed = now - _lastAdjust;
1284 1255