L'action "Pivoter" est desormais desactivee si aucun element selectionne n'est pivotable.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@701 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier 2009-06-16 22:37:15 +00:00
parent e25ac381aa
commit da410cb37a
3 changed files with 19 additions and 1 deletions

View File

@ -1024,3 +1024,20 @@ DiagramContent Diagram::selectedContent() {
invalidateMovedElements();
return(dc);
}
/**
@return true s'il est possible de tourner les elements selectionnes.
Concretement, cette methode retourne true s'il y a des elements selectionnes
et qu'au moins l'un d'entre eux peut etre pivote.
*/
bool Diagram::canRotateSelection() const {
foreach(QGraphicsItem * qgi, selectedItems()) {
if (Element *e = qgraphicsitem_cast<Element *>(qgi)) {
// l'element est-il pivotable ?
if (e -> orientation().current() != e -> orientation().next()) {
return(true);
}
}
}
return(false);
}

View File

@ -155,6 +155,7 @@ class Diagram : public QGraphicsScene {
QSet<Conductor *> selectedConductors() const;
DiagramContent content() const;
DiagramContent selectedContent();
bool canRotateSelection() const;
void moveElements(const QPointF &, QGraphicsItem * = 0);
bool usesElement(const ElementsLocation &);

View File

@ -1147,7 +1147,7 @@ void QETDiagramEditor::slot_updateComplexActions() {
cut -> setEnabled(editable_diagram && selected_elements);
copy -> setEnabled(selected_elements);
delete_selection -> setEnabled(editable_diagram && selected_elements);
rotate_selection -> setEnabled(editable_diagram && selected_elements);
rotate_selection -> setEnabled(editable_diagram && selected_elements && dv -> diagram() -> canRotateSelection());
selection_prop -> setEnabled(editable_diagram && selected_elements);
}