improve the copy/paste of DiagramImageItem

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2476 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
blacksun
2013-09-02 12:30:28 +00:00
parent e91ee7b171
commit 282faadf05

View File

@@ -252,7 +252,7 @@ PasteDiagramCommand::PasteDiagramCommand(
QUndoCommand(parent), QUndoCommand(parent),
content(c), content(c),
diagram(dia), diagram(dia),
filter(DiagramContent::Elements|DiagramContent::TextFields|DiagramContent::ConductorsToMove), filter(DiagramContent::Elements|DiagramContent::TextFields|DiagramContent::Images|DiagramContent::ConductorsToMove),
first_redo(true) first_redo(true)
{ {
@@ -274,32 +274,39 @@ PasteDiagramCommand::~PasteDiagramCommand() {
/// annule le coller /// annule le coller
void PasteDiagramCommand::undo() { void PasteDiagramCommand::undo() {
// enleve les conducteurs // remove the conductors
foreach(Conductor *c, content.conductorsToMove) diagram -> removeConductor(c); foreach(Conductor *c, content.conductorsToMove) diagram -> removeConductor(c);
// enleve les elements // remove the elements
foreach(Element *e, content.elements) diagram -> removeElement(e); foreach(Element *e, content.elements) diagram -> removeElement(e);
// enleve les textes // remove the texts
foreach(IndependentTextItem *t, content.textFields) diagram -> removeIndependentTextItem(t); foreach(IndependentTextItem *t, content.textFields) diagram -> removeIndependentTextItem(t);
// remove the images
foreach(DiagramImageItem *dii, content.images) diagram -> removeItem(dii);
} }
/// refait le coller /// refait le coller
void PasteDiagramCommand::redo() { void PasteDiagramCommand::redo() {
if (first_redo) first_redo = false; if (first_redo) first_redo = false;
else { else {
// pose les elements // paste the elements
foreach(Element *e, content.elements) diagram -> addElement(e); foreach(Element *e, content.elements) diagram -> addElement(e);
// pose les conducteurs // paste the conductors
foreach(Conductor *c, content.conductorsToMove) diagram -> addConductor(c); foreach(Conductor *c, content.conductorsToMove) diagram -> addConductor(c);
// pose les textes // paste the texts
foreach(IndependentTextItem *t, content.textFields) diagram -> addIndependentTextItem(t); foreach(IndependentTextItem *t, content.textFields) diagram -> addIndependentTextItem(t);
// paste the images
foreach(DiagramImageItem *dii, content.images) diagram -> addDiagramImageItem(dii);
} }
foreach(Element *e, content.elements) e -> setSelected(true); foreach(Element *e, content.elements) e -> setSelected(true);
foreach(Conductor *c, content.conductorsToMove) c -> setSelected(true); foreach(Conductor *c, content.conductorsToMove) c -> setSelected(true);
foreach(IndependentTextItem *t, content.textFields) t -> setSelected(true); foreach(IndependentTextItem *t, content.textFields) t -> setSelected(true);
foreach(DiagramImageItem *dii, content.images) dii -> setSelected(true);
} }
/** /**