SANKORE-97 Delete an object with keyboard

SANKORE-477 	Erasing an object with the keyboard
preferencesAboutTextFull
Aleksei Kanash 12 years ago
parent 278fa7da07
commit 2c70158153
  1. 45
      src/board/UBBoardView.cpp
  2. 3
      src/domain/UBGraphicsScene.cpp

@ -481,9 +481,9 @@ bool UBBoardView::itemShouldReceiveSuspendedMousePressEvent(QGraphicsItem *item)
case UBGraphicsPixmapItem::Type: case UBGraphicsPixmapItem::Type:
case UBGraphicsTextItem::Type: case UBGraphicsTextItem::Type:
case UBGraphicsW3CWidgetItem::Type: case UBGraphicsW3CWidgetItem::Type:
if (currentTool != UBStylusTool::Play && !item->isSelected() && item->parentItem()) if (currentTool == UBStylusTool::Selector && !item->isSelected() && item->parentItem())
return true; return true;
if (currentTool != UBStylusTool::Play && !item->isSelected()) if (currentTool == UBStylusTool::Selector && item->isSelected())
return true; return true;
break; break;
@ -580,11 +580,20 @@ void UBBoardView::handleItemMousePress(QMouseEvent *event)
if (itemShouldReceiveMousePressEvent(movingItem)) if (itemShouldReceiveMousePressEvent(movingItem))
QGraphicsView::mousePressEvent (event); QGraphicsView::mousePressEvent (event);
else else
if (itemShouldReceiveSuspendedMousePressEvent(movingItem))
{ {
if (movingItem)
movingItem->clearFocus();
if (suspendedMousePressEvent) if (suspendedMousePressEvent)
{
delete suspendedMousePressEvent; delete suspendedMousePressEvent;
suspendedMousePressEvent = new QMouseEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers()); suspendedMousePressEvent = NULL;
}
if (itemShouldReceiveSuspendedMousePressEvent(movingItem))
{
suspendedMousePressEvent = new QMouseEvent(event->type(), event->pos(), event->button(), event->buttons(), event->modifiers());
}
} }
} }
@ -917,30 +926,34 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
scene ()->inputDeviceRelease (); scene ()->inputDeviceRelease ();
if (currentTool == UBStylusTool::Selector) if (currentTool == UBStylusTool::Selector)
{ {
if (mWidgetMoved) if (mWidgetMoved)
{ {
mWidgetMoved = false; mWidgetMoved = false;
movingItem = NULL; movingItem = NULL;
} }
else else
if (movingItem) if (movingItem)
{
if (suspendedMousePressEvent && !movingItem->data(UBGraphicsItemData::ItemLocked).toBool())
{ {
if (suspendedMousePressEvent && !movingItem->data(UBGraphicsItemData::ItemLocked).toBool()) QGraphicsView::mousePressEvent(suspendedMousePressEvent); // suspendedMousePressEvent is deleted by old Qt event loop
{ movingItem = NULL;
QGraphicsView::mousePressEvent(suspendedMousePressEvent); // suspendedMousePressEvent is deleted by old Qt event loop delete suspendedMousePressEvent;
movingItem = NULL; suspendedMousePressEvent = NULL;
delete suspendedMousePressEvent;
suspendedMousePressEvent = NULL;
}
} }
else
{
movingItem->setSelected(true);
}
}
if (mUBRubberBand && mUBRubberBand->isVisible()) { if (mUBRubberBand && mUBRubberBand->isVisible()) {
mUBRubberBand->hide(); mUBRubberBand->hide();
} }
QGraphicsView::mouseReleaseEvent (event); QGraphicsView::mouseReleaseEvent (event);
} }
else if (currentTool == UBStylusTool::Play) else if (currentTool == UBStylusTool::Play)
{ {
if (mWidgetMoved) if (mWidgetMoved)

@ -43,6 +43,7 @@
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "board/UBDrawingController.h" #include "board/UBDrawingController.h"
#include "board/UBBoardView.h"
#include "UBGraphicsItemUndoCommand.h" #include "UBGraphicsItemUndoCommand.h"
#include "UBGraphicsTextItemUndoCommand.h" #include "UBGraphicsTextItemUndoCommand.h"
@ -1453,6 +1454,8 @@ void UBGraphicsScene::addGraphicsWidget(UBGraphicsWidgetItem* graphicsWidget, co
{ {
UBApplication::boardController->moveGraphicsWidgetToControlView(graphicsWidget); UBApplication::boardController->moveGraphicsWidgetToControlView(graphicsWidget);
} }
UBApplication::boardController->controlView()->setFocus();
} }
UBGraphicsW3CWidgetItem* UBGraphicsScene::addOEmbed(const QUrl& pContentUrl, const QPointF& pPos) UBGraphicsW3CWidgetItem* UBGraphicsScene::addOEmbed(const QUrl& pContentUrl, const QPointF& pPos)

Loading…
Cancel
Save