⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainimpl.cpp

📁 用Qt4编写的linux IDE开发环境
💻 CPP
📖 第 1 页 / 共 5 页
字号:
    connect(actionProjectPropertie, SIGNAL(triggered()), m_projectManager, SLOT(slotProjectPropertie()) );    setWindowTitle( s );    setCurrentProject( s );    m_projectGroup->setEnabled( true );    slotClickTreeFiles( treeFiles->topLevelItem ( 0 ), 0);    return true;}//bool MainImpl::slotCloseProject(bool /*hide*/){	/*QList<Editor *> maximized = m_maximizedEditors;	foreach(Editor *editor, maximized)	{		slotShowMaximized( editor );	}*/    if ( m_projectManager )        m_projectManager->saveProjectSettings();    slotClearAllBookmarks();    if ( !slotCloseAllFiles() )        return false;    logBuild->clear();    logDebug->clear();    //    if ( m_completion )    {        m_completion->wait();        delete m_completion;        m_completion = 0;    }    //    if ( m_projectManager && !m_projectManager->close() )        return false;    delete m_projectManager;    m_projectManager = 0;    setWindowTitle( "QDevelop" );    m_projectGroup->setEnabled( false );    delete m_findInFiles;    m_findInFiles = 0;    return true;}//void MainImpl::slotDoubleClickTreeFiles(QTreeWidgetItem *item, int){    if ( item->childCount() > 0 )        return;    QString filename = item->text(0);    QString projectName = m_projectManager->projectFilename( item );    QString projectDirectory = m_projectManager->projectDirectory(item);    QString absoluteName = QDir(projectDirectory+"/"+filename).absolutePath();    QStringList locationsList;    locationsList << absoluteName;    foreach(QString dir, m_projectManager->dependpath(item) )    locationsList << QDir(projectDirectory + "/" +dir + "/" + filename).absolutePath();    openFile( locationsList );}//void MainImpl::slotClickTreeFiles(QTreeWidgetItem *item, int){    QString projectName = m_projectManager->projectFilename( item );    actionProjectPropertie->setText( tr("Properties of %1...").arg(projectName) );}//void MainImpl::slotSaveFile(){    Editor *editor = currentEditor();    if ( editor )    {        editor->save();    }}//void MainImpl::slotSaveFileAs(){    Editor *editor = currentEditor();    if ( !editor )        return;    QString s = QFileDialog::getSaveFileName(                    this,                    tr("Choose the file to create"),                    editor->filename(),                    tr("Files (*.cpp *.h *.txt *.* *)") );    if ( s.isEmpty() )    {        return;    }    editor->setFilename( s );    editor->save();    m_tabEditors->setTabText(m_tabEditors->currentIndex(), editor->shortFilename() );}//void MainImpl::slotHelpQtWord(){    Editor *editor = currentEditor();    QString className = "index";    QString word = "index";    if ( editor )    {        word = editor->wordUnderCursor();        className = editor->classNameUnderCursor();        if (className.isEmpty() )            className = word;        if( !word.isEmpty() )        	className = m_completion->classForFunction(className, word);        if ( className.isEmpty() && word.startsWith("Q") )        {        	className = word;       	}    }    m_assistant->showQtWord(className, word );}//void MainImpl::slotCloseCurrentTab(){    Editor *editor = currentEditor();    if ( editor && !editor->close() )        return;    delete editor;    slotUpdateOtherFileActions();}//void MainImpl::closeTab(int numTab){    Editor *editor = givenEditor(numTab);    if ( editor && !editor->close() )        return;    delete editor;    slotUpdateOtherFileActions();}//void MainImpl::closeOtherTab(int numTab){    Editor *noClose = givenEditor(numTab);    QList<Editor *> editorlist;    for (int i=0; i<m_tabEditors->count(); i++)        editorlist.append( givenEditor(i) );    foreach(Editor *editor, editorlist)    {        if ( editor != noClose )        {            if ( editor && !editor->close() )                return;            delete editor;        }    }    slotUpdateOtherFileActions();}//void MainImpl::slotClearAllBookmarks(){    foreach(Editor *editor, allEditors() )    {        if ( editor )        {            editor->clearAllBookmarks();        }    }}//bool MainImpl::slotSaveAll(){    bool ok = m_projectManager->slotSaveProject();    ok = true;    foreach(Editor *editor, allEditors() )    {        if ( editor )        {            if ( !editor->save() )                ok = false;        }    }    return ok;}//Editor * MainImpl::openFile(QStringList locationsList, int numLine, bool silentMode, bool moveTop){    //QApplication::setOverrideCursor(Qt::WaitCursor);    QString s;    foreach(s, locationsList)    {        if ( QFile::exists( s ) )        {            break;        }    }    s = QDir::cleanPath( s );    // The file is really opened only if it exists and if it is a file.    if ( !QFileInfo(s).isFile() )    {        QApplication::restoreOverrideCursor();        return 0;    }    if ( Editor::shortFilename(s).section(".", -1, -1).toLower() == "ui" )    {        //QProcess::startDetached (m_designerName, QStringList(s));        m_designer->openUI( s );        QApplication::restoreOverrideCursor();        return 0;    }    else if ( Editor::shortFilename(s).section(".", -1, -1).toLower() == "ts" )    {        QProcess::startDetached (m_linguistName, QStringList(s));        QApplication::restoreOverrideCursor();        return 0;    }    // The file is perhaps already opened. Find filename in tabs.    foreach(Editor *editor, allEditors() )    {        if ( editor->filename() == s)        {		    for (int i=0; i<m_tabEditors->count(); i++)		    {		    	if( givenEditor(i)->filename() == s)		    	{            		m_tabEditors->setCurrentIndex( i );	    		}		    }            if ( numLine != -1 )            {                editor->setFocus();                editor->gotoLine( numLine, moveTop );                slotCurrentTabChanged( 0 );            }            QApplication::restoreOverrideCursor();            return editor;        }    }    // Not found in tabs, opens really.    Editor *editor = new Editor(m_tabEditors, this, m_completion ,s);    editor->setShowTreeClasses( m_showTreeClasses );    editor->setIntervalUpdatingTreeClasses( m_intervalUpdatingClasses );    editor->setFont( m_font );    editor->setSyntaxHighlight( m_cppHighlighter );    editor->setLineNumbers( m_lineNumbers );    editor->setAutoIndent( m_autoIndent );    editor->setSelectionBorder( m_selectionBorder );    editor->setEndLine( m_endLine );    editor->setTabSpaces( m_tabSpaces );    editor->setAutoCompletion( m_autoCompletion );    editor->setAutobrackets( m_autobrackets );    editor->setBackgroundColor( m_backgroundColor );    editor->setTextColor( m_textColor );    editor->setMatch( m_match );    editor->setHighlightCurrentLine( m_highlightCurrentLine );    editor->setMatchingColor( m_matchingColor );    editor->setCurrentLineColor( m_currentLineColor );    editor->setShowWhiteSpaces( m_displayWhiteSpaces );    editor->displayEditorToolbar( m_displayEditorToolbars );    editor->setSyntaxColors    (        m_formatPreprocessorText,        m_formatQtText,        m_formatSingleComments,        m_formatMultilineComments,        m_formatQuotationText,        m_formatMethods,        m_formatKeywords    );    if ( !editor->open(silentMode) )    {        delete editor;        QApplication::restoreOverrideCursor();        return 0;    }    editor->setTabStopWidth( m_tabStopWidth );    m_tabEditors->setCurrentIndex( m_tabEditors->addTab(editor, editor->shortFilename()+"   ") );    editor->setFocus();    if ( numLine != -1 )        editor->gotoLine(numLine, moveTop);    connect(editor, SIGNAL(editorModified(Editor *, bool)), this, SLOT(slotModifiedEditor( Editor *, bool)) );    connect(editor, SIGNAL(updateClasses(QString, QString)), this, SLOT(slotUpdateClasses(QString, QString)) );    connect(editor, SIGNAL(otherFileChanged()), this, SLOT(slotUpdateOtherFileActions()));    if ( m_debug )        connect(editor, SIGNAL(breakpoint(QString, bool, unsigned int, QString)), m_debug, SLOT(slotBreakpoint(QString, bool, unsigned int, QString)) );    setCurrentFile(s);    slotCurrentTabChanged( m_tabEditors->currentIndex() );    slotUpdateOtherFileActions();    QApplication::restoreOverrideCursor();    return editor;}//void MainImpl::toggleBookmark(Editor *editor, QString text, bool activate, QTextBlock block){    Bookmark bookmark;    bookmark.first = editor;    bookmark.second = block;    int line = editor->currentLineNumber( block );    if ( activate )    {        QString s = text;        if ( s.length() > 50 )            s = s.left(50)+" ...";        QAction *action = new QAction(s, menuBookmarks);        connect(action, SIGNAL(triggered()), this, SLOT(slotActivateBookmark()));        //        QAction *before = 0;        QList<QAction *> actionsList = menuBookmarks->actions();        foreach(QAction *actionBefore, actionsList)        {            Bookmark bookmarkAction = actionBefore->data().value<Bookmark>();            if ( bookmarkAction.first == editor && editor->currentLineNumber( bookmarkAction.second ) > line )            {                before = actionBefore;                break;            }        }        //        menuBookmarks->insertAction(before, action);        QVariant v;        v.setValue( bookmark );        action->setData( v );        actionActiveBookmark = action;    }    else    {        QList<QAction *> actionsList = menuBookmarks->actions();        foreach(QAction *action, actionsList)        {            Bookmark bookmarkAction = action->data().value<Bookmark>();            if ( bookmarkAction.first == editor && bookmarkAction.second == block )            {                delete action;                break;            }        }    }}//void MainImpl::slotActivateBookmark(QAction *action){    if ( action )        actionActiveBookmark = action;    else        actionActiveBookmark = (QAction *)sender();    Bookmark bookmark = actionActiveBookmark->data().value<Bookmark>();    Editor *editor = 0;    Editor *bookmarkEditor = bookmark.first;    QTextBlock block = bookmark.second;    foreach(Editor *edit, allEditors() )    {        if ( edit == bookmarkEditor )        {            editor = edit;            break;        }    }    if ( editor )    {        QString filename = editor->filename();        int line = editor->currentLineNumber( block );        openFile(QStringList(filename), line);    }}//void MainImpl::slotUpdateClasses(QString filename, QString buffer){    if ( !m_projectManager )

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -