📄 mainimpl.cpp
字号:
actionsetFocusToEditor->setShortcutContext( Qt::WindowShortcut ); connect(actionToggleBreakpoint, SIGNAL(triggered()), this, SLOT(slotToggleBreakpoint()) ); connect(actionDebug, SIGNAL(triggered()), this, SLOT(slotDebug()) ); connect(actionExecuteWithoutDebug, SIGNAL(triggered()), this, SLOT(slotExecuteWithoutDebug()) ); connect(actionStopDebug, SIGNAL(triggered()), this, SLOT(slotContinueDebug()) ); connect(actionStepInto, SIGNAL(triggered()), this, SLOT(slotStepInto()) ); connect(actionStepOver, SIGNAL(triggered()), this, SLOT(slotStepOver()) ); connect(actionStepOut, SIGNAL(triggered()), this, SLOT(slotStepOut()) ); connect(actionQuit, SIGNAL(triggered()), this, SLOT(close()) ); connect(treeFiles, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotDoubleClickTreeFiles(QTreeWidgetItem *, int)) ); connect(treeFiles, SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(slotClickTreeFiles(QTreeWidgetItem *, int)) ); connect(findFiles, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(slotFindFilesActivated( QListWidgetItem *, QListWidgetItem *)) ); connect(findLines, SIGNAL(itemDoubleClicked ( QListWidgetItem *)), this, SLOT(slotDoubleClickFindLines( QListWidgetItem *)) ); connect(actionHelpQtWord, SIGNAL(triggered()), this, SLOT(slotHelpQtWord()) ); connect(actionSwitchHeaderSources, SIGNAL(triggered()), this, SLOT(slotOtherFile()) ); connect(actionToggleBookmark, SIGNAL(triggered()), this, SLOT(slotToggleBookmark()) ); connect(actionNextBookmark, SIGNAL(triggered()), this, SLOT(slotNextBookmark()) ); connect(actionPreviousBookmark, SIGNAL(triggered()), this, SLOT(slotPreviousBookmark()) ); connect(actionClearAllBookmarks, SIGNAL(triggered()), this, SLOT(slotClearAllBookmarks()) ); connect(actionOpenFile, SIGNAL(triggered()), this, SLOT(slotOpenFile()) ); connect(actionNewQtVersion, SIGNAL(triggered()), this, SLOT(slotNewQtVersion()) ); connect(actionOtherFile, SIGNAL(triggered()), this, SLOT(slotOtherFile()) ); // m_projectGroup = new QActionGroup( this ); m_projectGroup->addAction( actionCloseProject ); m_projectGroup->addAction( actionSaveProject ); m_projectGroup->addAction( actionAddNewItem ); m_projectGroup->addAction( actionAddNewClass ); m_projectGroup->addAction( actionAddScope ); m_projectGroup->addAction( actionAddExistingFiles ); m_projectGroup->addAction( actionProjectPropertie ); m_projectGroup->addAction( actionBuild ); m_projectGroup->addAction( actionRebuild ); m_projectGroup->addAction( actionClean ); m_projectGroup->addAction( actionStopBuild ); m_projectGroup->addAction( actionCompile ); m_projectGroup->addAction( actionQmake ); m_projectGroup->addAction( actionDebug ); m_projectGroup->addAction( actionStopDebug ); m_projectGroup->addAction( actionExecuteWithoutDebug ); m_projectGroup->addAction( actionStepOut ); m_projectGroup->addAction( actionStepOver ); m_projectGroup->addAction( actionStepInto ); m_projectGroup->addAction( actionResetExecutablesList ); m_projectGroup->setEnabled( false ); // m_buildingGroup = new QActionGroup( this ); m_buildingGroup->addAction( actionCompile ); m_buildingGroup->addAction( actionQmake ); m_buildingGroup->addAction( actionClean ); m_buildingGroup->addAction( actionBuild ); m_buildingGroup->addAction( actionRebuild ); m_buildingGroup->addAction( actionExecuteWithoutDebug ); m_buildingGroup->addAction( actionDebug ); m_buildingGroup->addAction( actionStopDebug ); m_buildingGroup->addAction( actionStepInto ); m_buildingGroup->addAction( actionStepOver ); m_buildingGroup->addAction( actionStepOut );}//void MainImpl::slotShortcuts(){ ShortcutsImpl *dialog = new ShortcutsImpl(this); dialog->exec(); delete dialog;}//void MainImpl::slotNewFile(){ QString s = QFileDialog::getSaveFileName( this, tr("Choose the file to create"), "", tr("Files")+" (*.cpp *.h *.txt *.* *)" ); if ( s.isEmpty() ) { // Cancel is clicked return; } QFile file(s); if ( file.exists() ) { QMessageBox::warning(0, "QDevelop", tr("The file \"%1\"\n already exists in directory.").arg(s), tr("Cancel") ); return; } if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::about(0, "QDevelop",tr("Unable to create %1").arg(s)); return; } file.close(); openFile( QStringList( s ) );}//void MainImpl::slotSetFocusToEditor(){ Editor *editor = currentEditor(); if ( editor ) editor->setFocus();}//void MainImpl::slotToggleBreakpoint(){ Editor *editor = currentEditor(); if ( editor ) editor->toggleBreakpoint();}//void MainImpl::slotPreviousBookmark(){ QList<QAction *> actionsList = menuBookmarks->actions(); int pos = actionsList.indexOf( actionActiveBookmark ); int posFirstBookmark = actionsList.indexOf( actionClearAllBookmarks ) + 2; if ( posFirstBookmark > actionsList.count() ) posFirstBookmark = -1; int posLastBookmark = actionsList.count()-1; if ( pos != -1 && posFirstBookmark < pos ) { QAction *newAction = actionsList.at( pos - 1 ); slotActivateBookmark( newAction ); } else if ( posFirstBookmark != -1 ) { QAction *newAction = actionsList.at( posLastBookmark ); slotActivateBookmark( newAction ); }}//void MainImpl::slotNextBookmark(){ QList<QAction *> actionsList = menuBookmarks->actions(); int count = actionsList.count(); int pos = actionsList.indexOf( actionActiveBookmark ); if ( pos != 1 && pos+1 < count ) { QAction *newAction = actionsList.at( pos + 1 ); slotActivateBookmark( newAction ); } else { int posFirstBookmark = actionsList.indexOf( actionClearAllBookmarks ) + 2; if ( posFirstBookmark < count ) { QAction *newAction = actionsList.at( posFirstBookmark ); slotActivateBookmark( newAction ); } }}//void MainImpl::slotToggleBookmark(){ Editor *editor = currentEditor(); if ( editor ) editor->toggleBookmark();}//void MainImpl::slotToggleComment(){ Editor *editor = currentEditor(); if ( editor ) editor->comment( TextEdit::Toggle );}//void MainImpl::slotComment(){ Editor *editor = currentEditor(); if ( editor ) editor->comment( TextEdit::Comment );}//void MainImpl::slotMethodsList(){ Editor *editor = currentEditor(); if ( editor ) editor->methodsList();}//void MainImpl::slotGotoImplementation(){ Editor *editor = currentEditor(); if ( editor ) editor->gotoImplementation();}//void MainImpl::slotGotoDeclaration(){ Editor *editor = currentEditor(); if ( editor ) editor->gotoDeclaration();}//void MainImpl::slotGotoMatchingBracket(){ Editor *editor = currentEditor(); if ( editor ) editor->gotoMatchingBracket();}//void MainImpl::slotUncomment(){ Editor *editor = currentEditor(); if ( editor ) editor->comment( TextEdit::Uncomment );}//void MainImpl::slotPreviousTab(){ if ( 0 < m_tabEditors->count() ) { int i = m_tabEditors->currentIndex()-1; Editor *editor = givenEditor( 0>i?m_tabEditors->count()-1:i ); if ( editor ) m_tabEditors->setCurrentWidget( editor ); }}//void MainImpl::slotNextTab(){ if ( 0 < m_tabEditors->count() ) { int i = (m_tabEditors->currentIndex()+1)%m_tabEditors->count(); Editor *editor = givenEditor(i); if ( editor ) m_tabEditors->setCurrentWidget( editor ); }}//void MainImpl::slotParameters(){ if (!m_projectManager) return; ParametersImpl *parametersimpl = new ParametersImpl(this); parametersimpl->setParameters( m_projectManager->parameters() ); if ( parametersimpl->exec() == QDialog::Accepted ) m_projectManager->setParameters( parametersimpl->parameters() ); delete parametersimpl;}//void MainImpl::slotOptions(){ OptionsImpl *options = new OptionsImpl(this, m_font, m_lineNumbers, m_selectionBorder, m_autoIndent, m_cppHighlighter, m_tabStopWidth, m_saveBeforeBuild, m_restoreOnStart, m_formatPreprocessorText, m_formatQtText, m_formatSingleComments, m_formatMultilineComments, m_formatQuotationText, m_formatMethods, m_formatKeywords, m_autoMaskDocks, m_endLine, m_tabSpaces, m_autoCompletion, m_backgroundColor, m_promptBeforeQuit, m_highlightCurrentLine, m_currentLineColor, m_autobrackets, m_showTreeClasses, m_intervalUpdatingClasses, m_projectsDirectory, m_match, m_matchingColor, m_closeButtonInTabs, m_pluginsDirectory, m_makeOptions, m_mibCodec, m_includeDirectory, m_displayEditorToolbars, m_displayWhiteSpaces, m_documentationDirectory, m_textColor, m_automaticCompilation ); if ( options->exec() == QDialog::Accepted ) { QApplication::setOverrideCursor(Qt::WaitCursor); m_showTreeClasses = options->showTreeClasses->isChecked(); m_automaticCompilation = options->compileAuto->isChecked(); m_intervalUpdatingClasses = options->interval->value(); m_font = QFont( options->font().family(), options->font().pointSize() ); m_tabStopWidth = options->tabStopWidth->value(); m_cppHighlighter = options->highlight->isChecked(); m_lineNumbers = options->numbers->isChecked(); m_autoIndent = options->indent->isChecked(); m_selectionBorder = options->selectionBorder->isChecked(); m_saveBeforeBuild = options->saveAll->isChecked(); m_restoreOnStart = options->restore->isChecked(); m_endLine = (EndLine)options->endLine->currentIndex(); m_tabSpaces = options->tabSpaces->isChecked(); m_autoCompletion = options->completion->isChecked(); m_autobrackets = options->brackets->isChecked(); m_match = options->match->isChecked(); m_highlightCurrentLine = options->groupHighlightCurrentLine->isChecked(); m_promptBeforeQuit = options->promptBeforeQuit->isChecked(); m_projectsDirectory = options->projectsDirectory->text(); m_pluginsDirectory = options->pluginsDirectory->text(); m_includeDirectory = options->includeDirectory->text(); m_documentationDirectory = options->documentationDirectory->text(); m_makeOptions = options->makeOptions->text(); m_closeButtonInTabs = options->closeButton->isChecked(); setCrossButton( !m_closeButtonInTabs ); // m_formatPreprocessorText = options->syntaxe()->preprocessorFormat(); m_formatQtText = options->syntaxe()->classFormat(); m_formatSingleComments = options->syntaxe()->singleLineCommentFormat(); m_formatMultilineComments = options->syntaxe()->multiLineCommentFormat(); m_formatQuotationText = options->syntaxe()->quotationFormat(); m_formatMethods = options->syntaxe()->functionFormat(); m_formatKeywords = options->syntaxe()->keywordFormat(); m_backgroundColor = options->backgroundColor(); m_textColor = options->textColor(); m_currentLineColor = options->currentLineColor(); m_matchingColor = options->matchingColor(); m_mibCodec = options->mib(); m_displayEditorToolbars = options->showEditorToolbars->isChecked(); m_displayWhiteSpaces = options->displayWhiteSpaces->isChecked(); slotUpdateOtherFileActions(); foreach(Editor *editor, allEditors() ) { editor->setShowTreeClasses( m_showTreeClasses ); editor->setIntervalUpdatingTreeClasses( m_intervalUpdatingClasses ); editor->setFont( m_font ); editor->setTabStopWidth( m_tabStopWidth ); editor->setSyntaxHighlight( m_cppHighlighter ); editor->setLineNumbers( m_lineNumbers ); editor->setAutoIndent( m_autoIndent ); editor->setMatch( m_match ); editor->setHighlightCurrentLine( m_highlightCurrentLine ); editor->setSelectionBorder( m_selectionBorder ); editor->setAutoCompletion( m_autoCompletion ); editor->setEndLine( m_endLine ); editor->setTabSpaces( m_tabSpaces ); editor->setBackgroundColor( m_backgroundColor ); editor->setTextColor( m_textColor ); editor->setCurrentLineColor( m_currentLineColor ); editor->setMatchingColor( m_matchingColor ); editor->setAutobrackets( m_autobrackets ); editor->setShowWhiteSpaces( m_displayWhiteSpaces ); editor->displayEditorToolbar( m_displayEditorToolbars ); editor->setSyntaxColors ( m_formatPreprocessorText, m_formatQtText, m_formatSingleComments, m_formatMultilineComments, m_formatQuotationText, m_formatMethods, m_formatKeywords ); } tabExplorer->setTabEnabled( 1, m_showTreeClasses ); if (!m_showTreeClasses) //ToolsOptions/General tabExplorer->setTabToolTip( 1, tr("Classes explorer is disabled, please enable it in the Options dialog") ); else tabExplorer->setTabToolTip( 1, "" ); m_assistant->setdocumentationDirectory( m_documentationDirectory ); QApplication::restoreOverrideCursor(); } delete options;}//void MainImpl::saveINI(){ QSettings settings(getQDevelopPath() + "qdevelop.ini", QSettings::IniFormat); settings.beginGroup("Options"); settings.setValue("m_showTreeClasses", m_showTreeClasses); settings.setValue("m_intervalUpdatingClasses", m_intervalUpdatingClasses); settings.setValue("m_automaticCompilation", m_automaticCompilation); settings.setValue("m_font", m_font.toString()); settings.setValue("m_tabStopWidth", m_tabStopWidth); settings.setValue("m_cppHighlighter", m_cppHighlighter); settings.setValue("m_lineNumbers", m_lineNumbers); settings.setValue("m_autoIndent", m_autoIndent); settings.setValue("m_selectionBorder", m_selectionBorder); settings.setValue("m_saveBeforeBuild", m_saveBeforeBuild); settings.setValue("m_restoreOnStart", m_restoreOnStart); settings.setValue("m_promptBeforeQuit", m_promptBeforeQuit);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -