QCodeEdit now show links on Ctrl only without selection

This commit is contained in:
2021-11-15 14:15:16 +03:00
parent 5f1616b050
commit af300fe3f9

View File

@@ -26,6 +26,7 @@ class _QCE_Viewport: public QWidget {
public: public:
_QCE_Viewport(QWidget * p = 0): QWidget(p) { _QCE_Viewport(QWidget * p = 0): QWidget(p) {
setObjectName("__qcodeedit_viewport__"); setObjectName("__qcodeedit_viewport__");
setMouseTracking(true);
//setCursor(Qt::IBeamCursor); //setCursor(Qt::IBeamCursor);
} }
@@ -468,13 +469,16 @@ bool QCodeEdit::eventFilter(QObject * o, QEvent * e) {
hideHelp(); hideHelp();
QMouseEvent * me = (QMouseEvent*)e; QMouseEvent * me = (QMouseEvent*)e;
if (me->modifiers().testFlag(Qt::ControlModifier) && (me->button() == Qt::LeftButton)) if (me->modifiers().testFlag(Qt::ControlModifier) && (me->button() == Qt::LeftButton))
if (!hasBlockSelection() && !ui->textCode->textCursor().hasSelection())
gotoLink(); gotoLink();
} break; } break;
case QEvent::MouseMove: { case QEvent::MouseMove: {
if (!completer->isHidden()) break; if (!completer->isHidden()) break;
QMouseEvent * me = (QMouseEvent*)e; QMouseEvent * me = (QMouseEvent*)e;
if (me->buttons() != 0)
switchBlockSelection(); switchBlockSelection();
if (me->modifiers().testFlag(Qt::ControlModifier)) if (me->modifiers().testFlag(Qt::ControlModifier))
if (!hasBlockSelection() && !ui->textCode->textCursor().hasSelection())
showLink(); showLink();
} break; } break;
case QEvent::Paint: case QEvent::Paint:
@@ -697,6 +701,7 @@ bool QCodeEdit::codeKeyEvent(QKeyEvent * ke) {
} }
break; break;
case Qt::Key_Control: case Qt::Key_Control:
if (!hasBlockSelection() && !ui->textCode->textCursor().hasSelection())
showLink(); showLink();
break; break;
case Qt::Key_F1: case Qt::Key_F1: