History

Added the new Running Scripts widget

Mohammed Nafees committed 12 years ago

Commit d85d4fe1 parent 89cb1ad14 files · +920 −339Browse files

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

Unified · Split

interface/src/Menu.cpp+61−60
@@ -87,7 +87,7 @@ Menu::Menu() : · 86 unmodified lines
8787 _loginAction(NULL)
8888 {
8989 Application *appInstance = Application::getInstance();
90−
90+
9191 QMenu* fileMenu = addMenu("File");
9292
9393 #ifdef Q_OS_MAC
@@ -100,23 +100,24 @@ Menu::Menu() : · 6 unmodified lines
100100 #endif
101101
102102 AccountManager& accountManager = AccountManager::getInstance();
103−
103+
104104 _loginAction = addActionToQMenuAndActionHash(fileMenu, MenuOption::Logout);
105−
105+
106106 // call our toggle login function now so the menu option is setup properly
107107 toggleLoginMenuItem();
108−
108+
109109 // connect to the appropriate slots of the AccountManager so that we can change the Login/Logout menu item
110110 connect(&accountManager, &AccountManager::accessTokenChanged, this, &Menu::toggleLoginMenuItem);
111111 connect(&accountManager, &AccountManager::logoutComplete, this, &Menu::toggleLoginMenuItem);
112112
113113 addDisabledActionAndSeparator(fileMenu, "Scripts");
114114 addActionToQMenuAndActionHash(fileMenu, MenuOption::LoadScript, Qt::CTRL | Qt::Key_O, appInstance, SLOT(loadDialog()));
115− addActionToQMenuAndActionHash(fileMenu, MenuOption::LoadScriptURL,
115+ addActionToQMenuAndActionHash(fileMenu, MenuOption::LoadScriptURL,
116116 Qt::CTRL | Qt::SHIFT | Qt::Key_O, appInstance, SLOT(loadScriptURLDialog()));
117117 addActionToQMenuAndActionHash(fileMenu, MenuOption::StopAllScripts, 0, appInstance, SLOT(stopAllScripts()));
118118 addActionToQMenuAndActionHash(fileMenu, MenuOption::ReloadAllScripts, 0, appInstance, SLOT(reloadAllScripts()));
119− _activeScriptsMenu = fileMenu->addMenu("Running Scripts");
119+ addActionToQMenuAndActionHash(fileMenu, MenuOption::RunningScripts, Qt::CTRL | Qt::Key_J,
120+ appInstance, SLOT(toggleRunningScriptsWidget()));
120121
121122 addDisabledActionAndSeparator(fileMenu, "Go");
122123 addActionToQMenuAndActionHash(fileMenu,
@@ -147,7 +148,7 @@ Menu::Menu() : · 24 unmodified lines
147148
148149 addDisabledActionAndSeparator(fileMenu, "Upload Avatar Model");
149150 addActionToQMenuAndActionHash(fileMenu, MenuOption::UploadFST, 0, Application::getInstance(), SLOT(uploadFST()));
150−
151+
151152 addDisabledActionAndSeparator(fileMenu, "Settings");
152153 addActionToQMenuAndActionHash(fileMenu, MenuOption::SettingsImport, 0, this, SLOT(importSettings()));
153154 addActionToQMenuAndActionHash(fileMenu, MenuOption::SettingsExport, 0, this, SLOT(exportSettings()));
@@ -172,8 +173,8 @@ Menu::Menu() : · 18 unmodified lines
172173 addDisabledActionAndSeparator(editMenu, "Physics");
173174 addCheckableActionToQMenuAndActionHash(editMenu, MenuOption::Gravity, Qt::SHIFT | Qt::Key_G, false);
174175
175−
176−
176+
177+
177178
178179 addAvatarCollisionSubMenu(editMenu);
179180
@@ -207,7 +208,7 @@ Menu::Menu() : · 27 unmodified lines
207208 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, Qt::SHIFT | Qt::Key_H, true);
208209 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::FullscreenMirror, Qt::Key_H, false,
209210 appInstance, SLOT(cameraMenuChanged()));
210−
211+
211212 addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Enable3DTVMode, 0,
212213 false,
213214 appInstance,
@@ -333,16 +334,16 @@ Menu::Menu() : · 119 unmodified lines
333334 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::PipelineWarnings, Qt::CTRL | Qt::SHIFT | Qt::Key_P);
334335 addCheckableActionToQMenuAndActionHash(renderDebugMenu, MenuOption::SuppressShortTimings, Qt::CTRL | Qt::SHIFT | Qt::Key_S);
335336
336− addCheckableActionToQMenuAndActionHash(renderDebugMenu,
337− MenuOption::CullSharedFaces,
338− Qt::CTRL | Qt::SHIFT | Qt::Key_C,
337+ addCheckableActionToQMenuAndActionHash(renderDebugMenu,
338+ MenuOption::CullSharedFaces,
339+ Qt::CTRL | Qt::SHIFT | Qt::Key_C,
339340 false,
340341 appInstance->getVoxels(),
341342 SLOT(cullSharedFaces()));
342343
343− addCheckableActionToQMenuAndActionHash(renderDebugMenu,
344− MenuOption::ShowCulledSharedFaces,
345− Qt::CTRL | Qt::SHIFT | Qt::Key_X,
344+ addCheckableActionToQMenuAndActionHash(renderDebugMenu,
345+ MenuOption::ShowCulledSharedFaces,
346+ Qt::CTRL | Qt::SHIFT | Qt::Key_X,
346347 false,
347348 appInstance->getVoxels(),
348349 SLOT(showCulledSharedFaces()));
@@ -360,14 +361,14 @@ Menu::Menu() : · 11 unmodified lines
360361 false,
361362 appInstance->getAudio(),
362363 SLOT(toggleMute()));
363−
364+
364365 addActionToQMenuAndActionHash(developerMenu, MenuOption::PasteToVoxel,
365366 Qt::CTRL | Qt::SHIFT | Qt::Key_V,
366367 this,
367368 SLOT(pasteToVoxel()));
368369
369370 connect(appInstance->getAudio(), SIGNAL(muteToggled()), this, SLOT(audioMuteToggled()));
370−
371+
371372 #ifndef Q_OS_MAC
372373 QMenu* helpMenu = addMenu("Help");
373374 QAction* helpAction = helpMenu->addAction(MenuOption::AboutApp);
@@ -571,7 +572,7 @@ void Menu::addDisabledActionAndSeparator(QMenu* destinationMenu, const QString& · 197 unmodified lines
571572 QAction* separatorText = new QAction(actionName,destinationMenu);
572573 separatorText->setEnabled(false);
573574 destinationMenu->insertAction(actionBefore, separatorText);
574−
575+
575576 } else {
576577 destinationMenu->addSeparator();
577578 (destinationMenu->addAction(actionName))->setEnabled(false);
@@ -623,7 +624,7 @@ QAction* Menu::addCheckableActionToQMenuAndActionHash(QMenu* destinationMenu, · 45 unmodified lines
623624 const char* member,
624625 int menuItemLocation) {
625626
626− QAction* action = addActionToQMenuAndActionHash(destinationMenu, actionName, shortcut, receiver, member,
627+ QAction* action = addActionToQMenuAndActionHash(destinationMenu, actionName, shortcut, receiver, member,
627628 QAction::NoRole, menuItemLocation);
628629 action->setCheckable(true);
629630 action->setChecked(checked);
@@ -677,35 +678,35 @@ const float DIALOG_RATIO_OF_WINDOW = 0.30f; · 47 unmodified lines
677678 void Menu::loginForCurrentDomain() {
678679 QDialog loginDialog(Application::getInstance()->getWindow());
679680 loginDialog.setWindowTitle("Login");
680−
681+
681682 QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom);
682683 loginDialog.setLayout(layout);
683684 loginDialog.setWindowFlags(Qt::Sheet);
684−
685+
685686 QFormLayout* form = new QFormLayout();
686687 layout->addLayout(form, 1);
687−
688+
688689 QLineEdit* loginLineEdit = new QLineEdit();
689690 loginLineEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
690691 form->addRow("Login:", loginLineEdit);
691−
692+
692693 QLineEdit* passwordLineEdit = new QLineEdit();
693694 passwordLineEdit->setMinimumWidth(QLINE_MINIMUM_WIDTH);
694695 passwordLineEdit->setEchoMode(QLineEdit::Password);
695696 form->addRow("Password:", passwordLineEdit);
696−
697+
697698 QDialogButtonBox* buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
698699 loginDialog.connect(buttons, SIGNAL(accepted()), SLOT(accept()));
699700 loginDialog.connect(buttons, SIGNAL(rejected()), SLOT(reject()));
700701 layout->addWidget(buttons);
701−
702+
702703 int dialogReturn = loginDialog.exec();
703−
704+
704705 if (dialogReturn == QDialog::Accepted && !loginLineEdit->text().isEmpty() && !passwordLineEdit->text().isEmpty()) {
705706 // attempt to get an access token given this username and password
706707 AccountManager::getInstance().requestAccessToken(loginLineEdit->text(), passwordLineEdit->text());
707708 }
708−
709+
709710 sendFakeEnterEvent();
710711 }
711712
@@ -713,19 +714,19 @@ void Menu::editPreferences() { · 1 unmodified line
713714 Application* applicationInstance = Application::getInstance();
714715 ModelBrowser headBrowser(Head);
715716 ModelBrowser skeletonBrowser(Skeleton);
716−
717+
717718 const QString BROWSE_BUTTON_TEXT = "Browse";
718719
719720 QDialog dialog(applicationInstance->getWindow());
720721 dialog.setWindowTitle("Interface Preferences");
721−
722+
722723 QBoxLayout* layout = new QBoxLayout(QBoxLayout::TopToBottom);
723724 dialog.setLayout(layout);
724−
725+
725726 QFormLayout* form = new QFormLayout();
726727 layout->addLayout(form, 1);
727728
728−
729+
729730 QHBoxLayout headModelLayout;
730731 QString faceURLString = applicationInstance->getAvatar()->getHead()->getFaceModel().getURL().toString();
731732 QLineEdit headURLEdit(faceURLString);
@@ -737,7 +738,7 @@ void Menu::editPreferences() { · 5 unmodified lines
737738 headModelLayout.addWidget(&headURLEdit);
738739 headModelLayout.addWidget(&headBrowseButton);
739740 form->addRow("Head URL:", &headModelLayout);
740−
741+
741742 QHBoxLayout skeletonModelLayout;
742743 QString skeletonURLString = applicationInstance->getAvatar()->getSkeletonModel().getURL().toString();
743744 QLineEdit skeletonURLEdit(skeletonURLString);
@@ -749,7 +750,7 @@ void Menu::editPreferences() { · 5 unmodified lines
749750 skeletonModelLayout.addWidget(&skeletonURLEdit);
750751 skeletonModelLayout.addWidget(&SkeletonBrowseButton);
751752 form->addRow("Skeleton URL:", &skeletonModelLayout);
752−
753+
753754
754755 QString displayNameString = applicationInstance->getAvatar()->getDisplayName();
755756 QLineEdit* displayNameEdit = new QLineEdit(displayNameString);
@@ -826,12 +827,12 @@ void Menu::editPreferences() { · 70 unmodified lines
826827 }
827828
828829 QString displayNameStr(displayNameEdit->text());
829−
830+
830831 if (displayNameStr != displayNameString) {
831832 applicationInstance->getAvatar()->setDisplayName(displayNameStr);
832833 shouldDispatchIdentityPacket = true;
833834 }
834−
835+
835836 if (shouldDispatchIdentityPacket) {
836837 applicationInstance->getAvatar()->sendIdentityPacket();
837838 }
@@ -864,10 +865,10 @@ void Menu::editPreferences() { · 26 unmodified lines
864865
865866 void Menu::goToDomain(const QString newDomain) {
866867 if (NodeList::getInstance()->getDomainInfo().getHostname() != newDomain) {
867−
868+
868869 // send a node kill request, indicating to other clients that they should play the "disappeared" effect
869870 Application::getInstance()->getAvatar()->sendKillAvatar();
870−
871+
871872 // give our nodeList the new domain-server hostname
872873 NodeList::getInstance()->getDomainInfo().setHostname(newDomain);
873874 }
@@ -897,7 +898,7 @@ void Menu::goToDomainDialog() { · 23 unmodified lines
897898 // the user input a new hostname, use that
898899 newHostname = domainDialog.textValue();
899900 }
900−
901+
901902 goToDomain(newHostname);
902903 }
903904
@@ -913,7 +914,7 @@ bool Menu::goToDestination(QString destination) { · 9 unmodified lines
913914 }
914915
915916 void Menu::goTo() {
916−
917+
917918 QInputDialog gotoDialog(Application::getInstance()->getWindow());
918919 gotoDialog.setWindowTitle("Go to");
919920 gotoDialog.setLabelText("Destination:");
@@ -921,7 +922,7 @@ void Menu::goTo() { · 1 unmodified line
921922 gotoDialog.setTextValue(destination);
922923 gotoDialog.setWindowFlags(Qt::Sheet);
923924 gotoDialog.resize(gotoDialog.parentWidget()->size().width() * DIALOG_RATIO_OF_WINDOW, gotoDialog.size().height());
924−
925+
925926 int dialogReturn = gotoDialog.exec();
926927 if (dialogReturn == QDialog::Accepted && !gotoDialog.textValue().isEmpty()) {
927928 goToUser(gotoDialog.textValue());
@@ -1070,7 +1071,7 @@ void Menu::toggleLoginMenuItem() { · 142 unmodified lines
10701071 AccountManager& accountManager = AccountManager::getInstance();
10711072
10721073 disconnect(_loginAction, 0, 0, 0);
1073−
1074+
10741075 if (accountManager.isLoggedIn()) {
10751076 // change the menu item to logout
10761077 _loginAction->setText("Logout " + accountManager.getUsername());
@@ -1078,7 +1079,7 @@ void Menu::toggleLoginMenuItem() { · 1 unmodified line
10781079 } else {
10791080 // change the menu item to login
10801081 _loginAction->setText("Login");
1081−
1082+
10821083 connect(_loginAction, &QAction::triggered, this, &Menu::loginForCurrentDomain);
10831084 }
10841085 }
@@ -1185,7 +1186,7 @@ QString Menu::getLODFeedbackText() { · 100 unmodified lines
11851186 } break;
11861187 }
11871188
1188− // distance feedback
1189+ // distance feedback
11891190 float voxelSizeScale = getVoxelSizeScale();
11901191 float relativeToDefault = voxelSizeScale / DEFAULT_OCTREE_SIZE_SCALE;
11911192 QString result;
@@ -1200,7 +1201,7 @@ QString Menu::getLODFeedbackText() { · 8 unmodified lines
12001201 }
12011202
12021203 void Menu::autoAdjustLOD(float currentFPS) {
1203− // NOTE: our first ~100 samples at app startup are completely all over the place, and we don't
1204+ // NOTE: our first ~100 samples at app startup are completely all over the place, and we don't
12041205 // really want to count them in our average, so we will ignore the real frame rates and stuff
12051206 // our moving average with simulated good data
12061207 const int IGNORE_THESE_SAMPLES = 100;
@@ -1212,7 +1213,7 @@ void Menu::autoAdjustLOD(float currentFPS) { · 5 unmodified lines
12121213 _fastFPSAverage.updateAverage(currentFPS);
12131214
12141215 quint64 now = usecTimestampNow();
1215−
1216+
12161217 const quint64 ADJUST_AVATAR_LOD_DOWN_DELAY = 1000 * 1000;
12171218 if (_fastFPSAverage.getAverage() < ADJUST_LOD_DOWN_FPS) {
12181219 if (now - _lastAvatarDetailDrop > ADJUST_AVATAR_LOD_DOWN_DELAY) {
@@ -1231,11 +1232,11 @@ void Menu::autoAdjustLOD(float currentFPS) { · 12 unmodified lines
12311232 _avatarLODDistanceMultiplier = qMax(MINIMUM_DISTANCE_MULTIPLIER,
12321233 _avatarLODDistanceMultiplier - DISTANCE_DECREASE_RATE);
12331234 }
1234−
1235+
12351236 bool changed = false;
12361237 quint64 elapsed = now - _lastAdjust;
12371238
1238− if (elapsed > ADJUST_LOD_DOWN_DELAY && _fpsAverage.getAverage() < ADJUST_LOD_DOWN_FPS
1239+ if (elapsed > ADJUST_LOD_DOWN_DELAY && _fpsAverage.getAverage() < ADJUST_LOD_DOWN_FPS
12391240 && _voxelSizeScale > ADJUST_LOD_MIN_SIZE_SCALE) {
12401241
12411242 _voxelSizeScale *= ADJUST_LOD_DOWN_BY;
@@ -1248,7 +1249,7 @@ void Menu::autoAdjustLOD(float currentFPS) { · 6 unmodified lines
12481249 << "_voxelSizeScale=" << _voxelSizeScale;
12491250 }
12501251
1251− if (elapsed > ADJUST_LOD_UP_DELAY && _fpsAverage.getAverage() > ADJUST_LOD_UP_FPS
1252+ if (elapsed > ADJUST_LOD_UP_DELAY && _fpsAverage.getAverage() > ADJUST_LOD_UP_FPS
12521253 && _voxelSizeScale < ADJUST_LOD_MAX_SIZE_SCALE) {
12531254 _voxelSizeScale *= ADJUST_LOD_UP_BY;
12541255 if (_voxelSizeScale > ADJUST_LOD_MAX_SIZE_SCALE) {
@@ -1259,7 +1260,7 @@ void Menu::autoAdjustLOD(float currentFPS) { · 4 unmodified lines
12591260 qDebug() << "adjusting LOD up... average fps for last approximately 5 seconds=" << _fpsAverage.getAverage()
12601261 << "_voxelSizeScale=" << _voxelSizeScale;
12611262 }
1262−
1263+
12631264 if (changed) {
12641265 if (_lodToolsDialog) {
12651266 _lodToolsDialog->reloadSliders();
@@ -1337,13 +1338,13 @@ void Menu::addAvatarCollisionSubMenu(QMenu* overMenu) { · 71 unmodified lines
13371338
13381339 Application* appInstance = Application::getInstance();
13391340 QObject* avatar = appInstance->getAvatar();
1340− addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithEnvironment,
1341+ addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithEnvironment,
13411342 0, false, avatar, SLOT(updateCollisionFlags()));
1342− addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithAvatars,
1343+ addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithAvatars,
13431344 0, true, avatar, SLOT(updateCollisionFlags()));
1344− addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithVoxels,
1345+ addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithVoxels,
13451346 0, false, avatar, SLOT(updateCollisionFlags()));
1346− addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithParticles,
1347+ addCheckableActionToQMenuAndActionHash(subMenu, MenuOption::CollideWithParticles,
13471348 0, true, avatar, SLOT(updateCollisionFlags()));
13481349 }
13491350
@@ -1352,9 +1353,9 @@ QAction* Menu::getActionFromName(const QString& menuName, QMenu* menu) { · 2 unmodified lines
13521353 if (menu) {
13531354 menuActions = menu->actions();
13541355 } else {
1355− menuActions = actions();
1356+ menuActions = actions();
13561357 }
1357−
1358+
13581359 foreach (QAction* menuAction, menuActions) {
13591360 if (menuName == menuAction->text()) {
13601361 return menuAction;
@@ -1461,7 +1462,7 @@ QMenu* Menu::addMenu(const QString& menuName) { · 100 unmodified lines
14611462
14621463 void Menu::removeMenu(const QString& menuName) {
14631464 QAction* action = getMenuAction(menuName);
1464−
1465+
14651466 // only proceed if the menu actually exists
14661467 if (action) {
14671468 QString finalMenuPart;
@@ -1513,7 +1514,7 @@ void Menu::addMenuItem(const MenuItemProperties& properties) { · 45 unmodified lines
15131514 if (!properties.shortcutKeySequence.isEmpty()) {
15141515 shortcut = new QShortcut(properties.shortcutKeySequence, this);
15151516 }
1516−
1517+
15171518 // check for positioning requests
15181519 int requestedPosition = properties.position;
15191520 if (requestedPosition == UNSPECIFIED_POSITION && !properties.beforeItem.isEmpty()) {
@@ -1527,13 +1528,13 @@ void Menu::addMenuItem(const MenuItemProperties& properties) { · 7 unmodified lines
15271528 requestedPosition = afterPosition + 1;
15281529 }
15291530 }
1530−
1531+
15311532 QAction* menuItemAction = NULL;
15321533 if (properties.isSeparator) {
15331534 addDisabledActionAndSeparator(menuObj, properties.menuItemName, requestedPosition);
15341535 } else if (properties.isCheckable) {
15351536 menuItemAction = addCheckableActionToQMenuAndActionHash(menuObj, properties.menuItemName,
1536− properties.shortcutKeySequence, properties.isChecked,
1537+ properties.shortcutKeySequence, properties.isChecked,
15371538 MenuScriptingInterface::getInstance(), SLOT(menuItemTriggered()), requestedPosition);
15381539 } else {
15391540 menuItemAction = addActionToQMenuAndActionHash(menuObj, properties.menuItemName, properties.shortcutKeySequence,