git-svn-id: svn://db.shs.com.ru/libs@445 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -70,24 +70,30 @@ QCodeEdit::QCodeEdit(QWidget * parent): QWidget(parent) {
|
|||||||
ui->textLines->viewport()->setCursor(Qt::ArrowCursor);
|
ui->textLines->viewport()->setCursor(Qt::ArrowCursor);
|
||||||
ui->textLines->setFixedWidth(ui->textLines->fontMetrics().width(" "));
|
ui->textLines->setFixedWidth(ui->textLines->fontMetrics().width(" "));
|
||||||
|
|
||||||
QAction * a = new QAction(this);
|
QAction * a = new QAction(this); ui->textCode->addAction(a);
|
||||||
a->setShortcut(QKeySequence("Shift+Tab"));
|
a->setShortcut(QKeySequence("Shift+Tab"));
|
||||||
a->setShortcutContext(Qt::WidgetShortcut);
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
connect(a, SIGNAL(triggered()), this, SLOT(deindent()));
|
connect(a, SIGNAL(triggered()), this, SLOT(deindent()));
|
||||||
ui->textCode->addAction(a);
|
a = new QAction(this); ui->textCode->addAction(a);
|
||||||
a = new QAction(this);
|
|
||||||
a->setShortcut(QKeySequence("Ctrl+D"));
|
a->setShortcut(QKeySequence("Ctrl+D"));
|
||||||
a->setShortcutContext(Qt::WidgetShortcut);
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
connect(a, SIGNAL(triggered()), this, SLOT(deleteLine()));
|
connect(a, SIGNAL(triggered()), this, SLOT(deleteLine()));
|
||||||
a = new QAction(this);
|
a = new QAction(this); ui->textCode->addAction(a);
|
||||||
a->setShortcut(QKeySequence("Ctrl+Return"));
|
a->setShortcut(QKeySequence("Ctrl+Return"));
|
||||||
a->setShortcutContext(Qt::WidgetShortcut);
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
connect(a, SIGNAL(triggered()), this, SLOT(newLine()));
|
connect(a, SIGNAL(triggered()), this, SLOT(newLine()));
|
||||||
a = new QAction(this);
|
a = new QAction(this); ui->textCode->addAction(a);
|
||||||
|
a->setShortcut(QKeySequence("Ctrl+Up"));
|
||||||
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
|
connect(a, SIGNAL(triggered()), this, SLOT(scrollUp()));
|
||||||
|
a = new QAction(this); ui->textCode->addAction(a);
|
||||||
|
a->setShortcut(QKeySequence("Ctrl+Down"));
|
||||||
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
|
connect(a, SIGNAL(triggered()), this, SLOT(scrollDown()));
|
||||||
|
a = new QAction(this); ui->textCode->addAction(a);
|
||||||
a->setShortcut(QKeySequence("Ctrl+Shift+Return"));
|
a->setShortcut(QKeySequence("Ctrl+Shift+Return"));
|
||||||
a->setShortcutContext(Qt::WidgetShortcut);
|
a->setShortcutContext(Qt::WidgetShortcut);
|
||||||
connect(a, SIGNAL(triggered()), this, SLOT(newLineBefore()));
|
connect(a, SIGNAL(triggered()), this, SLOT(newLineBefore()));
|
||||||
ui->textCode->addAction(a);
|
|
||||||
ui->frame->setFocusProxy(ui->textCode);
|
ui->frame->setFocusProxy(ui->textCode);
|
||||||
QTextOption to = ui->textLines->document()->defaultTextOption();
|
QTextOption to = ui->textLines->document()->defaultTextOption();
|
||||||
to.setAlignment(Qt::AlignTop | Qt::AlignRight);
|
to.setAlignment(Qt::AlignTop | Qt::AlignRight);
|
||||||
@@ -675,6 +681,16 @@ void QCodeEdit::syncScrolls() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void QCodeEdit::scrollUp() {
|
||||||
|
ui->textCode->verticalScrollBar()->setValue(ui->textCode->verticalScrollBar()->value() - 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void QCodeEdit::scrollDown() {
|
||||||
|
ui->textCode->verticalScrollBar()->setValue(ui->textCode->verticalScrollBar()->value() + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void QCodeEdit::deleteLine() {
|
void QCodeEdit::deleteLine() {
|
||||||
QTextCursor tc = ui->textCode->textCursor();
|
QTextCursor tc = ui->textCode->textCursor();
|
||||||
tc.movePosition(QTextCursor::EndOfLine);
|
tc.movePosition(QTextCursor::EndOfLine);
|
||||||
@@ -925,12 +941,21 @@ void QCodeEdit::scrollToTop() {
|
|||||||
|
|
||||||
|
|
||||||
void QCodeEdit::newLine() {
|
void QCodeEdit::newLine() {
|
||||||
/// TODO
|
QTextCursor tc = ui->textCode->textCursor();
|
||||||
|
tc.movePosition(QTextCursor::EndOfLine);
|
||||||
|
tc.insertText("\n");
|
||||||
|
ui->textCode->setTextCursor(tc);
|
||||||
|
QMetaObject::invokeMethod(this, "autoIndent", Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void QCodeEdit::newLineBefore() {
|
void QCodeEdit::newLineBefore() {
|
||||||
/// TODO
|
QTextCursor tc = ui->textCode->textCursor();
|
||||||
|
tc.movePosition(QTextCursor::StartOfLine);
|
||||||
|
tc.insertText("\n");
|
||||||
|
tc.movePosition(QTextCursor::Up);
|
||||||
|
ui->textCode->setTextCursor(tc);
|
||||||
|
QMetaObject::invokeMethod(this, "autoIndent", Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,8 @@ private:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void syncScrolls();
|
void syncScrolls();
|
||||||
|
void scrollUp();
|
||||||
|
void scrollDown();
|
||||||
void hideHelp();
|
void hideHelp();
|
||||||
void deleteLine();
|
void deleteLine();
|
||||||
void copyLineUp();
|
void copyLineUp();
|
||||||
|
|||||||
Reference in New Issue
Block a user