void MainWindow::openFile() { QString fileName = QFileDialog::getOpenFileName(this); if (!fileName.isEmpty()) { QsciScintilla * editor = new QsciScintilla(); editor->setPaper(QColor(1,81,107)); editor->setMarginLineNumbers(1,true); editor->setAutoIndent(true); editor->setLexer(new QsciLexerPython()); editor->setFolding(QsciScintilla::PlainFoldStyle); editor->setAutoCompletionThreshold(2); editor->setAutoCompletionSource(QsciScintilla::AcsAll); ui->tabWidget->addTab(editor, QIcon(), fileName); QFile file(fileName); if (!file.open(QFile::ReadOnly)) { QMessageBox::warning(this, tr("Application"), tr("Cannot read file %1:\n%2.") .arg(fileName) .arg(file.errorString())); return; } QTextStream in(&file); QApplication::setOverrideCursor(Qt::WaitCursor); editor->setText(in.readAll()); QApplication::restoreOverrideCursor(); //setCurrentFile(fileName); //statusBar()->showMessage(tr("File loaded"), 2000); } }
void MainWindow::newFile() { QsciScintilla * editor = new QsciScintilla(); editor->setPaper(QColor(1,81,107)); editor->setMarginLineNumbers(1,true); editor->setAutoIndent(true); editor->setLexer(new QsciLexerPython()); editor->setFolding(QsciScintilla::PlainFoldStyle); editor->setAutoCompletionThreshold(2); editor->setAutoCompletionSource(QsciScintilla::AcsAll); ui->tabWidget->addTab(editor, QIcon(), QString("New file")); }
void SciDoc::applySettings() { // LOGGER; setShowLineNumbers(EditorSettings::get(EditorSettings::ShowLineNumbers)); QFont font = EditorSettings::font(); LexerStorage::instance()->updateLexers(font); QColor textColor = EditorSettings::get(EditorSettings::DefaultFontColor); QColor bgColor = EditorSettings::get(EditorSettings::DefaultBgColor); QsciScintilla* edits[] = { int_->edit1_, int_->edit2_, NULL }; for (int i = 0; edits[i] != NULL; ++i ) { QsciScintilla* edit = edits[i]; // indents //edit->setTabWidth(EditorSettings::get(EditorSettings::TabWidth)); //edit->setIndentationsUseTabs(EditorSettings::get(EditorSettings::UseTabs)); edit->setBackspaceUnindents(EditorSettings::get(EditorSettings::BackspaceUnindents)); // colors edit->setIndentationGuides(QSciSettings::get(QSciSettings::ShowIndents)); edit->setIndentationGuidesForegroundColor(QSciSettings::get(QSciSettings::IndentsColor)); edit->setIndentationGuidesBackgroundColor(bgColor); QColor selBgColor = EditorSettings::get(EditorSettings::SelectionBgColor); edit->setSelectionBackgroundColor(selBgColor); if ( selBgColor.red() + selBgColor.green() + selBgColor.blue() < 3 * 255 / 2) edit->setSelectionForegroundColor(QColor(255, 255, 255)); else edit->setSelectionForegroundColor(QColor(0, 0, 0)); if ( QSciSettings::get(QSciSettings::HighlightMatchingBrace) ) { edit->setMatchedBraceBackgroundColor(QSciSettings::get(QSciSettings::MatchingBraceBgColor)); edit->setMatchedBraceForegroundColor(QSciSettings::get(QSciSettings::MatchingBraceFgColor)); } else { edit->setMatchedBraceBackgroundColor(bgColor); edit->setMatchedBraceForegroundColor(textColor); } edit->setCaretLineBackgroundColor(LexerStorage::instance()->curLineColor(syntax())); edit->setMarkerBackgroundColor(QSciSettings::get(QSciSettings::MarkersColor)); edit->setCaretForegroundColor(textColor); QColor marginsBgColor = QSciSettings::get(QSciSettings::MarginsBgColor); edit->setMarginsBackgroundColor(marginsBgColor); edit->setMarginsForegroundColor(textColor); edit->setFoldMarginColors(marginsBgColor, bgColor); // markers edit->markerDefine(markerPixmap(QSciSettings::get(QSciSettings::MarkersColor), marginsBgColor), -1); edit->setCaretLineVisible(QSciSettings::get(QSciSettings::HighlightCurLine)); // line length indicator int lInd = EditorSettings::get(EditorSettings::LineLengthIndicator); if ( lInd > 0 ) { edit->setEdgeMode(QsciScintilla::EdgeLine); edit->setEdgeColumn(lInd); } else { edit->setEdgeMode(QsciScintilla::EdgeNone); } edit->SendScintilla(QsciScintillaBase::SCI_SETWHITESPACEFORE, 1, QSciSettings::get(QSciSettings::WhiteSpaceColor)); // selection /* QColor selBgColor = TextDocSettings::selectionBgColor(); edit->setSelectionBackgroundColor(selBgColor); if ( selBgColor.red() + selBgColor.green() + selBgColor.blue() < 3 * 255 / 2) edit->setSelectionForegroundColor(QColor(255, 255, 255)); else edit->setSelectionForegroundColor(QColor(0, 0, 0)); */ // autocompletion edit->setAutoCompletionThreshold(AutocompleteSettings::get(AutocompleteSettings::Threshold)); edit->setAutoCompletionReplaceWord(AutocompleteSettings::get(AutocompleteSettings::ReplaceWord)); // edit->setAutoCompletionCaseSensitivity(AutocompleteSettings::get(AutocompleteSettings::CaseSensitive)); if ( AutocompleteSettings::get(AutocompleteSettings::UseDocument) ) { if ( AutocompleteSettings::get(AutocompleteSettings::UseApis) ) edit->setAutoCompletionSource(QsciScintilla::AcsAll); else edit->setAutoCompletionSource(QsciScintilla::AcsDocument); } else { if ( AutocompleteSettings::get(AutocompleteSettings::UseApis) ) edit->setAutoCompletionSource(QsciScintilla::AcsAPIs); else edit->setAutoCompletionSource(QsciScintilla::AcsNone); } edit->setAutoCompletionCaseSensitivity(false); } }