void ScriptEdit::enableShortcuts() { QShortcut *accelFindNext = new QShortcut(actionFindNext->shortcut(), this); connect(accelFindNext, SIGNAL(activated()), this, SLOT(findNext())); QShortcut *accelReplace = new QShortcut(actionReplace->shortcut(), this); connect(accelReplace, SIGNAL(activated()), this, SLOT(replace())); QShortcut *accelFindPrevious = new QShortcut(actionFindPrevious->shortcut(), this); connect(accelFindPrevious, SIGNAL(activated()), this, SLOT(findPrevious())); QShortcut *accelFind = new QShortcut(actionFind->shortcut(), this); connect(accelFind, SIGNAL(activated()), this, SLOT(showFindDialog())); QShortcut *accelSave = new QShortcut(actionSave->shortcut(), this); connect(accelSave, SIGNAL(activated()), this, SLOT(save())); QShortcut *accelImport = new QShortcut(actionImport->shortcut(), this); connect(accelImport, SIGNAL(activated()), this, SLOT(importASCII())); QShortcut *accelEval = new QShortcut(actionEval->shortcut(), this); connect(accelEval, SIGNAL(activated()), this, SLOT(evaluate())); }
ScriptEdit::ScriptEdit(ScriptingEnv *env, QWidget *parent, const char *name) : QTextEdit(parent, name), scripted(env), d_error(false), d_completer(0), d_file_name(QString::null), d_search_string(QString::null) { myScript = scriptEnv->newScript("", this, name); connect(myScript, SIGNAL(error(const QString&, const QString&, int)), this, SLOT(insertErrorMsg(const QString&))); connect(myScript, SIGNAL(print(const QString&)), this, SLOT(scriptPrint(const QString&))); setLineWrapMode(NoWrap); setUndoRedoEnabled(true); setTextFormat(Qt::PlainText); setAcceptRichText (false); #ifdef SCRIPTING_PYTHON if (scriptEnv->name() == QString("Python")) d_highlighter = new PythonSyntaxHighlighter(this); else d_highlighter = NULL; #endif d_fmt_default.setBackground(palette().brush(QPalette::Base)); printCursor = textCursor(); scriptsDirPath = qApp->applicationDirPath(); actionExecute = new QAction(tr("E&xecute"), this); actionExecute->setShortcut( tr("Ctrl+J") ); connect(actionExecute, SIGNAL(activated()), this, SLOT(execute())); actionExecuteAll = new QAction(tr("Execute &All"), this); actionExecuteAll->setShortcut( tr("Ctrl+Shift+J") ); connect(actionExecuteAll, SIGNAL(activated()), this, SLOT(executeAll())); actionEval = new QAction(tr("&Evaluate Expression"), this); actionEval->setShortcut( tr("Ctrl+Return") ); connect(actionEval, SIGNAL(activated()), this, SLOT(evaluate())); actionPrint = new QAction(QPixmap(fileprint_xpm), tr("&Print"), this); connect(actionPrint, SIGNAL(activated()), this, SLOT(print())); actionImport = new QAction(tr("&Import..."), this); actionImport->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_O)); connect(actionImport, SIGNAL(activated()), this, SLOT(importASCII())); QShortcut *accelImport = new QShortcut(actionImport->shortcut(), this); connect(accelImport, SIGNAL(activated()), this, SLOT(importASCII())); actionSave = new QAction(QPixmap(filesave_xpm), tr("&Save"), this); actionSave->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_S)); connect(actionSave, SIGNAL(activated()), this, SLOT(save())); QShortcut *accelSave = new QShortcut(actionSave->shortcut(), this); connect(accelSave, SIGNAL(activated()), this, SLOT(save())); actionExport = new QAction(QIcon(QPixmap(filesaveas_xpm)), tr("Sa&ve as..."), this); connect(actionExport, SIGNAL(activated()), this, SLOT(exportASCII())); actionFind = new QAction(QPixmap(find_xpm), tr("&Find..."), this); actionFind->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_F)); connect(actionFind, SIGNAL(activated()), this, SLOT(showFindDialog())); QShortcut *accelFind = new QShortcut(actionFind->shortcut(), this); connect(accelFind, SIGNAL(activated()), this, SLOT(showFindDialog())); actionReplace = new QAction(tr("&Replace..."), this); actionReplace->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_R)); connect(actionReplace, SIGNAL(activated()), this, SLOT(replace())); QShortcut *accelReplace = new QShortcut(actionReplace->shortcut(), this); connect(accelReplace, SIGNAL(activated()), this, SLOT(replace())); actionFindNext = new QAction(tr("&Find next"), this); actionFindNext->setShortcut(QKeySequence(Qt::Key_F3)); connect(actionFindNext, SIGNAL(activated()), this, SLOT(findNext())); QShortcut *accelFindNext = new QShortcut(actionFindNext->shortcut(), this); connect(accelFindNext, SIGNAL(activated()), this, SLOT(findNext())); actionFindPrevious = new QAction(tr("&Find previous"), this); actionFindPrevious->setShortcut(QKeySequence(Qt::Key_F4)); connect(actionFindPrevious, SIGNAL(activated()), this, SLOT(findPrevious())); QShortcut *accelFindPrevious = new QShortcut(actionFindPrevious->shortcut(), this); connect(accelFindPrevious, SIGNAL(activated()), this, SLOT(findPrevious())); functionsMenu = new QMenu(this); Q_CHECK_PTR(functionsMenu); connect(functionsMenu, SIGNAL(triggered(QAction *)), this, SLOT(insertFunction(QAction *))); }
MoulKI::MoulKI(QWidget *parent) : QMainWindow(parent), ui(new Ui::MoulKIClass), gameClient(NULL), authClient(NULL) { resmgr = new plResManager(PlasmaVer::pvMoul); sdlmgr = new plSDLMgr(); ui->setupUi(this); qRegisterMetaType<plUuid>("plUuid"); qRegisterMetaType<plString>("plString"); qRegisterMetaType<uint32_t>("uint32_t"); connect(ui->actionLogin, SIGNAL(triggered()), this, SLOT(showLoginDialog())); connect(ui->actionSet_Active, SIGNAL(triggered()), this, SLOT(showPlayers())); connect(ui->actionFind_Node, SIGNAL(triggered()), this, SLOT(showFindDialog())); connect(ui->actionSubscribe, SIGNAL(triggered()), this, SLOT(showFetchDialog())); connect(ui->actionGet_Public_Ages, SIGNAL(triggered()), this, SLOT(getPublicAgeList())); connect(ui->actionSave_Vault, SIGNAL(triggered()), this, SLOT(writeVault())); connect(ui->actionLoad_Vault, SIGNAL(triggered()), this, SLOT(readVault())); connect(ui->actionJoin_Age, SIGNAL(triggered()), this, SLOT(showJoinAgeDialog())); connect(ui->vaultTree, SIGNAL(itemSelectionChanged()), this, SLOT(setShownNode())); connect(ui->applyButton, SIGNAL(clicked()), this, SLOT(saveNodeData())); connect(ui->revertButton, SIGNAL(clicked()), this, SLOT(revertNode())); connect(ui->nodeEditor, SIGNAL(isDirty(bool)), this, SLOT(nodeDirty(bool))); connect(ui->vaultTree, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showItemContextMenu(QPoint))); connect(ui->chatEntry, SIGNAL(returnPressed()), this, SLOT(sendGameChat())); connect(&vault, SIGNAL(addedNode(uint32_t, uint32_t)), this, SLOT(addNode(uint32_t,uint32_t))); connect(&vault, SIGNAL(removedNode(uint32_t, uint32_t)), this, SLOT(removeNode(uint32_t,uint32_t))); connect(&vault, SIGNAL(gotRootNode(uint32_t)), this, SLOT(addRoot(uint32_t))); connect(&vault, SIGNAL(updatedNode(uint32_t)), this, SLOT(updateNode(uint32_t))); connect(&vault, SIGNAL(fetchComplete()), this, SLOT(checkCurrentAge())); ui->vaultTree->setContextMenuPolicy(Qt::CustomContextMenu); // set up the player list agePlayersItem = new QTreeWidgetItem(ui->playersTree); agePlayersItem->setText(0, "AGE PLAYERS"); ui->playersTree->insertTopLevelItem(0, agePlayersItem); agePlayersItem->setExpanded(true); buddiesItem = new QTreeWidgetItem(ui->playersTree); buddiesItem->setText(0, "BUDDIES"); buddiesItem->setExpanded(true); ui->playersTree->insertTopLevelItem(0, buddiesItem); neighborsItem = new QTreeWidgetItem(ui->playersTree); neighborsItem->setText(0, "NEIGHBORS"); ui->playersTree->insertTopLevelItem(0, neighborsItem); neighborsItem->setExpanded(true); QList<int> chatSizes; chatSizes.append(350); chatSizes.append(100); ui->chatSplitter->setSizes(chatSizes); ui->nodeEditor->setMgrs(getSDLMgr(), getResManager()); }
void MainWindow::createActions() { newAct = new QAction(QIcon(":/images/filenew.png"), tr("&New"), this); newAct->setShortcut(tr("Ctrl+N")); newAct->setStatusTip(tr("Create a new file")); connect(newAct, SIGNAL(triggered()), this, SLOT(newFile())); closeAct = new QAction(QIcon(":/images/fileclose.png"), tr("&Close"), this); #ifndef Q_WS_MAC closeAct->setShortcut(tr("Ctrl+F4")); #else closeAct->setShortcut(tr("Ctrl+W")); #endif closeAct->setStatusTip(tr("Close the current file")); connect(closeAct, SIGNAL(triggered()), this, SLOT(closeFile())); openAct = new QAction(QIcon(":/images/fileopen.png"), tr("&Open..."), this); openAct->setShortcut(tr("Ctrl+O")); openAct->setStatusTip(tr("Open an existing file")); connect(openAct, SIGNAL(triggered()), this, SLOT(open())); saveAct = new QAction(QIcon(":/images/filesave.png"), tr("&Save"), this); saveAct->setShortcut(tr("Ctrl+S")); saveAct->setStatusTip(tr("Save the document to disk")); connect(saveAct, SIGNAL(triggered()), this, SLOT(save())); saveAsAct = new QAction(QIcon(":/images/filesaveas.png"), tr("Save &As..."), this); saveAsAct->setStatusTip(tr("Save the document under a new name")); connect(saveAsAct, SIGNAL(triggered()), this, SLOT(saveAs())); exitAct = new QAction(QIcon(":/images/fileexit.png"), tr("E&xit"), this); exitAct->setShortcut(tr("Ctrl+Q")); exitAct->setStatusTip(tr("Exit QSciTE")); connect(exitAct, SIGNAL(triggered()), launcher, SLOT(quitApplication())); undoAct = new QAction(QIcon(":/images/undo.png"), tr("Undo"), this); undoAct->setShortcut(tr("Ctrl+Z")); undoAct->setStatusTip(tr("Undo the last action performed.")); connect(undoAct, SIGNAL(triggered()), this, SLOT(undo())); redoAct = new QAction(QIcon(":/images/redo.png"), tr("Redo"), this); redoAct->setShortcut(tr("Ctrl+Shift+Z")); redoAct->setStatusTip(tr("Redo an action previously undone.")); connect(redoAct, SIGNAL(triggered()), this, SLOT(redo())); cutAct = new QAction(QIcon(":/images/editcut.png"), tr("Cu&t"), this); cutAct->setShortcut(tr("Ctrl+X")); cutAct->setStatusTip(tr("Cut the current selection's contents to the " "clipboard")); connect(cutAct, SIGNAL(triggered()), this, SLOT(editCut())); copyAct = new QAction(QIcon(":/images/editcopy.png"), tr("&Copy"), this); copyAct->setShortcut(tr("Ctrl+C")); copyAct->setStatusTip(tr("Copy the current selection's contents to the " "clipboard")); connect(copyAct, SIGNAL(triggered()), this, SLOT(editCopy())); pasteAct = new QAction(QIcon(":/images/editpaste.png"), tr("&Paste"), this); pasteAct->setShortcut(tr("Ctrl+V")); pasteAct->setStatusTip(tr("Paste the clipboard's contents into the current " "selection")); connect(pasteAct, SIGNAL(triggered()), this, SLOT(editPaste())); prefsAct = new QAction(QIcon(":/images/configure.png"), tr("P&references"), this); // TODO: set shortcut, tip, etc. connect(prefsAct, SIGNAL(triggered()), this, SLOT(globalPrefs())); fontAct = new QAction(QIcon(":/images/font.png"), tr("&Font"), this); //fontAct->setShortcut(tr("")) fontAct->setStatusTip(tr("Set the display font.")); connect(fontAct, SIGNAL(triggered()), this, SLOT(fontDialog())); terminalAct = new QAction(QIcon(":/images/terminal.png"), tr("Terminal"), this); terminalAct->setStatusTip(tr("Show/hide terminal")); connect(terminalAct, SIGNAL(triggered()), this, SLOT(toggleTerminal())); textDisplayAct = new QAction(QIcon(":/images/font.png"), tr("Text &Display..."), this); connect(textDisplayAct, SIGNAL(triggered()), this, SLOT(textDisplay())); aboutAct = new QAction(tr("&About QSciTE"), this); aboutAct->setStatusTip(tr("Show QSciTE's About box")); connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); aboutQtAct = new QAction(tr("About &Qt"), this); aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt())); nextAct = new QAction(QIcon(":/images/nextTab.png"), tr("Forward"), this); nextAct->setStatusTip(tr("Change to the next open document")); nextAct->setShortcut(tr("Alt+Right")); connect(nextAct, SIGNAL(triggered()), this, SLOT(nextDoc())); prevAct = new QAction(QIcon(":/images/prevTab.png"), tr("Back"), this); prevAct->setStatusTip(tr("Change to the previous open document")); prevAct->setShortcut(tr("Alt+Left")); connect(prevAct, SIGNAL(triggered()), this, SLOT(prevDoc())); cutAct->setEnabled(false); copyAct->setEnabled(false); convertEndings = new QAction(tr("&Convert Line End Characters"), this); connect(convertEndings, SIGNAL(triggered()), this, SLOT(convertEols())); lineEndCr = new QAction(tr("&CR (old Macintosh)"), this); lineEndCr->setCheckable(true); connect(lineEndCr, SIGNAL(triggered()), this, SLOT(setEolCr())); lineEndLf = new QAction(tr("&LF (Unix)"), this); lineEndLf->setCheckable(true); connect(lineEndLf, SIGNAL(triggered()), this, SLOT(setEolLf())); lineEndCrLf = new QAction(tr("CR &+ LF (Windows)"), this); lineEndCrLf->setCheckable(true); connect(lineEndCrLf, SIGNAL(triggered()), this, SLOT(setEolCrLf())); lineEnds = new QActionGroup(this); lineEnds->addAction(lineEndCr); lineEnds->addAction(lineEndLf); lineEnds->addAction(lineEndCrLf); lineEndLf->setChecked(true); showLineEndsAct = new QAction(tr("&Show End of Line"), this); showLineEndsAct->setCheckable(true); connect(showLineEndsAct, SIGNAL(toggled(bool)), this, SLOT(setEolVisibility(bool))); convertIndentAct = new QAction(tr("Convert &Indentation..."), this); connect(convertIndentAct, SIGNAL(triggered()), this, SLOT(convertIndentation())); codeFoldingAct = new QAction(tr("Use Code Folding"), this); codeFoldingAct->setCheckable(true); connect(codeFoldingAct, SIGNAL(triggered()), this, SLOT(toggleFolding())); findTextAct = new QAction(tr("&Find..."), this); findTextAct->setShortcut(tr("Ctrl+F")); connect(findTextAct, SIGNAL(triggered()), this, SLOT(showFindDialog())); replaceTextAct = new QAction(tr("Replace..."), this); replaceTextAct->setShortcut(tr("Ctrl+H")); connect(replaceTextAct, SIGNAL(triggered()), this, SLOT(showReplaceDialog())); //ScriptConsole scriptConsoleAct = new QAction(tr("Script Console"), this); connect(scriptConsoleAct, SIGNAL(triggered()), this, SLOT(showScriptConsole())); newWindowAct = new QAction(QIcon(":/images/newwindow.png"), tr("&New Window"), this); connect(newWindowAct, SIGNAL(triggered()), this, SLOT(newWindow())); lexers = new QActionGroup(this); for (int i = 0; !supportedLexers[i].isEmpty(); ++i) { QAction * tmp = new QAction(tr(supportedLexers[i].toStdString().c_str()), this); tmp->setCheckable(true); connect(tmp, SIGNAL(triggered()), this, SLOT(lexerMenuChanged())); lexers->addAction(tmp); } }
ScriptEdit::ScriptEdit(ScriptingEnv *env, QWidget *parent, const char *name) : QTextEdit(parent, name), scripted(env), d_error(false), d_completer(0), d_highlighter(0), d_file_name(QString::null), d_search_string(QString::null), d_output_widget(NULL) { myScript = scriptEnv->newScript("", this, name); connect(myScript, SIGNAL(error(const QString&, const QString&, int)), this, SLOT(insertErrorMsg(const QString&))); connect(myScript, SIGNAL(print(const QString&)), this, SLOT(scriptPrint(const QString&))); connect(myScript, SIGNAL(error(const QString&, const QString&, int)), this, SIGNAL(error(const QString&, const QString&, int))); setLineWrapMode(NoWrap); setUndoRedoEnabled(true); setTextFormat(Qt::PlainText); setAcceptRichText (false); setFocusPolicy(Qt::StrongFocus); rehighlight(); d_fmt_default.setBackground(palette().brush(QPalette::Base)); //Init completer based on parser built-in functions QStringList functions = MyParser::functionNamesList(); functions.sort(); QCompleter *completer = new QCompleter(this); completer->setModelSorting(QCompleter::CaseSensitivelySortedModel); completer->setCompletionMode(QCompleter::PopupCompletion); completer->setModel(new QStringListModel(functions, completer)); setCompleter(completer); printCursor = textCursor(); scriptsDirPath = qApp->applicationDirPath(); actionExecute = new QAction(tr("E&xecute"), this); actionExecute->setShortcut( tr("Ctrl+J") ); connect(actionExecute, SIGNAL(activated()), this, SLOT(execute())); actionExecuteAll = new QAction(QIcon(":/play.png"), tr("Execute &All"), this); actionExecuteAll->setShortcut( tr("Ctrl+Shift+J") ); connect(actionExecuteAll, SIGNAL(activated()), this, SLOT(executeAll())); actionEval = new QAction(tr("&Evaluate Expression"), this); actionEval->setShortcut( tr("Ctrl+Return") ); connect(actionEval, SIGNAL(activated()), this, SLOT(evaluate())); actionPrint = new QAction(QIcon(":/fileprint.png"), tr("&Print"), this); connect(actionPrint, SIGNAL(activated()), this, SLOT(print())); actionImport = new QAction(QIcon(":/fileopen.png"), tr("&Import..."), this); actionImport->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_O)); connect(actionImport, SIGNAL(activated()), this, SLOT(importASCII())); actionSave = new QAction(QIcon(":/filesave.png"), tr("&Save"), this); actionSave->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_S)); connect(actionSave, SIGNAL(activated()), this, SLOT(save())); actionExport = new QAction(QIcon(":/filesaveas.png"), tr("Sa&ve as..."), this); connect(actionExport, SIGNAL(activated()), this, SLOT(exportASCII())); actionFind = new QAction(QIcon(":/find.png"), tr("&Find..."), this); actionFind->setShortcut(QKeySequence(Qt::CTRL+Qt::ALT+Qt::Key_F)); connect(actionFind, SIGNAL(activated()), this, SLOT(showFindDialog())); actionReplace = new QAction(QIcon(":/replace.png"), tr("&Replace..."), this); actionReplace->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_R)); connect(actionReplace, SIGNAL(activated()), this, SLOT(replace())); actionFindNext = new QAction(QIcon(":/find_next.png"), tr("&Find next"), this); actionFindNext->setShortcut(QKeySequence(Qt::Key_F3)); connect(actionFindNext, SIGNAL(activated()), this, SLOT(findNext())); actionFindPrevious = new QAction(QIcon(":/find_previous.png"), tr("&Find previous"), this); actionFindPrevious->setShortcut(QKeySequence(Qt::Key_F4)); connect(actionFindPrevious, SIGNAL(activated()), this, SLOT(findPrevious())); functionsMenu = new QMenu(this); Q_CHECK_PTR(functionsMenu); connect(functionsMenu, SIGNAL(triggered(QAction *)), this, SLOT(insertFunction(QAction *))); connect(this, SIGNAL(cursorPositionChanged()), this, SLOT(matchParentheses())); }