Fix itemAt transforms

This commit is contained in:
ArsenArsen 2017-06-29 14:37:08 +02:00
parent 6de909f998
commit c983e4eb2a
2 changed files with 3 additions and 2 deletions

View File

@ -128,7 +128,7 @@ void CropScene::mouseMoveEvent(QGraphicsSceneMouseEvent *e) {
auto buttons = e->buttons();
if (e->modifiers() & Qt::ControlModifier && buttons == Qt::LeftButton) {
QTransform stupidThing = views()[0]->transform();
auto item = itemAt(e->screenPos(), stupidThing);
auto item = itemAt(e->scenePos(), stupidThing);
if (item && item != polyItem && item != rect && item->zValue() != -1) {
QPointF delta = e->scenePos() - e->lastScenePos();
item->moveBy(delta.x(), delta.y());
@ -194,7 +194,7 @@ void CropScene::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
void CropScene::mousePressEvent(QGraphicsSceneMouseEvent *e) {
if (e->modifiers() & Qt::AltModifier) {
QTransform stupidThing = views()[0]->transform();
auto item = itemAt(e->screenPos(), stupidThing);
auto item = itemAt(e->scenePos(), stupidThing);
if (item && item != polyItem && item != rect && item->zValue() != -1) {
removeItem(item);
}

View File

@ -8,6 +8,7 @@ CropView::CropView(QGraphicsScene *scene) : QGraphicsView(scene) {
setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
setCursor(QCursor(Qt::CrossCursor));
setMouseTracking(true);
setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
}
void CropView::keyPressEvent(QKeyEvent *e) {