mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-17 20:50:34 +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 DiagramContent::count(int filter) const {
|
||||||
int count = 0;
|
int count = 0;
|
||||||
if (filter == SelectedOnly) {
|
if (filter & SelectedOnly) {
|
||||||
if (filter == Elements) foreach(Element *element, elements) { if (element -> isSelected()) ++ count; }
|
if (filter & Elements) foreach(Element *element, elements) { if (element -> isSelected()) ++ count; }
|
||||||
if (filter == TextFields) foreach(DiagramTextItem *dti, textFields) { if (dti -> 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 & Images) foreach(DiagramImageItem *dii, images) { if (dii -> isSelected()) ++ count; }
|
||||||
if (filter == ConductorsToMove) foreach(Conductor *conductor, conductorsToMove) { if (conductor -> 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 & ConductorsToUpdate) foreach(Conductor *conductor, conductorsToUpdate) { if (conductor -> isSelected()) ++ count; }
|
||||||
if (filter == OtherConductors) foreach(Conductor *conductor, otherConductors) { if (conductor -> isSelected()) ++ count; }
|
if (filter & OtherConductors) foreach(Conductor *conductor, otherConductors) { if (conductor -> isSelected()) ++ count; }
|
||||||
} else if (filter == All) {
|
}
|
||||||
count += elements.count();
|
else {
|
||||||
count += textFields.count();
|
|
||||||
count += images.count();
|
|
||||||
count += conductorsToMove.count();
|
|
||||||
count += conductorsToUpdate.count();
|
|
||||||
count += otherConductors.count();
|
|
||||||
} else {
|
|
||||||
if (filter & Elements) count += elements.count();
|
if (filter & Elements) count += elements.count();
|
||||||
if (filter & TextFields) count += textFields.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 & ConductorsToMove) count += conductorsToMove.count();
|
||||||
if (filter & ConductorsToUpdate) count += conductorsToUpdate.count();
|
if (filter & ConductorsToUpdate) count += conductorsToUpdate.count();
|
||||||
if (filter & OtherConductors) count += otherConductors.count();
|
if (filter & OtherConductors) count += otherConductors.count();
|
||||||
|
|||||||
@@ -41,13 +41,13 @@ class DiagramContent {
|
|||||||
enum Filter {
|
enum Filter {
|
||||||
Elements = 1,
|
Elements = 1,
|
||||||
TextFields = 2,
|
TextFields = 2,
|
||||||
Images = 3,
|
Images = 4,
|
||||||
ConductorsToMove = 4,
|
ConductorsToMove = 8,
|
||||||
ConductorsToUpdate = 8,
|
ConductorsToUpdate = 16,
|
||||||
OtherConductors = 16,
|
OtherConductors = 32,
|
||||||
AnyConductor = 28,
|
AnyConductor = 56,
|
||||||
All = 31,
|
All = 63,
|
||||||
SelectedOnly = 32
|
SelectedOnly = 64
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Hold electrical elements
|
/// Hold electrical elements
|
||||||
|
|||||||
@@ -1533,7 +1533,7 @@ void QETDiagramEditor::slot_addImage() {
|
|||||||
void QETDiagramEditor::slot_editSelection() {
|
void QETDiagramEditor::slot_editSelection() {
|
||||||
if (DiagramView *dv = currentDiagram()) {
|
if (DiagramView *dv = currentDiagram()) {
|
||||||
DiagramContent dc = dv -> diagram() -> selectedContent();
|
DiagramContent dc = dv -> diagram() -> selectedContent();
|
||||||
if (dc.count() != 1) return;
|
if (dc.count(DiagramContent::SelectedOnly | DiagramContent::All) != 1) return;
|
||||||
|
|
||||||
if (dc.count(DiagramContent::Elements)) {
|
if (dc.count(DiagramContent::Elements)) {
|
||||||
findSelectedElementInPanel();
|
findSelectedElementInPanel();
|
||||||
|
|||||||
Reference in New Issue
Block a user