summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-04-03 03:05:05 (GMT)
committerkintel <kintel@b57f626f-c46c-0410-a088-ec61d464b74c>2010-04-03 03:05:05 (GMT)
commit1fb93c298546a28c4653007ff4a74ab703f73e46 (patch)
treee7ea6e0c4a6ffe3fc49d62c1c67e45ef174cc617
parent419e8900fcb274f99606fe9cbeb4298e957c3efc (diff)
Replaced main text editor with a qcodeedit widget
git-svn-id: http://svn.clifford.at/openscad/trunk@500 b57f626f-c46c-0410-a088-ec61d464b74c
-rw-r--r--src/editor.cc73
-rw-r--r--src/editor.h7
2 files changed, 80 insertions, 0 deletions
diff --git a/src/editor.cc b/src/editor.cc
new file mode 100644
index 0000000..4482558
--- /dev/null
+++ b/src/editor.cc
@@ -0,0 +1,73 @@
+#include "editor.h"
+
+#ifndef _QCODE_EDIT_
+void Editor::indentSelection()
+{
+ QTextCursor cursor = 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);
+ setTextCursor(cursor);
+}
+
+void Editor::unindentSelection()
+{
+ QTextCursor cursor = 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);
+ setTextCursor(cursor);
+}
+
+void Editor::commentSelection()
+{
+ QTextCursor cursor = 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);
+ setTextCursor(cursor);
+}
+
+void Editor::uncommentSelection()
+{
+ QTextCursor cursor = 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);
+ setTextCursor(cursor);
+}
+#endif
diff --git a/src/editor.h b/src/editor.h
new file mode 100644
index 0000000..c9450ce
--- /dev/null
+++ b/src/editor.h
@@ -0,0 +1,7 @@
+#ifdef _QCODE_EDIT_
+#include <qeditor.h>
+#define EDITOR QEditor
+#else
+#include <QTextEditor>
+#define EDITOR QTextEditor
+#endif
contact: Jan Huwald // Impressum