Merge remote-tracking branch 'origin/master' into claudio-dev

preferencesAboutTextFull
Claudio Valerio 12 years ago
commit 593814d1cc
  1. 14
      src/board/UBBoardController.cpp
  2. 1
      src/board/UBBoardController.h
  3. 16
      src/domain/UBGraphicsScene.cpp

@ -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);

@ -844,14 +844,18 @@ void UBGraphicsScene::eraseLineTo(const QPointF &pEndPoint, const qreal &pWidth)
// UBGraphicsPolygonItems and added to the scene // UBGraphicsPolygonItems and added to the scene
foreach(const QPolygonF &pol, croppedPathSimplified.toFillPolygons()) foreach(const QPolygonF &pol, croppedPathSimplified.toFillPolygons())
{ {
UBGraphicsPolygonItem* croppedPolygonItem = collidingPolygonItem->deepCopy(pol); UBGraphicsPolygonItem* croppedPolygonItem;
#pragma omp critical #pragma omp critical
if(NULL != pGroup){ {
croppedPolygonItem->setStrokesGroup(pGroup); croppedPolygonItem = collidingPolygonItem->deepCopy(pol);
//pGroup->addToGroup(croppedPolygonItem);
if(NULL != pGroup){
croppedPolygonItem->setStrokesGroup(pGroup);
//pGroup->addToGroup(croppedPolygonItem);
}
// Add this new polygon to the 'added' list
toBeAddedItems << croppedPolygonItem;
} }
// Add this new polygon to the 'added' list
toBeAddedItems << croppedPolygonItem;
} }
#pragma omp critical #pragma omp critical
// Remove the original polygonitem because it has been replaced by many smaller polygons // Remove the original polygonitem because it has been replaced by many smaller polygons

Loading…
Cancel
Save