Desormais, tous les menus en rapport avec un schema se desactivent lorsqu'il n'y a plus aucun schema ouvert.

Correction sur la fermeture des schemas.


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@117 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet
2007-09-08 19:40:27 +00:00
parent b044ee009c
commit a1cd40ded0
2 changed files with 17 additions and 8 deletions

View File

@@ -370,8 +370,11 @@ void DiagramView::closeEvent(QCloseEvent *event) {
case QMessageBox::Yes: retour = enregistrer(); break; // l'utilisateur dit oui : la reussite depend de l'enregistrement case QMessageBox::Yes: retour = enregistrer(); break; // l'utilisateur dit oui : la reussite depend de l'enregistrement
default: retour = true; // l'utilisateur dit non ou ferme le dialogue: c'est reussi default: retour = true; // l'utilisateur dit non ou ferme le dialogue: c'est reussi
} }
if (retour) event -> accept(); if (retour) {
else event -> ignore(); event -> accept();
delete this;
} else event -> ignore();
} }
/** /**

View File

@@ -613,12 +613,7 @@ bool QETApp::ouvrir() {
bool QETApp::fermer() { bool QETApp::fermer() {
DiagramView *sv = diagramEnCours(); DiagramView *sv = diagramEnCours();
if (!sv) return(false); if (!sv) return(false);
bool fermeture_diagram = sv -> close(); return(sv -> close());
if (fermeture_diagram) {
delete sv;
slot_updateMenuFenetres();
}
return(fermeture_diagram);
} }
/** /**
@@ -748,6 +743,10 @@ void QETApp::slot_updateActions() {
zoom_adapte -> setEnabled(document_ouvert); zoom_adapte -> setEnabled(document_ouvert);
zoom_reset -> setEnabled(document_ouvert); zoom_reset -> setEnabled(document_ouvert);
infos_diagram -> setEnabled(document_ouvert); infos_diagram -> setEnabled(document_ouvert);
add_column -> setEnabled(document_ouvert);
remove_column -> setEnabled(document_ouvert);
expand_diagram -> setEnabled(document_ouvert);
shrink_diagram -> setEnabled(document_ouvert);
// actions ayant aussi besoin d'un historique des actions // actions ayant aussi besoin d'un historique des actions
annuler -> setEnabled(document_ouvert); annuler -> setEnabled(document_ouvert);
@@ -837,6 +836,13 @@ void QETApp::slot_updateMenuFenetres() {
// liste des fenetres // liste des fenetres
QList<QWidget *> fenetres = workspace.windowList(); QList<QWidget *> fenetres = workspace.windowList();
f_mosaique -> setEnabled(!fenetres.isEmpty());
f_cascade -> setEnabled(!fenetres.isEmpty());
f_reorganise -> setEnabled(!fenetres.isEmpty());
f_suiv -> setEnabled(!fenetres.isEmpty());
f_prec -> setEnabled(!fenetres.isEmpty());
if (!fenetres.isEmpty()) menu_fenetres -> addSeparator(); if (!fenetres.isEmpty()) menu_fenetres -> addSeparator();
for (int i = 0 ; i < fenetres.size() ; ++ i) { for (int i = 0 ; i < fenetres.size() ; ++ i) {
DiagramView *sv = qobject_cast<DiagramView *>(fenetres.at(i)); DiagramView *sv = qobject_cast<DiagramView *>(fenetres.at(i));