summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-07-01 06:38:32 (GMT)
committerclifford <clifford@b57f626f-c46c-0410-a088-ec61d464b74c>2009-07-01 06:38:32 (GMT)
commitb7ca4bfdb38b8caf153f6d93b1d3959f8ffd53ca (patch)
tree8bd985b0601f6088a744afc6df5d7d4f1b0034ac
parent03ba01bd50e10da24cf54102528715c15d959526 (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.cc54
1 files changed, 54 insertions, 0 deletions
diff --git a/mainwin.cc b/mainwin.cc
index 61da379..79012c7 100644
--- a/mainwin.cc
+++ b/mainwin.cc
@@ -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()
contact: Jan Huwald // Impressum