viewertexteditor: show ibeam cursor on text region

This commit is contained in:
itsmattkc
2022-08-24 13:27:05 -07:00
parent 25ff7e48fe
commit a0f11472ac
+11 -2
View File
@@ -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);
}