From b3654fa5fad194714e2ae54abade7dea291a98a0 Mon Sep 17 00:00:00 2001 From: abhishekm71 Date: Thu, 6 Mar 2014 14:04:19 +0000 Subject: [PATCH] Basic Shapes: Added Delete shape (not from keyboard DEL) git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2907 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/diagram.cpp | 2 ++ sources/diagramcommands.cpp | 9 +++++++++ sources/diagramcontent.h | 2 +- sources/qetdiagrameditor.cpp | 4 +++- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/sources/diagram.cpp b/sources/diagram.cpp index 86271e404..616ed65f3 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -1277,6 +1277,8 @@ DiagramContent Diagram::selectedContent() { } } else if (DiagramImageItem *dii = qgraphicsitem_cast(item)) { dc.images << dii; + } else if (QetShapeItem *dsi = qgraphicsitem_cast(item)) { + dc.shapes << dsi; } } diff --git a/sources/diagramcommands.cpp b/sources/diagramcommands.cpp index 732d4cbc9..e7793ba36 100644 --- a/sources/diagramcommands.cpp +++ b/sources/diagramcommands.cpp @@ -260,6 +260,10 @@ void DeleteElementsCommand::undo() { foreach(DiagramImageItem *dii, removed_content.images) { diagram -> addItem(dii); } + + foreach(QetShapeItem *dsi, removed_content.shapes) { + diagram -> addItem(dsi); + } } /// refait les suppressions @@ -284,6 +288,11 @@ void DeleteElementsCommand::redo() { foreach(DiagramImageItem *dii, removed_content.images) { diagram -> removeItem(dii); } + + //enleve les shapes + foreach(QetShapeItem *dsi, removed_content.shapes) { + diagram -> removeItem(dsi); + } } /** diff --git a/sources/diagramcontent.h b/sources/diagramcontent.h index f6de8e481..4c4523454 100644 --- a/sources/diagramcontent.h +++ b/sources/diagramcontent.h @@ -50,7 +50,7 @@ class DiagramContent { AnyConductor = 56, Shapes = 64, All = 127, - SelectedOnly = 128, + SelectedOnly = 128 }; /// Hold electrical elements diff --git a/sources/qetdiagrameditor.cpp b/sources/qetdiagrameditor.cpp index 95ca29d4a..a478df4ff 100644 --- a/sources/qetdiagrameditor.cpp +++ b/sources/qetdiagrameditor.cpp @@ -1226,7 +1226,9 @@ void QETDiagramEditor::slot_updateComplexActions() { // actions need only one editable item int selected_image = dv ? dv -> diagram() -> selectedContent().count(DiagramContent::Images) : 0; - int selected_editable = selected_elements_count + (selected_texts - selected_conductor_texts) + selected_image; + + int selected_shape = dv ? dv -> diagram() -> selectedContent().count(DiagramContent::Shapes) : 0; + int selected_editable = selected_elements_count + (selected_texts - selected_conductor_texts) + selected_image + selected_shape; if (selected_editable == 1) { edit_selection -> setEnabled(true);