Commit 2c701581 authored by Aleksei Kanash's avatar Aleksei Kanash

SANKORE-97 Delete an object with keyboard

SANKORE-477 	Erasing an object with the keyboard
parent 278fa7da
......@@ -481,9 +481,9 @@ bool UBBoardView::itemShouldReceiveSuspendedMousePressEvent(QGraphicsItem *item)
case UBGraphicsPixmapItem::Type:
case UBGraphicsTextItem::Type:
case UBGraphicsW3CWidgetItem::Type:
if (currentTool != UBStylusTool::Play && !item->isSelected() && item->parentItem())
if (currentTool == UBStylusTool::Selector && !item->isSelected() && item->parentItem())
return true;
if (currentTool != UBStylusTool::Play && !item->isSelected())
if (currentTool == UBStylusTool::Selector && item->isSelected())
return true;
break;
......@@ -580,11 +580,20 @@ void UBBoardView::handleItemMousePress(QMouseEvent *event)
if (itemShouldReceiveMousePressEvent(movingItem))
QGraphicsView::mousePressEvent (event);
else
if (itemShouldReceiveSuspendedMousePressEvent(movingItem))
{
if (movingItem)
movingItem->clearFocus();
if (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 ();
if (currentTool == UBStylusTool::Selector)
{
{
if (mWidgetMoved)
{
mWidgetMoved = false;
movingItem = NULL;
}
else
if (movingItem)
{
if (suspendedMousePressEvent && !movingItem->data(UBGraphicsItemData::ItemLocked).toBool())
{
QGraphicsView::mousePressEvent(suspendedMousePressEvent); // suspendedMousePressEvent is deleted by old Qt event loop
movingItem = NULL;
delete suspendedMousePressEvent;
suspendedMousePressEvent = NULL;
}
if (movingItem)
{
if (suspendedMousePressEvent && !movingItem->data(UBGraphicsItemData::ItemLocked).toBool())
{
QGraphicsView::mousePressEvent(suspendedMousePressEvent); // suspendedMousePressEvent is deleted by old Qt event loop
movingItem = NULL;
delete suspendedMousePressEvent;
suspendedMousePressEvent = NULL;
}
else
{
movingItem->setSelected(true);
}
}
if (mUBRubberBand && mUBRubberBand->isVisible()) {
mUBRubberBand->hide();
if (mUBRubberBand && mUBRubberBand->isVisible()) {
mUBRubberBand->hide();
}
QGraphicsView::mouseReleaseEvent (event);
}
}
else if (currentTool == UBStylusTool::Play)
{
if (mWidgetMoved)
......
......@@ -43,6 +43,7 @@
#include "board/UBBoardController.h"
#include "board/UBDrawingController.h"
#include "board/UBBoardView.h"
#include "UBGraphicsItemUndoCommand.h"
#include "UBGraphicsTextItemUndoCommand.h"
......@@ -1453,6 +1454,8 @@ void UBGraphicsScene::addGraphicsWidget(UBGraphicsWidgetItem* graphicsWidget, co
{
UBApplication::boardController->moveGraphicsWidgetToControlView(graphicsWidget);
}
UBApplication::boardController->controlView()->setFocus();
}
UBGraphicsW3CWidgetItem* UBGraphicsScene::addOEmbed(const QUrl& pContentUrl, const QPointF& pPos)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment