+ if (item != NULL) {
+ m_sceneClickPoint = e->scenePos();
+ m_selectedItem = item;
+ kDebug() << "///////// ITEM TYPE: " << item->type();
+ if (item->type() == 8) {
+ QGraphicsTextItem *t = static_cast<QGraphicsTextItem *>(item);
+ if (t->textInteractionFlags() == Qt::TextEditorInteraction) {
+ QGraphicsScene::mousePressEvent(e);
+ return;
+ }
+ t->setTextInteractionFlags(Qt::NoTextInteraction);
+ setCursor(Qt::ClosedHandCursor);
+ } else if (item->type() == 3 || item->type() == 13 || item->type() == 7) {
+ QRectF r;
+ if (m_selectedItem->type() == 3) {
+ r = ((QGraphicsRectItem*)m_selectedItem)->rect();
+ } else r = m_selectedItem->boundingRect();
+
+ r.translate(item->scenePos());
+ if ((r.toRect().topLeft() - e->scenePos().toPoint()).manhattanLength() < 6 / zoom) {
+ resizeMode = TopLeft;
+ } else if ((r.toRect().bottomLeft() - e->scenePos().toPoint()).manhattanLength() < 6 / zoom) {
+ resizeMode = BottomLeft;
+ } else if ((r.toRect().topRight() - e->scenePos().toPoint()).manhattanLength() < 6 / zoom) {
+ resizeMode = TopRight;
+ } else if ((r.toRect().bottomRight() - e->scenePos().toPoint()).manhattanLength() < 6 / zoom) {
+ resizeMode = BottomRight;
+ } else if (qAbs(r.toRect().left() - e->scenePos().toPoint().x()) < 3 / zoom) {
+ resizeMode = Left;
+ } else if (qAbs(r.toRect().right() - e->scenePos().toPoint().x()) < 3 / zoom) {
+ resizeMode = Right;
+ } else if (qAbs(r.toRect().top() - e->scenePos().toPoint().y()) < 3 / zoom) {
+ resizeMode = Up;
+ } else if (qAbs(r.toRect().bottom() - e->scenePos().toPoint().y()) < 3 / zoom) {
+ resizeMode = Down;
+ } else setCursor(Qt::ClosedHandCursor);
+ }
+ }
+ QGraphicsScene::mousePressEvent(e);
+ } else if (m_tool == TITLE_RECTANGLE) {
+ m_sceneClickPoint = e->scenePos();
+ m_selectedItem = NULL;
+ } else if (m_tool == TITLE_TEXT) {
+ m_selectedItem = addText(QString());
+ emit newText((QGraphicsTextItem *) m_selectedItem);
+ m_selectedItem->setFlags(QGraphicsItem::ItemIsMovable | QGraphicsItem::ItemIsSelectable);
+ ((QGraphicsTextItem *)m_selectedItem)->setTextInteractionFlags(Qt::TextEditorInteraction);
+ m_selectedItem->setPos(e->scenePos());
+ QGraphicsScene::mousePressEvent(e);