From 2822c7c51ffc83c51b68126136de6b918fa09895 Mon Sep 17 00:00:00 2001 From: scorpio810 Date: Thu, 13 Jun 2013 11:36:19 +0000 Subject: [PATCH] qetelementeditor check element if it seem to be out of the element border and set all actions save to disable. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2261 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/qetelementeditor.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/sources/editor/qetelementeditor.cpp b/sources/editor/qetelementeditor.cpp index 2c8fe06c2..a16145622 100644 --- a/sources/editor/qetelementeditor.cpp +++ b/sources/editor/qetelementeditor.cpp @@ -452,7 +452,6 @@ void QETElementEditor::slot_updateMenus() { save -> setEnabled(!read_only && !ce_scene -> undoStack().isClean() && ce_scene -> borderContainsEveryParts()); save_as -> setEnabled(ce_scene -> borderContainsEveryParts()); save_as_file -> setEnabled(ce_scene -> borderContainsEveryParts()); - if (!ce_scene -> borderContainsEveryParts()) checkElement(); undo -> setEnabled(!read_only && ce_scene -> undoStack().canUndo()); redo -> setEnabled(!read_only && ce_scene -> undoStack().canRedo()); } @@ -980,7 +979,11 @@ void QETElementEditor::slot_reload() { bool QETElementEditor::slot_save() { // verification avant d'enregistrer le fichier checkElement(); - + // Avertissement #1 : si les parties semblent deborder du cadre de l'element + if (!ce_scene -> borderContainsEveryParts()) { + tr("Dimensions de l'\351l\351ment", "warning title"); + return(false); + } // si on ne connait pas le nom du fichier en cours, enregistrer revient a enregistrer sous if (opened_from_file) { if (filename_.isEmpty()) return(slot_saveAsFile()); @@ -1001,6 +1004,12 @@ bool QETElementEditor::slot_save() { Demande une localisation a l'utilisateur et enregistre l'element */ bool QETElementEditor::slot_saveAs() { + // verification avant d'enregistrer le fichier + checkElement(); + if (!ce_scene -> borderContainsEveryParts()) { + tr("Dimensions de l'\351l\351ment", "warning title"); + return(false); + } // demande une localisation a l'utilisateur ElementsLocation location = ElementDialog::getSaveElementLocation(this); if (location.isNull()) return(false); @@ -1020,6 +1029,12 @@ bool QETElementEditor::slot_saveAs() { Demande un nom de fichier a l'utilisateur et enregistre l'element */ bool QETElementEditor::slot_saveAsFile() { + // verification avant d'enregistrer le fichier + checkElement(); + if (!ce_scene -> borderContainsEveryParts()) { + tr("Dimensions de l'\351l\351ment", "warning title"); + return(false); + } // demande un nom de fichier a l'utilisateur pour enregistrer l'element QString fn = QFileDialog::getSaveFileName( this,