mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 00:30:53 +01:00
Correction : certaines actions du menu Edition etaient activees dans des cas ou elles n'avaient pas de sens.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@968 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -457,12 +457,45 @@ void DiagramView::editDiagramProperties() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@return true s'il y a des elements selectionnes sur le schema, false sinon
|
@return true s'il y a des items selectionnes sur le schema, false sinon
|
||||||
*/
|
*/
|
||||||
bool DiagramView::hasSelectedItems() {
|
bool DiagramView::hasSelectedItems() {
|
||||||
return(scene -> selectedItems().size() > 0);
|
return(scene -> selectedItems().size() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return true s'il y a des items selectionnes sur le schema et que ceux-ci
|
||||||
|
peuvent etre copies dans le presse-papier, false sinon
|
||||||
|
*/
|
||||||
|
bool DiagramView::hasCopiableItems() {
|
||||||
|
foreach(QGraphicsItem *qgi, scene -> selectedItems()) {
|
||||||
|
if (
|
||||||
|
qgraphicsitem_cast<Element *>(qgi) ||
|
||||||
|
qgraphicsitem_cast<IndependentTextItem *>(qgi)
|
||||||
|
) {
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
@return true s'il y a des items selectionnes sur le schema et que ceux-ci
|
||||||
|
peuvent etre supprimes, false sinon
|
||||||
|
*/
|
||||||
|
bool DiagramView::hasDeletableItems() {
|
||||||
|
foreach(QGraphicsItem *qgi, scene -> selectedItems()) {
|
||||||
|
if (
|
||||||
|
qgraphicsitem_cast<Element *>(qgi) ||
|
||||||
|
qgraphicsitem_cast<Conductor *>(qgi) ||
|
||||||
|
qgraphicsitem_cast<IndependentTextItem *>(qgi)
|
||||||
|
) {
|
||||||
|
return(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return(false);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Ajoute une colonne au schema.
|
Ajoute une colonne au schema.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -61,6 +61,8 @@ class DiagramView : public QGraphicsView {
|
|||||||
Diagram *diagram() { return(scene); }
|
Diagram *diagram() { return(scene); }
|
||||||
QETDiagramEditor *diagramEditor() const;
|
QETDiagramEditor *diagramEditor() const;
|
||||||
bool hasSelectedItems();
|
bool hasSelectedItems();
|
||||||
|
bool hasCopiableItems();
|
||||||
|
bool hasDeletableItems();
|
||||||
void addText();
|
void addText();
|
||||||
IndependentTextItem *addDiagramTextAtPos(const QPointF &);
|
IndependentTextItem *addDiagramTextAtPos(const QPointF &);
|
||||||
|
|
||||||
|
|||||||
@@ -1152,16 +1152,17 @@ void QETDiagramEditor::slot_updateComplexActions() {
|
|||||||
conductor_reset -> setEnabled(editable_diagram && selected_conductors_count);
|
conductor_reset -> setEnabled(editable_diagram && selected_conductors_count);
|
||||||
|
|
||||||
// actions ayant aussi besoin d'items (elements, conducteurs, textes, ...) selectionnes
|
// actions ayant aussi besoin d'items (elements, conducteurs, textes, ...) selectionnes
|
||||||
bool selected_items = dv ? (dv -> hasSelectedItems()) : false;
|
bool copiable_items = dv ? (dv -> hasCopiableItems()) : false;
|
||||||
cut -> setEnabled(editable_diagram && selected_items);
|
bool deletable_items = dv ? (dv -> hasDeletableItems()) : false;
|
||||||
copy -> setEnabled(selected_items);
|
cut -> setEnabled(editable_diagram && copiable_items);
|
||||||
delete_selection -> setEnabled(editable_diagram && selected_items);
|
copy -> setEnabled(copiable_items);
|
||||||
rotate_selection -> setEnabled(editable_diagram && selected_items && dv -> diagram() -> canRotateSelection());
|
delete_selection -> setEnabled(editable_diagram && deletable_items);
|
||||||
selection_prop -> setEnabled(editable_diagram && selected_items);
|
rotate_selection -> setEnabled(editable_diagram && dv -> diagram() -> canRotateSelection());
|
||||||
|
selection_prop -> setEnabled(deletable_items);
|
||||||
|
|
||||||
// actions ayant besoin de textes selectionnes
|
// actions ayant besoin de textes selectionnes
|
||||||
bool selected_texts = dv ? (dv -> diagram() -> selectedTexts().count()) : 0;
|
bool selected_texts = dv ? (dv -> diagram() -> selectedTexts().count()) : 0;
|
||||||
rotate_texts -> setEnabled(editable_diagram && selected_texts);
|
rotate_texts -> setEnabled(editable_diagram && selected_texts);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user