viewertexteditor: show ibeam cursor on text region
This commit is contained in:
@@ -744,7 +744,7 @@ void ViewerDisplayWidget::OpenTextGizmo(TextGizmo *text, QMouseEvent *event)
|
||||
|
||||
// Allow widget to take keyboard focus
|
||||
inner_widget()->setFocusPolicy(Qt::StrongFocus);
|
||||
inner_widget()->setFocus();
|
||||
inner_widget()->setMouseTracking(true);
|
||||
|
||||
connect(qApp, &QApplication::focusChanged, this, &ViewerDisplayWidget::FocusChanged);
|
||||
|
||||
@@ -824,6 +824,15 @@ bool ViewerDisplayWidget::OnMouseMove(QMouseEvent *event)
|
||||
|
||||
} else if (text_edit_) {
|
||||
|
||||
if (event->buttons() == Qt::NoButton) {
|
||||
QPointF mapped = text_transform_inverted_.map(event->pos()) - text_edit_pos_;
|
||||
if (mapped.x() >= 0 && mapped.y() >= 0 && mapped.x() < text_edit_->width() && mapped.y() < text_edit_->height()) {
|
||||
setCursor(Qt::IBeamCursor);
|
||||
} else {
|
||||
unsetCursor();
|
||||
}
|
||||
}
|
||||
|
||||
return ForwardMouseEventToTextEdit(event);
|
||||
|
||||
} else if (add_band_) {
|
||||
@@ -1242,7 +1251,7 @@ void ViewerDisplayWidget::TextEditDestroyed()
|
||||
emit gizmo->Deactivated();
|
||||
text_edit_ = nullptr;
|
||||
text_toolbar_ = nullptr;
|
||||
inner_widget()->releaseKeyboard();
|
||||
inner_widget()->setMouseTracking(false);
|
||||
inner_widget()->setFocusPolicy(Qt::NoFocus);
|
||||
disconnect(qApp, &QApplication::focusChanged, this, &ViewerDisplayWidget::FocusChanged);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user