MenuBar::MenuBar(QWidget *parent) : QMenuBar(parent) { fileMenu = new QMenu("File"); fileMenu->addAction("New", this, SLOT(newFile()), QKeySequence("CTRL+N")); fileMenu->addAction("Open", this, SLOT(openFile()), QKeySequence("CTRL+O")); // fileMenu->addAction("Open Recent"); recentMenu = new QMenu("Open recent files"); fileMenu->addMenu(recentMenu); fileMenu->addAction("Save", this, SLOT(saveFile()), QKeySequence("CTRL+S")); fileMenu->addAction("Save As...", this, SLOT(saveFileAs()), QKeySequence("SHIFT+CTRL+S")); fileMenu->addSeparator(); fileMenu->addAction("Close", this, SLOT(closeFile()), QKeySequence("CTRL+W")); fileMenu->addAction("Close All", this, SLOT(closeAllFiles()), QKeySequence("SHIFT+CTRL+W")); fileMenu->addSeparator(); fileMenu->addAction("Quit", this, SLOT(quit()), QKeySequence("CTRL+Q")); sessionMenu = new QMenu("Session"); editMenu = new QMenu("Edit"); editMenu->addAction("Previous Buffer", this, SLOT(decrementBuffer()), QKeySequence("ALT+LEFT")); editMenu->addAction("Next Buffer", this, SLOT(incrementBuffer()), QKeySequence("ALT+RIGHT")); languageMenu = new QMenu("Language"); languageMenu->addAction("Evaluate code", this, SLOT(evaluateCode()), QKeySequence("SHIFT+RETURN")); languageMenu->addAction("Toggle OpenGL", this, SLOT(toggleOpenGL()), QKeySequence("F1")); helpMenu = new QMenu("Help"); helpMenu->addAction("About", this, SLOT(about())); addMenu(fileMenu); addMenu(sessionMenu); addMenu(editMenu); addMenu(languageMenu); addMenu(helpMenu); }
void executeKeyPress(int choice) { if (globalCurrentPage->keyboard.isNum == 0) { //Alpha keys if (choice <= 30) { Key k = globalCurrentPage->keyboard.currentKeyset[choice]; updateBuffer(k, globalCurrentPage); } //Delete Key if (choice == 31) { decrementBuffer(globalCurrentPage); } //Uppercase/Lowercase Key if (choice == 32) { if (globalCurrentPage->keyboard.isUpper == 1) { globalCurrentPage->keyboard.isUpper = 0; globalCurrentPage->keyboard.currentKeyset = globalCurrentPage->keyboard.keyset_lowercase; } else { globalCurrentPage->keyboard.isUpper = 1; globalCurrentPage->keyboard.currentKeyset = globalCurrentPage->keyboard.keyset_uppercase; } } //Numbers Key if (choice == 33) { globalCurrentPage->keyboard.isNum = 1; globalCurrentPage->keyboard.currentKeyset = globalCurrentPage->keyboard.numberset1; } //Done Key if (choice == 34) { int k; k = globalCurrentPage->keyboard.curInputBoxIndex; strcpy(globalCurrentPage->keyboard.caller->inputBoxes[k].inputBuf, globalCurrentPage->keyboard.buffer); clearBuffer(globalCurrentPage); globalCurrentPage = globalCurrentPage->keyboard.caller; updateInputBox(&(globalCurrentPage->inputBoxes[k])); } } else { //Number Keys if (choice < 10) { Key k = globalCurrentPage->keyboard.currentKeyset[choice]; updateBuffer(k, globalCurrentPage); } //Delete Key if (choice == 10) { decrementBuffer(globalCurrentPage); } //Return to letters key if (choice == 11) { globalCurrentPage->keyboard.isNum = 0; globalCurrentPage->keyboard.currentKeyset = globalCurrentPage->keyboard.keyset_lowercase; } //Done Key if (choice == 12) { int k; k = globalCurrentPage->keyboard.curInputBoxIndex; strcpy(globalCurrentPage->keyboard.caller->inputBoxes[k].inputBuf, globalCurrentPage->keyboard.buffer); clearBuffer(globalCurrentPage); globalCurrentPage = globalCurrentPage->keyboard.caller; updateInputBox(&(globalCurrentPage->inputBoxes[k])); } } }