void JuffEd::initActions() { CommandStorageInt* st = Juff::Utils::commandStorage(); st->addAction(FILE_NEW, tr("&New"), this, SLOT(slotFileNew())); st->addAction(FILE_OPEN, tr("&Open"), this, SLOT(slotFileOpen())); st->addAction(FILE_SAVE, tr("&Save"), this, SLOT(slotFileSave())); st->addAction(FILE_SAVE_AS, tr("Save as"), this, SLOT(slotFileSaveAs())); st->addAction(FILE_SAVE_ALL, tr("Save all"), this, SLOT(slotFileSaveAll())); st->addAction(FILE_RELOAD, tr("&Reload"), this, SLOT(slotFileReload())); st->addAction(FILE_RENAME, tr("Rename"), this, SLOT(slotFileRename())); st->addAction(FILE_CLOSE, tr("Close"), this, SLOT(slotFileClose())); st->addAction(FILE_CLOSE_ALL, tr("Close All"), this, SLOT(slotFileCloseAll())); st->addAction(FILE_PRINT, tr("&Print"), this, SLOT(slotFilePrint())); st->addAction(FILE_EXIT, tr("Exit"), this, SLOT(slotFileExit())); st->addAction(SESSION_NEW, tr("New session"), this, SLOT(slotSessionNew())); st->addAction(SESSION_OPEN, tr("Open session"), this, SLOT(slotSessionOpen())); st->addAction(SESSION_SAVE, tr("Save session as..."), this, SLOT(slotSessionSaveAs())); st->addAction(EDIT_UNDO, tr("Undo"), this, SLOT(slotEditUndo())); st->addAction(EDIT_REDO, tr("Redo"), this, SLOT(slotEditRedo())); st->addAction(EDIT_CUT, tr("Cut"), this, SLOT(slotEditCut())); st->addAction(EDIT_COPY, tr("Copy"), this, SLOT(slotEditCopy())); st->addAction(EDIT_PASTE, tr("Paste"), this, SLOT(slotEditPaste())); st->addAction(SEARCH_FIND, tr("Find"), this, SLOT(slotFind())); st->addAction(SEARCH_FIND_NEXT, tr("Find next"), this, SLOT(slotFindNext())); st->addAction(SEARCH_FIND_PREV, tr("Find previous"), this, SLOT(slotFindPrev())); st->addAction(SEARCH_REPLACE, tr("Replace"), this, SLOT(slotReplace())); st->addAction(SEARCH_GOTO_LINE, tr("Go to line"), this, SLOT(slotGotoLine())); st->addAction(SEARCH_GOTO_FILE, tr("Go to file"), this, SLOT(slotGotoFile())); st->addAction(VIEW_ZOOM_IN, tr("Zoom In"), this, SLOT(slotZoomIn())); st->addAction(VIEW_ZOOM_OUT, tr("Zoom Out"), this, SLOT(slotZoomOut())); st->addAction(VIEW_ZOOM_100, tr("Zoom 100%"), this, SLOT(slotZoom100())); st->addAction(VIEW_FULLSCREEN, tr("Fullscreen"), this, SLOT(slotFullscreen())); st->addAction(TOOLS_SETTINGS, tr("Settings"), this, SLOT(slotSettings())); st->addAction(HELP_ABOUT, tr("About"), mw_, SLOT(slotAbout())); st->addAction(HELP_ABOUT_QT, tr("About Qt"), mw_, SLOT(slotAboutQt())); }
void DebuggerMainWnd::initKAction() { // file menu KAction* open = KStandardAction::open(this, SLOT(slotFileOpen()), actionCollection()); open->setText(i18n("&Open Source...")); m_closeAction = KStandardAction::close(m_filesWindow, SLOT(slotClose()), actionCollection()); m_reloadAction = createAction(i18n("&Reload Source"), "view-refresh", 0, m_filesWindow, SLOT(slotFileReload()), "file_reload"); m_fileExecAction = createAction(i18n("&Executable..."), "document-open-executable", 0, this, SLOT(slotFileExe()), "file_executable"); m_recentExecAction = KStandardAction::openRecent(this, SLOT(slotRecentExec(const KUrl&)), actionCollection()); m_recentExecAction->setObjectName("file_executable_recent"); m_recentExecAction->setText(i18n("Recent E&xecutables")); m_coreDumpAction = createAction(i18n("&Core dump..."), 0, this, SLOT(slotFileCore()), "file_core_dump"); KStandardAction::quit(kapp, SLOT(closeAllWindows()), actionCollection()); // settings menu m_settingsAction = createAction(i18n("This &Program..."), 0, this, SLOT(slotFileProgSettings()), "settings_program"); createAction(i18n("&Global Options..."), 0, this, SLOT(slotFileGlobalSettings()), "settings_global"); KStandardAction::keyBindings(this, SLOT(slotConfigureKeys()), actionCollection()); KStandardAction::showStatusbar(this, SLOT(slotViewStatusbar()), actionCollection()); // view menu m_findAction = KStandardAction::find(m_filesWindow, SLOT(slotViewFind()), actionCollection()); KStandardAction::findNext(m_filesWindow, SLOT(slotFindForward()), actionCollection()); KStandardAction::findPrev(m_filesWindow, SLOT(slotFindBackward()), actionCollection()); i18n("Source &code"); struct { QString text; QWidget* w; QString id; QAction** act; } dw[] = { { i18n("Stac&k"), m_btWindow, "view_stack", &m_btWindowAction }, { i18n("&Locals"), m_localVariables, "view_locals", &m_localVariablesAction }, { i18n("&Watched expressions"), m_watches, "view_watched_expressions", &m_watchesAction }, { i18n("&Registers"), m_registers, "view_registers", &m_registersAction }, { i18n("&Breakpoints"), m_bpTable, "view_breakpoints", &m_bpTableAction }, { i18n("T&hreads"), m_threads, "view_threads", &m_threadsAction }, { i18n("&Output"), m_ttyWindow, "view_output", &m_ttyWindowAction }, { i18n("&Memory"), m_memoryWindow, "view_memory", &m_memoryWindowAction } }; for (unsigned i = 0; i < sizeof(dw)/sizeof(dw[0]); i++) { QDockWidget* d = dockParent(dw[i].w); *dw[i].act = new KToggleAction(dw[i].text, actionCollection()); actionCollection()->addAction(dw[i].id, *dw[i].act); connect(*dw[i].act, SIGNAL(triggered()), d, SLOT(show())); } // execution menu m_runAction = createAction(i18n("&Run"), "debug-run", Qt::Key_F5, m_debugger, SLOT(programRun()), "exec_run"); connect(m_runAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_stepIntoAction = createAction(i18n("Step &into"), "debug-step-into", Qt::Key_F8, m_debugger, SLOT(programStep()), "exec_step_into"); connect(m_stepIntoAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_stepOverAction = createAction(i18n("Step &over"), "debug-step-over", Qt::Key_F10, m_debugger, SLOT(programNext()), "exec_step_over"); connect(m_stepOverAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_stepOutAction = createAction(i18n("Step o&ut"), "debug-step-out", Qt::Key_F6, m_debugger, SLOT(programFinish()), "exec_step_out"); connect(m_stepOutAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_toCursorAction = createAction(i18n("Run to &cursor"), "debug-execute-to-cursor", Qt::Key_F7, this, SLOT(slotExecUntil()), "exec_run_to_cursor"); connect(m_toCursorAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_stepIntoIAction = createAction(i18n("Step i&nto by instruction"), "debug-step-into-instruction", Qt::SHIFT+Qt::Key_F8, m_debugger, SLOT(programStepi()), "exec_step_into_by_insn"); connect(m_stepIntoIAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_stepOverIAction = createAction(i18n("Step o&ver by instruction"), "debug-step-instruction", Qt::SHIFT+Qt::Key_F10, m_debugger, SLOT(programNexti()), "exec_step_over_by_insn"); connect(m_stepOverIAction, SIGNAL(activated()), this, SLOT(intoBackground())); m_execMovePCAction = createAction(i18n("&Program counter to current line"), "debug-run-cursor", 0, m_filesWindow, SLOT(slotMoveProgramCounter()), "exec_movepc"); m_breakAction = createAction(i18n("&Break"), 0, m_debugger, SLOT(programBreak()), "exec_break"); m_killAction = createAction(i18n("&Kill"), 0, m_debugger, SLOT(programKill()), "exec_kill"); m_restartAction = createAction(i18n("Re&start"), 0, m_debugger, SLOT(programRunAgain()), "exec_restart"); m_attachAction = createAction(i18n("A&ttach..."), 0, this, SLOT(slotExecAttach()), "exec_attach"); m_argumentsAction = createAction(i18n("&Arguments..."), 0, this, SLOT(slotExecArgs()), "exec_arguments"); // breakpoint menu m_bpSetAction = createAction(i18n("Set/Clear &breakpoint"), "brkpt", Qt::Key_F9, m_filesWindow, SLOT(slotBrkptSet()), "breakpoint_set"); m_bpSetTempAction = createAction(i18n("Set &temporary breakpoint"), Qt::SHIFT+Qt::Key_F9, m_filesWindow, SLOT(slotBrkptSetTemp()), "breakpoint_set_temporary"); m_bpEnableAction = createAction(i18n("&Enable/Disable breakpoint"), Qt::CTRL+Qt::Key_F9, m_filesWindow, SLOT(slotBrkptEnable()), "breakpoint_enable"); // only in popup menus createAction(i18n("Watch Expression"), 0, this, SLOT(slotLocalsToWatch()), "watch_expression"); m_editValueAction = createAction(i18n("Edit Value"), Qt::Key_F2, this, SLOT(slotEditValue()), "edit_value"); // all actions force an UI update QList<QAction*> actions = actionCollection()->actions(); foreach(QAction* action, actions) { connect(action, SIGNAL(activated()), this, SLOT(updateUI())); }