Re: [qet] MessageBox ouverture d'un projet

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Version 1.2 du patch

Cordialement,
nishiki

Le 26/08/2011 14:58, nishiki a écrit :
Voilà la modification de mon patch

Cordialement,
nishiki

Le 26/08/2011 14:31, nishiki a écrit :
Voilà le diff ;)

Cordialement,
nishiki

Le 26/08/2011 14:26, nishiki a écrit :
Hello,

Ci-joint le fichier avec ma petite modification du messagebox lors de l'ouverture d'un projet créer avec une version ultérieur.

Modification dans la fonction readProjectXml à la ligne 819

Je sais pas encore comment est géré la traduction des boutons par défaut de message box que j'ai utilisé Open et Discard.

Cordialement,
nishiki



Index: sources/qetproject.h
===================================================================
--- sources/qetproject.h	(révision 1313)
+++ sources/qetproject.h	(copie de travail)
@@ -65,7 +65,8 @@
 		FileOpenFailed        = 1, /// l'ouverture d'un fichier a echoue
 		XmlParsingFailed      = 2, /// l'analyse XML a echoue
 		ProjectParsingRunning = 3, /// la lecture du projet est en cours
-		ProjectParsingFailed  = 4  /// la lecture en tant que projet a echoue
+		ProjectParsingFailed  = 4, /// la lecture en tant que projet a echoue
+		FileOpenDiscard       = 5  /// l'ouverture du fichier est annulé par l'utilisateur
 	};
 	
 	// methodes
Index: sources/qetdiagrameditor.cpp
===================================================================
--- sources/qetdiagrameditor.cpp	(révision 1313)
+++ sources/qetdiagrameditor.cpp	(copie de travail)
@@ -794,7 +794,7 @@
 	// cree le projet a partir du fichier
 	QETProject *project = new QETProject(filepath);
 	if (project -> state() != QETProject::Ok) {
-		if (interactive) {
+		if (interactive && project -> state() != QETProject::FileOpenDiscard) {
 			QET::MessageBox::warning(
 				this,
 				tr("\311chec de l'ouverture du projet", "message box title"),
@@ -807,6 +807,7 @@
 				).arg(filepath)
 			);
 		}
+		delete project;
 		return(false);
 	}
 	
Index: sources/qetproject.cpp
===================================================================
--- sources/qetproject.cpp	(révision 1313)
+++ sources/qetproject.cpp	(copie de travail)
@@ -827,17 +827,26 @@
 			bool conv_ok;
 			project_qet_version_ = root_elmt.attribute("version").toDouble(&conv_ok);
 			if (conv_ok && QET::version.toDouble() < project_qet_version_) {
-				QET::MessageBox::warning(
+				
+				int ret = QET::MessageBox::warning(
 					0,
 					tr("Avertissement", "message box title"),
 					tr(
 						"Ce document semble avoir \351t\351 enregistr\351 avec "
 						"une version ult\351rieure de QElectroTech. Il est "
-						"possible que l'ouverture de tout ou partie de ce "
-						"document \351choue.",
+						"possible que l'ouverture de tout ou une partie de ce "
+						"document \351choue.\n"
+						"Que d\351sirez vous faire ?",
 						"message box content"
-					)
+					),
+					QMessageBox::Open | QMessageBox::Discard
 				);
+
+				if (ret == QMessageBox::Discard) {
+					state_ = FileOpenDiscard;
+					return;
+				}
+
 			}
 		}
 		
@@ -847,7 +856,7 @@
 	} else {
 		state_ = ProjectParsingFailed;
 	}
-	
+
 	// charge les proprietes par defaut pour les nouveaux schemas
 	readDefaultPropertiesXml();
 	
@@ -861,6 +870,7 @@
 	readDiagramsXml();
 	
 	state_ = Ok;
+	
 }
 
 /**


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/