History

Merge pull request #2939 from huffman/19648

Code Review for Job #19648

AndrewMeadows committed 12 years ago

Commit 21f045e2 parents 7940544 425632e11 files · +640 −10Browse files

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

Unified · Split

interface/src/Menu.cpp+31−0
@@ -73,6 +73,11 @@ const int ONE_SECOND_OF_FRAMES = 60; · 72 unmodified lines
7373 const int FIVE_SECONDS_OF_FRAMES = 5 * ONE_SECOND_OF_FRAMES;
7474 const float MUTE_RADIUS = 50;
7575
76+const QString CONSOLE_TITLE = "Scripting Console";
77+const float CONSOLE_WINDOW_OPACITY = 0.95f;
78+const int CONSOLE_WIDTH = 800;
79+const int CONSOLE_HEIGHT = 200;
80+
7681 Menu::Menu() :
7782 _actionHash(),
7883 _audioJitterBufferSamples(0),
@@ -81,6 +86,7 @@ Menu::Menu() : · 2 unmodified lines
8186 _faceshiftEyeDeflection(DEFAULT_FACESHIFT_EYE_DEFLECTION),
8287 _frustumDrawMode(FRUSTUM_DRAW_MODE_ALL),
8388 _viewFrustumOffset(DEFAULT_FRUSTUM_OFFSET),
89+ _jsConsole(NULL),
8490 _octreeStatsDialog(NULL),
8591 _lodToolsDialog(NULL),
8692 _maxVoxels(DEFAULT_MAX_VOXELS_PER_SYSTEM),
@@ -227,6 +233,12 @@ Menu::Menu() : · 140 unmodified lines
227233 _chatWindow = new ChatWindow(Application::getInstance()->getWindow());
228234 #endif
229235
236+ addActionToQMenuAndActionHash(toolsMenu,
237+ MenuOption::Console,
238+ Qt::CTRL | Qt::ALT | Qt::Key_J,
239+ this,
240+ SLOT(toggleConsole()));
241+
230242 QMenu* viewMenu = addMenu("View");
231243
232244 addCheckableActionToQMenuAndActionHash(viewMenu,
@@ -1258,6 +1270,25 @@ void Menu::toggleChat() { · 1025 unmodified lines
12581270 #endif
12591271 }
12601272
1273+void Menu::toggleConsole() {
1274+ QMainWindow* mainWindow = Application::getInstance()->getWindow();
1275+ if (!_jsConsole) {
1276+ QDialog* dialog = new QDialog(mainWindow, Qt::WindowStaysOnTopHint);
1277+ QVBoxLayout* layout = new QVBoxLayout(dialog);
1278+ dialog->setLayout(new QVBoxLayout(dialog));
1279+
1280+ dialog->resize(QSize(CONSOLE_WIDTH, CONSOLE_HEIGHT));
1281+ layout->setMargin(0);
1282+ layout->setSpacing(0);
1283+ layout->addWidget(new JSConsole(dialog));
1284+ dialog->setWindowOpacity(CONSOLE_WINDOW_OPACITY);
1285+ dialog->setWindowTitle(CONSOLE_TITLE);
1286+
1287+ _jsConsole = dialog;
1288+ }
1289+ _jsConsole->setVisible(!_jsConsole->isVisible());
1290+}
1291+
12611292 void Menu::audioMuteToggled() {
12621293 QAction *muteAction = _actionHash.value(MenuOption::MuteAudio);
12631294 muteAction->setChecked(Application::getInstance()->getAudio()->getMuted());