Fixed the stroke issue in feature 862

preferencesAboutTextFull
shibakaneki 12 years ago
parent c8a914c1e6
commit ec7f0b295e
  1. 14
      src/board/UBBoardController.cpp
  2. 1
      src/board/UBBoardController.h

@ -54,6 +54,8 @@
#include "domain/UBGraphicsGroupContainerItem.h" #include "domain/UBGraphicsGroupContainerItem.h"
#include "domain/UBItem.h" #include "domain/UBItem.h"
#include "board/UBFeaturesController.h" #include "board/UBFeaturesController.h"
#include "domain/UBGraphicsStrokesGroup.h"
#include "gui/UBFeaturesWidget.h" #include "gui/UBFeaturesWidget.h"
#include "tools/UBToolsManager.h" #include "tools/UBToolsManager.h"
@ -536,6 +538,8 @@ void UBBoardController::duplicateItem(UBItem *item)
if (!item) if (!item)
return; return;
mLastCreatedItem = NULL;
QUrl sourceUrl; QUrl sourceUrl;
QByteArray pData; QByteArray pData;
@ -612,9 +616,8 @@ void UBBoardController::duplicateItem(UBItem *item)
UBItem* pItem = dynamic_cast<UBItem*>(pIt); UBItem* pItem = dynamic_cast<UBItem*>(pIt);
if(NULL != pItem){ if(NULL != pItem){
duplicateItem(pItem); // The duplication already copies the item parameters duplicateItem(pItem); // The duplication already copies the item parameters
QGraphicsItem* pDuplicatedItem = dynamic_cast<QGraphicsItem*>((mActiveScene->children().last())); if(NULL != mLastCreatedItem){
if(NULL != pDuplicatedItem){ mLastCreatedItem->setSelected(true);
pDuplicatedItem->setSelected(true);
} }
} }
} }
@ -630,8 +633,10 @@ void UBBoardController::duplicateItem(UBItem *item)
QGraphicsItem *gitem = dynamic_cast<QGraphicsItem*>(item->deepCopy()); QGraphicsItem *gitem = dynamic_cast<QGraphicsItem*>(item->deepCopy());
if (gitem) if (gitem)
{ {
qDebug() << "Adding a stroke: " << gitem;
mActiveScene->addItem(gitem); mActiveScene->addItem(gitem);
gitem->setPos(itemPos); gitem->setPos(itemPos);
mLastCreatedItem = gitem;
} }
return; return;
}break; }break;
@ -646,7 +651,8 @@ void UBBoardController::duplicateItem(UBItem *item)
QGraphicsItem *createdGitem = dynamic_cast<QGraphicsItem*>(createdItem); QGraphicsItem *createdGitem = dynamic_cast<QGraphicsItem*>(createdItem);
if (createdGitem) if (createdGitem)
createdGitem->setPos(itemPos); createdGitem->setPos(itemPos);
} mLastCreatedItem = dynamic_cast<QGraphicsItem*>(createdItem);
}
} }
void UBBoardController::deleteScene(int nIndex) void UBBoardController::deleteScene(int nIndex)

@ -279,6 +279,7 @@ class UBBoardController : public UBDocumentContainer
bool mCleanupDone; bool mCleanupDone;
QMap<QAction*, QPair<QString, QString> > mActionTexts; QMap<QAction*, QPair<QString, QString> > mActionTexts;
bool mCacheWidgetIsEnabled; bool mCacheWidgetIsEnabled;
QGraphicsItem* mLastCreatedItem;
private slots: private slots:
void stylusToolDoubleClicked(int tool); void stylusToolDoubleClicked(int tool);

Loading…
Cancel
Save