void GLSLIndenter::indent(QTextDocument *doc, const QTextCursor &cursor, const QChar &typedChar, const TextEditor::TabSettings &tabSettings) { if (cursor.hasSelection()) { QTextBlock block = doc->findBlock(cursor.selectionStart()); const QTextBlock end = doc->findBlock(cursor.selectionEnd()).next(); // TODO: do something with it CppTools::QtStyleCodeFormatter codeFormatter(tabSettings, CppTools::CppToolsSettings::instance()->cppCodeStyle()->codeStyleSettings()); codeFormatter.updateStateUntil(block); QTextCursor tc = cursor; tc.beginEditBlock(); do { int indent; int padding; codeFormatter.indentFor(block, &indent, &padding); tabSettings.indentLine(block, indent + padding, padding); codeFormatter.updateLineStateChange(block); block = block.next(); } while (block.isValid() && block != end); tc.endEditBlock(); } else { indentBlock(doc, cursor.block(), typedChar, tabSettings); } }
void FormText::clearFormat() { QTextCursor c = textCursor(); if( c.hasSelection() ) { QTextCharFormat fmt = c.charFormat(); fmt.setFontUnderline( false ); fmt.setFontItalic( false ); fmt.setFontWeight( QFont::Normal ); fmt.setFontPointSize( 10 ); textCursor().setCharFormat( fmt ); } else { QFont f = font(); f.setUnderline( false ); f.setItalic( false ); f.setWeight( QFont::Normal ); f.setPointSize( 10.0 ); setFont( f ); } QRectF r = boundingRect(); r.moveTo( pos() ); d->m_proxy->setRect( r ); }
void Notepad::showNotepadContextMenu(const QPoint &pt) { // Set Notepad popup menu QMenu *menu = ui->notepadTextEdit->createStandardContextMenu(); QTextCursor cur = ui->notepadTextEdit->textCursor(); QAction* first = menu->actions().at(0); if (cur.hasSelection()) { // Get selected text //this->main->add_debug_output("Selected text: " + cur.selectedText()); this->addr = cur.selectedText(); } else { // Get word under the cursor cur.select( QTextCursor::WordUnderCursor); //this->main->add_debug_output("Word: " + cur.selectedText()); this->addr = cur.selectedText(); } ui->actionDisassmble_bytes->setText( "Disassemble bytes at: " + this->addr); ui->actionDisassmble_function->setText( "Disassemble function at: " + this->addr); ui->actionHexdump_bytes->setText( "Hexdump bytes at: " + this->addr); ui->actionCompact_Hexdump->setText( "Compact Hexdump at: " + this->addr); ui->actionHexdump_function->setText( "Hexdump function at: " + this->addr); menu->insertAction(first, ui->actionDisassmble_bytes); menu->insertAction(first, ui->actionDisassmble_function); menu->insertAction(first, ui->actionHexdump_bytes); menu->insertAction(first, ui->actionCompact_Hexdump); menu->insertAction(first, ui->actionHexdump_function); menu->insertSeparator(first); ui->notepadTextEdit->setContextMenuPolicy(Qt::DefaultContextMenu); menu->exec(ui->notepadTextEdit->mapToGlobal(pt)); delete menu; ui->notepadTextEdit->setContextMenuPolicy(Qt::CustomContextMenu); }
void DocumentHandler::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); }
void FormText::underline( bool on ) { QTextCursor c = textCursor(); if( c.hasSelection() ) { if( c.position() != c.selectionEnd() ) c.setPosition( c.selectionEnd() ); QTextCharFormat fmt = c.charFormat(); fmt.setFontUnderline( on ); textCursor().setCharFormat( fmt ); } else { QFont f = font(); f.setUnderline( on ); setFont( f ); } QRectF r = boundingRect(); r.moveTo( pos() ); d->m_proxy->setRect( r ); }
void ItemText::highlight(const QRegExp &re, const QFont &highlightFont, const QPalette &highlightPalette) { QList<QTextBrowser::ExtraSelection> selections; if ( !re.isEmpty() ) { QTextBrowser::ExtraSelection selection; selection.format.setBackground( highlightPalette.base() ); selection.format.setForeground( highlightPalette.text() ); selection.format.setFont(highlightFont); QTextCursor cur = m_textDocument.find(re); int a = cur.position(); while ( !cur.isNull() ) { if ( cur.hasSelection() ) { selection.cursor = cur; selections.append(selection); } else { cur.movePosition(QTextCursor::NextCharacter); } cur = m_textDocument.find(re, cur); int b = cur.position(); if (a == b) { cur.movePosition(QTextCursor::NextCharacter); cur = m_textDocument.find(re, cur); b = cur.position(); if (a == b) break; } a = b; } } setExtraSelections(selections); update(); }
void BrailleMusicEditor::mergeFormatOnWordOrSelection( const QTextCharFormat &format) { QTextCursor cursor = textEdit->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); textEdit->mergeCurrentCharFormat(format); }
void Indenter::reindent(QTextDocument *doc, const QTextCursor &cursor, const TextEditor::TabSettings &tabSettings) { if (cursor.hasSelection()) { QTextBlock block = doc->findBlock(cursor.selectionStart()); const QTextBlock end = doc->findBlock(cursor.selectionEnd()).next(); // skip empty blocks while (block.isValid() && block != end) { QString bt = block.text(); if (tabSettings.firstNonSpace(bt) < bt.size()) break; indentBlock(doc, block, QChar::Null, tabSettings); block = block.next(); } int previousIndentation = tabSettings.indentationColumn(block.text()); indentBlock(doc, block, QChar::Null, tabSettings); int currentIndentation = tabSettings.indentationColumn(block.text()); int delta = currentIndentation - previousIndentation; block = block.next(); while (block.isValid() && block != end) { tabSettings.reindentLine(block, delta); block = block.next(); } } else { indentBlock(doc, cursor.block(), QChar::Null, tabSettings); } }
void FLogTextBrowser::append(const QString & text) { QTextCursor cur = textCursor(); if (cur.hasSelection()) { int oldPosition = cur.position(); int oldAnchor = cur.anchor(); int vpos = verticalScrollBar()->value(); int vmax = verticalScrollBar()->maximum(); QTextBrowser::append(text); cur.setPosition(oldAnchor, QTextCursor::MoveAnchor); cur.setPosition(oldPosition, QTextCursor::KeepAnchor); setTextCursor(cur); if (vpos != vmax) { verticalScrollBar()->setValue(vpos); } else { vmax = verticalScrollBar()->maximum(); verticalScrollBar()->setValue(vmax); } } else { QTextBrowser::append(text); } }
int GenericCodeEditor::findAll( const QRegExp &expr, QTextDocument::FindFlags options ) { mSearchSelections.clear(); if(expr.isEmpty()) { this->updateExtraSelections(); return 0; } QTextEdit::ExtraSelection selection; selection.format = mSearchResultTextFormat; QTextDocument *doc = QPlainTextEdit::document(); QTextBlock block = doc->begin(); QTextCursor cursor; while (block.isValid()) { int blockPos = block.position(); int offset = 0; while(findInBlock(doc, block, expr, offset, options, cursor)) { offset = cursor.selectionEnd() - blockPos; if (cursor.hasSelection()) { selection.cursor = cursor; mSearchSelections.append(selection); } else offset += 1; } block = block.next(); } this->updateExtraSelections(); return mSearchSelections.count(); }
void TerminalEdit::cursorPositionChanged() { QTextCursor cur = this->textCursor(); int pos = cur.position(); if (cur.hasSelection()) { pos = cur.selectionStart(); m_copy->setEnabled(true); if (pos < m_endPostion) { m_cut->setEnabled(false); } else { m_cut->setEnabled(!this->isReadOnly()); } } else { m_copy->setEnabled(false); m_cut->setEnabled(false); } if (pos < m_endPostion) { m_paste->setEnabled(false); } else { QClipboard *clipboard = QApplication::clipboard(); if (clipboard->mimeData()->hasText() || clipboard->mimeData()->hasHtml()){ m_paste->setEnabled(true); } else { m_paste->setEnabled(false); } } }
//格式设置 void MyChild::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = this->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); this->mergeCurrentCharFormat(format); }
void MainWindow::cutSelection() { QTextCursor cursor = editor->textCursor(); if (cursor.hasSelection()) { selection = cursor.selection(); cursor.removeSelectedText(); } }
void CreateBlogMsg::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = ui.msgEdit->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); ui.msgEdit->mergeCurrentCharFormat(format); }
void ChatWindow::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = ui.textBrowser->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); ui.textBrowser->mergeCurrentCharFormat(format); }
void MLEdit::deleteLineBackwards() { QTextCursor cr = textCursor(); cr.movePosition(QTextCursor::StartOfBlock, QTextCursor::KeepAnchor); if (!cr.hasSelection()) cr.movePosition(QTextCursor::PreviousCharacter, QTextCursor::KeepAnchor); cr.removeSelectedText(); }
void MainWindow::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = activeEditor()->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); activeEditor()->mergeCurrentCharFormat(format); }
void FindAndReplace::on_tButtonReplace_clicked() { QTextCursor textCursor = d_editor->textCursor(); if ( textCursor.hasSelection() ) textCursor.insertText( ui->replaceEdit->text() ); find(); }
/*! Creates a QTextDocumentFragment from the \a{cursor}'s selection. If the cursor doesn't have a selection, the created fragment is empty. \sa isEmpty() QTextCursor::selection() */ QTextDocumentFragment::QTextDocumentFragment(const QTextCursor &cursor) : d(0) { if (!cursor.hasSelection()) return; d = new QTextDocumentFragmentPrivate(cursor); }
void MailEditorMainWindow::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = ui->messageEdit->textCursor(); if(cursor.hasSelection() == false) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); ui->messageEdit->mergeCurrentCharFormat(format); }
void tab(QTextCursor &cursor, qompose::core::IndentationMode mode, std::size_t width) { if(!cursor.hasSelection()) cursor.insertText(getIndentationString(mode, width)); else increaseSelectionIndent(cursor, mode, width); }
// 设置光标的选区,使格式作用于选区内的字符,若没有选区则作用于光标所在处的字符 void FontSet::mergeFormat(QTextCharFormat format) { QTextCursor cursor = text->textCursor(); if (!cursor.hasSelection()) cursor.select(QTextCursor::WordUnderCursor); cursor.mergeCharFormat(format); text->mergeCurrentCharFormat(format); }
void MainWindow::copySelection() { QTextCursor cursor = editor->textCursor(); if (cursor.hasSelection()) { selection = cursor.selection(); cursor.clearSelection(); } }
void SimpleRichTextEdit::deleteText() { QTextCursor cursor = textCursor(); if(cursor.hasSelection()) cursor.removeSelectedText(); else cursor.deleteChar(); }
void ScCodeEditor::toggleComment() { QTextCursor cursor = textCursor(); if (cursor.hasSelection()) toggleCommentSelection(); else toggleCommentSingleLine(); }
void GraphicTextDialog::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { QTextCursor cursor = textEdit->textCursor(); if(!cursor.hasSelection()) { cursor.select(QTextCursor::WordUnderCursor); } cursor.mergeCharFormat(format); textEdit->mergeCurrentCharFormat(format); }
void PQTextEditor::mergeFormatOnWordOrSelection(const QTextCharFormat& format) { QTextCursor cursor = mEditor->textCursor(); if (!cursor.hasSelection()) { cursor.select(QTextCursor::WordUnderCursor); } cursor.mergeCharFormat(format); mEditor->mergeCurrentCharFormat(format); }
void DoxygenGenerator::assignCommentOffset(QTextCursor cursor) { if (cursor.hasSelection()) { if (cursor.anchor() < cursor.position()) cursor.setPosition(cursor.anchor()); } m_commentOffset = cursor.positionInBlock(); }
static QChar charFromCursor(QTextCursor cursor, QTextCursor::MoveOperation op) { cursor.clearSelection(); if (!cursor.movePosition(op, QTextCursor::KeepAnchor)) return QChar(); if (!cursor.hasSelection()) return QChar(); return cursor.selectedText().at(0); }
void TikzEditorView::editFind() { m_goToLineWidget->setVisible(false); m_replaceWidget->setVisible(true); m_replaceWidget->setFocus(); const QTextCursor textCursor = m_tikzEditor->textCursor(); if (textCursor.hasSelection()) m_replaceWidget->setText(textCursor.selectedText()); }