fix some quirks in screen overlays
This commit is contained in:
parent
9ccc7d2533
commit
85d57fcc70
@ -241,12 +241,11 @@ void CropScene::mouseMoved(QGraphicsSceneMouseEvent *e, QPointF cursorPos, QPoin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
updatePoly();
|
updatePoly();
|
||||||
e->accept();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
prevButtons = buttons;
|
prevButtons = buttons;
|
||||||
|
|
||||||
QGraphicsScene::mouseMoveEvent(e);
|
setMagVisibility(!proxyMenu->sceneBoundingRect().contains(cursorPos));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CropScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
|
void CropScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
|
||||||
@ -258,7 +257,7 @@ void CropScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
|
|||||||
done(true);
|
done(true);
|
||||||
prevButtons = Qt::NoButton;
|
prevButtons = Qt::NoButton;
|
||||||
|
|
||||||
if (!(e->modifiers() & Qt::ControlModifier)) QGraphicsScene::mouseReleaseEvent(e);
|
if (e->modifiers() & Qt::ControlModifier) e->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CropScene::mousePressEvent(QGraphicsSceneMouseEvent *e) {
|
void CropScene::mousePressEvent(QGraphicsSceneMouseEvent *e) {
|
||||||
@ -267,7 +266,7 @@ void CropScene::mousePressEvent(QGraphicsSceneMouseEvent *e) {
|
|||||||
if (item && item != proxyMenu) removeItem(item);
|
if (item && item != proxyMenu) removeItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(e->modifiers() & Qt::ControlModifier)) QGraphicsScene::mousePressEvent(e);
|
if (e->modifiers() & Qt::ControlModifier) e->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CropScene::addDrawingAction(QMenuBar *menu, QString name, QString icon, std::function<DrawItem *()> item) {
|
void CropScene::addDrawingAction(QMenuBar *menu, QString name, QString icon, std::function<DrawItem *()> item) {
|
||||||
@ -286,7 +285,7 @@ void CropScene::keyReleaseEvent(QKeyEvent *event) {
|
|||||||
settings::settings().setValue("crophint", enabled);
|
settings::settings().setValue("crophint", enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(event->modifiers() & Qt::ControlModifier)) QGraphicsScene::keyReleaseEvent(event);
|
if (event->modifiers() & Qt::ControlModifier) event->accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,7 +69,6 @@ void ScreenOverlay::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
|
|||||||
QCursor::setPos(views()[0]->mapToGlobal(cursorPos().toPoint()));
|
QCursor::setPos(views()[0]->mapToGlobal(cursorPos().toPoint()));
|
||||||
} else
|
} else
|
||||||
setCursorPos(e->scenePos());
|
setCursorPos(e->scenePos());
|
||||||
cursorItem->setPos(cursorPos());
|
|
||||||
updateMag();
|
updateMag();
|
||||||
mouseMoved(e, cursorPos(), delta);
|
mouseMoved(e, cursorPos(), delta);
|
||||||
}
|
}
|
||||||
@ -87,11 +86,21 @@ void ScreenOverlay::moveMouseBy(QPoint delta) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ScreenOverlay::hideMag() {
|
void ScreenOverlay::hideMag() {
|
||||||
magnifier->setVisible(false);
|
setMagVisibility(false);
|
||||||
cursorItem->setVisible(false);
|
}
|
||||||
magnifierBox->setVisible(false);
|
|
||||||
magnifierHint->setVisible(false);
|
void ScreenOverlay::setMagVisibility(bool visible) {
|
||||||
magnifierHintBox->setVisible(false);
|
magnifier->setVisible(visible);
|
||||||
|
cursorItem->setVisible(visible);
|
||||||
|
magnifierBox->setVisible(visible);
|
||||||
|
magnifierHint->setVisible(visible);
|
||||||
|
magnifierHintBox->setVisible(visible);
|
||||||
|
for (auto *view : views())
|
||||||
|
view->setCursor(visible ? Qt::BlankCursor : Qt::ArrowCursor);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScreenOverlay::showMag() {
|
||||||
|
setMagVisibility(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenOverlay::updateMagnifierGrid() {
|
void ScreenOverlay::updateMagnifierGrid() {
|
||||||
@ -147,6 +156,7 @@ void ScreenOverlay::updateMag() {
|
|||||||
if (bottomRight.y() > sceneRect().bottom())
|
if (bottomRight.y() > sceneRect().bottom())
|
||||||
magnifierPos -= QPointF(0, 130 + magnifierHintBox->boundingRect().height());
|
magnifierPos -= QPointF(0, 130 + magnifierHintBox->boundingRect().height());
|
||||||
magnifier->setPos(magnifierPos);
|
magnifier->setPos(magnifierPos);
|
||||||
|
cursorItem->setPos(cursorPos());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenOverlay::setHighlight(QColor highlight) {
|
void ScreenOverlay::setHighlight(QColor highlight) {
|
||||||
|
@ -33,6 +33,8 @@ public slots:
|
|||||||
void loadSettings();
|
void loadSettings();
|
||||||
void updateMag();
|
void updateMag();
|
||||||
void hideMag();
|
void hideMag();
|
||||||
|
void showMag();
|
||||||
|
void setMagVisibility(bool visible);
|
||||||
void moveMouse(QPoint newPoint);
|
void moveMouse(QPoint newPoint);
|
||||||
void moveMouseBy(QPoint delta);
|
void moveMouseBy(QPoint delta);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user