diff options
author | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-01 06:38:32 (GMT) |
---|---|---|
committer | clifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c> | 2009-07-01 06:38:32 (GMT) |
commit | b7ca4bfdb38b8caf153f6d93b1d3959f8ffd53ca (patch) | |
tree | 8bd985b0601f6088a744afc6df5d7d4f1b0034ac | |
parent | 03ba01bd50e10da24cf54102528715c15d959526 (diff) |
Clifford Wolf:
Added advanced edit functions
git-svn-id: http://svn.clifford.at/openscad/trunk@42 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r-- | mainwin.cc | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -351,18 +351,72 @@ void MainWindow::actionReload() void MainWindow::editIndent() { + QTextCursor cursor = editor->textCursor(); + int p1 = cursor.selectionStart(); + QString txt = cursor.selectedText(); + + txt.replace(QString(QChar(8233)), QString(QChar(8233)) + QString("\t")); + if (txt.endsWith(QString(QChar(8233)) + QString("\t"))) + txt.chop(1); + txt = QString("\t") + txt; + + cursor.insertText(txt); + int p2 = cursor.position(); + cursor.setPosition(p1, QTextCursor::MoveAnchor); + cursor.setPosition(p2, QTextCursor::KeepAnchor); + editor->setTextCursor(cursor); } void MainWindow::editUnindent() { + QTextCursor cursor = editor->textCursor(); + int p1 = cursor.selectionStart(); + QString txt = cursor.selectedText(); + + txt.replace(QString(QChar(8233)) + QString("\t"), QString(QChar(8233))); + if (txt.startsWith(QString("\t"))) + txt.remove(0, 1); + + cursor.insertText(txt); + int p2 = cursor.position(); + cursor.setPosition(p1, QTextCursor::MoveAnchor); + cursor.setPosition(p2, QTextCursor::KeepAnchor); + editor->setTextCursor(cursor); } void MainWindow::editComment() { + QTextCursor cursor = editor->textCursor(); + int p1 = cursor.selectionStart(); + QString txt = cursor.selectedText(); + + txt.replace(QString(QChar(8233)), QString(QChar(8233)) + QString("//")); + if (txt.endsWith(QString(QChar(8233)) + QString("//"))) + txt.chop(2); + txt = QString("//") + txt; + + cursor.insertText(txt); + int p2 = cursor.position(); + cursor.setPosition(p1, QTextCursor::MoveAnchor); + cursor.setPosition(p2, QTextCursor::KeepAnchor); + editor->setTextCursor(cursor); } void MainWindow::editUncomment() { + QTextCursor cursor = editor->textCursor(); + int p1 = cursor.selectionStart(); + QString txt = cursor.selectedText(); + + txt.replace(QString(QChar(8233)) + QString("//"), QString(QChar(8233))); + if (txt.startsWith(QString("//"))) + txt.remove(0, 2); + + cursor.insertText(txt); + int p2 = cursor.position(); + cursor.setPosition(p1, QTextCursor::MoveAnchor); + cursor.setPosition(p2, QTextCursor::KeepAnchor); + editor->setTextCursor(cursor); } void MainWindow::actionReloadCompile() |