[qet] [734] Il est desormais possible de specifier un widget parent pour les dialogues de la classe ElementDialog

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


Revision: 734
Author:   xavier
Date:     2009-08-13 20:30:06 +0200 (Thu, 13 Aug 2009)

Log Message:
-----------
Il est desormais possible de specifier un widget parent pour les dialogues de la classe ElementDialog

Modified Paths:
--------------
    trunk/sources/editor/qetelementeditor.cpp
    trunk/sources/elementdialog.cpp
    trunk/sources/elementdialog.h


Modified: trunk/sources/editor/qetelementeditor.cpp
===================================================================
--- trunk/sources/editor/qetelementeditor.cpp	2009-08-13 17:29:32 UTC (rev 733)
+++ trunk/sources/editor/qetelementeditor.cpp	2009-08-13 18:30:06 UTC (rev 734)
@@ -803,7 +803,7 @@
 */
 void QETElementEditor::slot_open() {
 	// demande le chemin virtuel de l'element a ouvrir a l'utilisateur
-	ElementsLocation location = ElementDialog::getOpenElementLocation();
+	ElementsLocation location = ElementDialog::getOpenElementLocation(this);
 	if (location.isNull()) return;
 	QETElementEditor *cee = new QETElementEditor();
 	cee -> fromLocation(location);
@@ -918,7 +918,7 @@
 */
 bool QETElementEditor::slot_saveAs() {
 	// demande une localisation a l'utilisateur
-	ElementsLocation location = ElementDialog::getSaveElementLocation();
+	ElementsLocation location = ElementDialog::getSaveElementLocation(this);
 	if (location.isNull()) return(false);
 	
 	// tente l'enregistrement

Modified: trunk/sources/elementdialog.cpp
===================================================================
--- trunk/sources/elementdialog.cpp	2009-08-13 17:29:32 UTC (rev 733)
+++ trunk/sources/elementdialog.cpp	2009-08-13 18:30:06 UTC (rev 734)
@@ -28,16 +28,18 @@
 	Construit un dialogue permettant d'ouvrir un element
 	@param mode Mode du dialogue
 	@see ElementDialog::Mode
+	@param parentWidget QWidget parent
 	@param parent QObject parent
+	
 */
-ElementDialog::ElementDialog(uint mode, QObject *parent) :
+ElementDialog::ElementDialog(uint mode, QWidget *parentWidget, QObject *parent) :
 	QObject(parent),
 	mode_(mode),
 	buttons_(0),
 	list_(0),
 	textfield_(0)
 {
-	dialog_  = new QDialog();
+	dialog_  = new QDialog(parentWidget);
 	dialog_ -> setWindowModality(Qt::WindowModal);
 #ifdef Q_WS_MAC
 	dialog_ -> setWindowFlags(Qt::Sheet);
@@ -95,48 +97,54 @@
 	Destructeur
 */
 ElementDialog::~ElementDialog() {
+	dialog_ -> setParent(0);
 	delete dialog_;
 }
 
 /**
 	Affiche un dialogue permettant a l'utilisateur de selectionner une categorie existant deja
+	@param parentWidget QWidget parent
 	@return le chemin virtuel de cette categorie
 */
-ElementsLocation ElementDialog::getExistingCategoryLocation() {
-	return(ElementDialog::execConfiguredDialog(ElementDialog::OpenCategory));
+ElementsLocation ElementDialog::getExistingCategoryLocation(QWidget *parentWidget) {
+	return(ElementDialog::execConfiguredDialog(ElementDialog::OpenCategory, parentWidget));
 }
 
 /**
 	Affiche un dialogue permettant a l'utilisateur de selectionner une nouvelle categorie
+	@param parentWidget QWidget parent
 	@return le chemin virtuel de cette categorie
 */
-ElementsLocation ElementDialog::getNewCategoryLocation() {
-	return(ElementDialog::execConfiguredDialog(ElementDialog::SaveCategory));
+ElementsLocation ElementDialog::getNewCategoryLocation(QWidget *parentWidget) {
+	return(ElementDialog::execConfiguredDialog(ElementDialog::SaveCategory, parentWidget));
 }
 
 /**
 	Affiche un dialogue permettant a l'utilisateur de selectionner un element a ouvrir
+	@param parentWidget QWidget parent
 	@return le chemin virtuel de cet element
 */
-ElementsLocation ElementDialog::getOpenElementLocation() {
-	return(ElementDialog::execConfiguredDialog(ElementDialog::OpenElement));
+ElementsLocation ElementDialog::getOpenElementLocation(QWidget *parentWidget) {
+	return(ElementDialog::execConfiguredDialog(ElementDialog::OpenElement, parentWidget));
 }
 
 /**
 	Affiche un dialogue permettant a l'utilisateur de selectionner un element (existant ou non)
 	qu'il souhaite enregistrer
+	@param parentWidget QWidget parent
 	@return le chemin virtuel de cet element
 */
-ElementsLocation ElementDialog::getSaveElementLocation() {
-	return(ElementDialog::execConfiguredDialog(ElementDialog::SaveElement));
+ElementsLocation ElementDialog::getSaveElementLocation(QWidget *parentWidget) {
+	return(ElementDialog::execConfiguredDialog(ElementDialog::SaveElement, parentWidget));
 }
 
 /**
 	Lance un dialogue selon la configuration mode
 	@param mode Mode du dialogue
+	@param parentWidget QWidget parent
 */
-ElementsLocation ElementDialog::execConfiguredDialog(int mode) {
-	ElementDialog element_dialog(mode);
+ElementsLocation ElementDialog::execConfiguredDialog(int mode, QWidget *parentWidget) {
+	ElementDialog element_dialog(mode, parentWidget);
 	element_dialog.exec();
 	return(element_dialog.location());
 }

Modified: trunk/sources/elementdialog.h
===================================================================
--- trunk/sources/elementdialog.h	2009-08-13 17:29:32 UTC (rev 733)
+++ trunk/sources/elementdialog.h	2009-08-13 18:30:06 UTC (rev 734)
@@ -42,7 +42,7 @@
 	
 	// constructeurs, destructeur
 	public:
-	ElementDialog(uint = ElementDialog::OpenElement, QObject * = 0);
+	ElementDialog(uint = ElementDialog::OpenElement, QWidget * = 0, QObject * = 0);
 	virtual ~ElementDialog();
 	private:
 	ElementDialog(const ElementDialog &);
@@ -51,13 +51,13 @@
 	public:
 	int exec();
 	ElementsLocation location() const;
-	static ElementsLocation getExistingCategoryLocation();
-	static ElementsLocation getNewCategoryLocation();
-	static ElementsLocation getOpenElementLocation();
-	static ElementsLocation getSaveElementLocation();
+	static ElementsLocation getExistingCategoryLocation(QWidget * = 0);
+	static ElementsLocation getNewCategoryLocation(QWidget * = 0);
+	static ElementsLocation getOpenElementLocation(QWidget * = 0);
+	static ElementsLocation getSaveElementLocation(QWidget * = 0);
 	
 	private:
-	static ElementsLocation execConfiguredDialog(int);
+	static ElementsLocation execConfiguredDialog(int, QWidget * = 0);
 	
 	private slots:
 	void locationChanged(const ElementsLocation &);


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