mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-21 08:40: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() {
|
||||
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.
|
||||
*/
|
||||
|
||||
@@ -61,6 +61,8 @@ class DiagramView : public QGraphicsView {
|
||||
Diagram *diagram() { return(scene); }
|
||||
QETDiagramEditor *diagramEditor() const;
|
||||
bool hasSelectedItems();
|
||||
bool hasCopiableItems();
|
||||
bool hasDeletableItems();
|
||||
void addText();
|
||||
IndependentTextItem *addDiagramTextAtPos(const QPointF &);
|
||||
|
||||
|
||||
@@ -1152,12 +1152,13 @@ void QETDiagramEditor::slot_updateComplexActions() {
|
||||
conductor_reset -> setEnabled(editable_diagram && selected_conductors_count);
|
||||
|
||||
// actions ayant aussi besoin d'items (elements, conducteurs, textes, ...) selectionnes
|
||||
bool selected_items = dv ? (dv -> hasSelectedItems()) : false;
|
||||
cut -> setEnabled(editable_diagram && selected_items);
|
||||
copy -> setEnabled(selected_items);
|
||||
delete_selection -> setEnabled(editable_diagram && selected_items);
|
||||
rotate_selection -> setEnabled(editable_diagram && selected_items && dv -> diagram() -> canRotateSelection());
|
||||
selection_prop -> setEnabled(editable_diagram && selected_items);
|
||||
bool copiable_items = dv ? (dv -> hasCopiableItems()) : false;
|
||||
bool deletable_items = dv ? (dv -> hasDeletableItems()) : false;
|
||||
cut -> setEnabled(editable_diagram && copiable_items);
|
||||
copy -> setEnabled(copiable_items);
|
||||
delete_selection -> setEnabled(editable_diagram && deletable_items);
|
||||
rotate_selection -> setEnabled(editable_diagram && dv -> diagram() -> canRotateSelection());
|
||||
selection_prop -> setEnabled(deletable_items);
|
||||
|
||||
// actions ayant besoin de textes selectionnes
|
||||
bool selected_texts = dv ? (dv -> diagram() -> selectedTexts().count()) : 0;
|
||||
|
||||
Reference in New Issue
Block a user