mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 12:40:35 +01:00
bug fix, diagramContent: fix the bug about & and ==
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2558 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -100,24 +100,18 @@ QList<QGraphicsItem *> DiagramContent::items(int filter) const {
|
||||
*/
|
||||
int DiagramContent::count(int filter) const {
|
||||
int count = 0;
|
||||
if (filter == SelectedOnly) {
|
||||
if (filter == Elements) foreach(Element *element, elements) { if (element -> isSelected()) ++ count; }
|
||||
if (filter == TextFields) foreach(DiagramTextItem *dti, textFields) { if (dti -> isSelected()) ++ count; }
|
||||
if (filter == Images) foreach(DiagramImageItem *dii, images) { if (dii -> isSelected()) ++ count; }
|
||||
if (filter == ConductorsToMove) foreach(Conductor *conductor, conductorsToMove) { if (conductor -> isSelected()) ++ count; }
|
||||
if (filter == ConductorsToUpdate) foreach(Conductor *conductor, conductorsToUpdate) { if (conductor -> isSelected()) ++ count; }
|
||||
if (filter == OtherConductors) foreach(Conductor *conductor, otherConductors) { if (conductor -> isSelected()) ++ count; }
|
||||
} else if (filter == All) {
|
||||
count += elements.count();
|
||||
count += textFields.count();
|
||||
count += images.count();
|
||||
count += conductorsToMove.count();
|
||||
count += conductorsToUpdate.count();
|
||||
count += otherConductors.count();
|
||||
} else {
|
||||
if (filter & SelectedOnly) {
|
||||
if (filter & Elements) foreach(Element *element, elements) { if (element -> isSelected()) ++ count; }
|
||||
if (filter & TextFields) foreach(DiagramTextItem *dti, textFields) { if (dti -> isSelected()) ++ count; }
|
||||
if (filter & Images) foreach(DiagramImageItem *dii, images) { if (dii -> isSelected()) ++ count; }
|
||||
if (filter & ConductorsToMove) foreach(Conductor *conductor, conductorsToMove) { if (conductor -> isSelected()) ++ count; }
|
||||
if (filter & ConductorsToUpdate) foreach(Conductor *conductor, conductorsToUpdate) { if (conductor -> isSelected()) ++ count; }
|
||||
if (filter & OtherConductors) foreach(Conductor *conductor, otherConductors) { if (conductor -> isSelected()) ++ count; }
|
||||
}
|
||||
else {
|
||||
if (filter & Elements) count += elements.count();
|
||||
if (filter & TextFields) count += textFields.count();
|
||||
if (filter == Images) count += images.count();
|
||||
if (filter & Images) count += images.count();
|
||||
if (filter & ConductorsToMove) count += conductorsToMove.count();
|
||||
if (filter & ConductorsToUpdate) count += conductorsToUpdate.count();
|
||||
if (filter & OtherConductors) count += otherConductors.count();
|
||||
|
||||
@@ -41,13 +41,13 @@ class DiagramContent {
|
||||
enum Filter {
|
||||
Elements = 1,
|
||||
TextFields = 2,
|
||||
Images = 3,
|
||||
ConductorsToMove = 4,
|
||||
ConductorsToUpdate = 8,
|
||||
OtherConductors = 16,
|
||||
AnyConductor = 28,
|
||||
All = 31,
|
||||
SelectedOnly = 32
|
||||
Images = 4,
|
||||
ConductorsToMove = 8,
|
||||
ConductorsToUpdate = 16,
|
||||
OtherConductors = 32,
|
||||
AnyConductor = 56,
|
||||
All = 63,
|
||||
SelectedOnly = 64
|
||||
};
|
||||
|
||||
/// Hold electrical elements
|
||||
|
||||
@@ -1533,7 +1533,7 @@ void QETDiagramEditor::slot_addImage() {
|
||||
void QETDiagramEditor::slot_editSelection() {
|
||||
if (DiagramView *dv = currentDiagram()) {
|
||||
DiagramContent dc = dv -> diagram() -> selectedContent();
|
||||
if (dc.count() != 1) return;
|
||||
if (dc.count(DiagramContent::SelectedOnly | DiagramContent::All) != 1) return;
|
||||
|
||||
if (dc.count(DiagramContent::Elements)) {
|
||||
findSelectedElementInPanel();
|
||||
|
||||
Reference in New Issue
Block a user