[qet] [2101] Add an dialogwaiting ! and use it to open project.

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


Revision: 2101
Author:   cfdev
Date:     2013-04-11 08:55:00 +0200 (Thu, 11 Apr 2013)
Log Message:
-----------
Add an dialogwaiting ! and use it to open project.

Modified Paths:
--------------
    trunk/sources/qetproject.cpp
    trunk/sources/qetproject.h

Added Paths:
-----------
    trunk/sources/ui/dialogwaiting.cpp
    trunk/sources/ui/dialogwaiting.h
    trunk/sources/ui/dialogwaiting.ui

Modified: trunk/sources/qetproject.cpp
===================================================================
--- trunk/sources/qetproject.cpp	2013-04-10 19:52:00 UTC (rev 2100)
+++ trunk/sources/qetproject.cpp	2013-04-11 06:55:00 UTC (rev 2101)
@@ -29,6 +29,8 @@
 #include "qetmessagebox.h"
 #include "titleblocktemplate.h"
 
+#include "ui/dialogwaiting.h"
+
 QString QETProject::integration_category_name = "import";
 
 /**
@@ -956,15 +958,24 @@
 	// map destinee a accueillir les schemas
 	QMultiMap<int, Diagram *> loaded_diagrams;
 	
+	//show DialogWaiting
+	DialogWaiting* dlgWaiting = new DialogWaiting();
+	dlgWaiting -> setModal(true);
+	dlgWaiting -> show();
+	dlgWaiting -> setTitle( tr("<b>Ouverture du projet en cours...</b>") );
+	
 	// recherche les schemas dans le projet
 	QDomNodeList diagram_nodes = document_root_.elementsByTagName("diagram");
+	dlgWaiting->setProgressBarRange(0, diagram_nodes.length());
 	for (uint i = 0 ; i < diagram_nodes.length() ; ++ i) {
+		dlgWaiting->setProgressBar(i+1);
 		if (diagram_nodes.at(i).isElement()) {
 			QDomElement diagram_xml_element = diagram_nodes.at(i).toElement();
 			Diagram *diagram = new Diagram();
 			diagram -> setProject(this);
 			bool diagram_loading = diagram -> initFromXml(diagram_xml_element);
 			if (diagram_loading) {
+				dlgWaiting->setDetail( diagram->title() );
 				// recupere l'attribut order du schema
 				int diagram_order = -1;
 				if (!QET::attributeIsAnInteger(diagram_xml_element, "order", &diagram_order)) diagram_order = 500000;
@@ -979,6 +990,8 @@
 	foreach(Diagram *diagram, loaded_diagrams.values()) {
 		addDiagram(diagram);
 	}
+	//delete dialog object
+	delete dlgWaiting;
 }
 
 /**

Modified: trunk/sources/qetproject.h
===================================================================
--- trunk/sources/qetproject.h	2013-04-10 19:52:00 UTC (rev 2100)
+++ trunk/sources/qetproject.h	2013-04-11 06:55:00 UTC (rev 2101)
@@ -25,6 +25,7 @@
 #include "conductorproperties.h"
 #include "titleblockproperties.h"
 #include "templatescollection.h"
+
 class Diagram;
 class ElementsCollection;
 class ElementsCategory;
@@ -35,6 +36,7 @@
 class XmlElementsCollection;
 class MoveElementsHandler;
 class MoveTitleBlockTemplatesHandler;
+
 /**
 	This class represents a QET project. Typically saved as a .qet file, it
 	consists in an XML document grouping 0 to n diagrams and embedding an elements

Added: trunk/sources/ui/dialogwaiting.cpp
===================================================================
--- trunk/sources/ui/dialogwaiting.cpp	                        (rev 0)
+++ trunk/sources/ui/dialogwaiting.cpp	2013-04-11 06:55:00 UTC (rev 2101)
@@ -0,0 +1,83 @@
+/*
+		Copyright 2006-2013 The QElectroTech Team
+		This file is part of QElectroTech.
+		
+		QElectroTech is free software: you can redistribute it and/or modify
+		it under the terms of the GNU General Public License as published by
+		the Free Software Foundation, either version 2 of the License, or
+		(at your option) any later version.
+		
+		QElectroTech is distributed in the hope that it will be useful,
+		but WITHOUT ANY WARRANTY; without even the implied warranty of
+		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		GNU General Public License for more details.
+		
+		You should have received a copy of the GNU General Public License
+		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "dialogwaiting.h"
+#include "ui_dialogwaiting.h"
+#include <QPushButton>
+
+/**
+ * @brief DialogWaiting::DialogWaiting
+ * @param parent
+ */
+DialogWaiting::DialogWaiting(QWidget *parent) :
+	QDialog(parent),
+	ui(new Ui::DialogWaiting)
+{
+	ui->setupUi(this);
+	setTitle(  "..." );
+	setDetail( "..." );
+}
+
+/**
+ * @brief DialogWaiting::~DialogWaiting
+ */
+DialogWaiting::~DialogWaiting() {
+	delete ui;
+}
+
+/**
+ * @brief DialogWaiting::setProgressBar
+ * @param val is the progressBar value
+ */
+void DialogWaiting::setProgressBar(int val){
+	ui->progressBar->setValue(val);
+}
+
+/**
+ * @brief DialogWaiting::setProgressReset, clear progressBar and reset
+ */
+void DialogWaiting::setProgressReset(){
+	ui->progressBar->reset();
+}
+
+/**
+ * @brief DialogWaiting::setProgressBarRange
+ * @param min is the minimum of progressBar
+ * @param max is the maximun of progressBar
+ */
+void DialogWaiting::setProgressBarRange(int min, int max){
+	ui->progressBar->setRange(min,max);
+}
+
+/**
+ * @brief DialogWaiting::setTitle of action
+ * @param val is the string of action
+ */
+void DialogWaiting::setTitle(const QString& val){
+	QString title="<b> "+val+" </b>";
+	ui->labelTitle->setText(title);
+}
+
+/**
+ * @brief DialogWaiting::setDetail of action
+ * @param val is the string of detail action
+ */
+void DialogWaiting::setDetail(const QString& val){
+	ui->label_detail->setText(val);
+}
+

Added: trunk/sources/ui/dialogwaiting.h
===================================================================
--- trunk/sources/ui/dialogwaiting.h	                        (rev 0)
+++ trunk/sources/ui/dialogwaiting.h	2013-04-11 06:55:00 UTC (rev 2101)
@@ -0,0 +1,46 @@
+/*
+		Copyright 2006-2013 The QElectroTech Team
+		This file is part of QElectroTech.
+		
+		QElectroTech is free software: you can redistribute it and/or modify
+		it under the terms of the GNU General Public License as published by
+		the Free Software Foundation, either version 2 of the License, or
+		(at your option) any later version.
+		
+		QElectroTech is distributed in the hope that it will be useful,
+		but WITHOUT ANY WARRANTY; without even the implied warranty of
+		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+		GNU General Public License for more details.
+		
+		You should have received a copy of the GNU General Public License
+		along with QElectroTech.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef DIALOGWAITING_H
+#define DIALOGWAITING_H
+
+#include <QDialog>
+
+namespace Ui {
+	class DialogWaiting;
+}
+
+class DialogWaiting : public QDialog
+{
+	Q_OBJECT
+
+public:
+	explicit DialogWaiting(QWidget *parent = 0);
+	~DialogWaiting();
+
+	void setProgressBar(int val);
+	void setProgressBarRange(int min, int max);
+	void setProgressReset();
+	void setTitle(const QString& val);
+	void setDetail(const QString& val);
+
+	private:
+	Ui::DialogWaiting *ui;
+};
+
+#endif // DIALOGWAITING_H

Added: trunk/sources/ui/dialogwaiting.ui
===================================================================
--- trunk/sources/ui/dialogwaiting.ui	                        (rev 0)
+++ trunk/sources/ui/dialogwaiting.ui	2013-04-11 06:55:00 UTC (rev 2101)
@@ -0,0 +1,69 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>DialogWaiting</class>
+ <widget class="QDialog" name="DialogWaiting">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>136</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Merci de patienter</string>
+  </property>
+  <property name="windowIcon">
+   <iconset>
+    <normaloff>:/app/process</normaloff>:/app/process</iconset>
+  </property>
+  <layout class="QVBoxLayout" name="verticalLayout_2">
+   <item>
+    <layout class="QVBoxLayout" name="verticalLayout">
+     <item>
+      <widget class="QLabel" name="labelTitle">
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+       <property name="textFormat">
+        <enum>Qt::AutoText</enum>
+       </property>
+       <property name="alignment">
+        <set>Qt::AlignCenter</set>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <spacer name="verticalSpacer">
+       <property name="orientation">
+        <enum>Qt::Vertical</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>20</width>
+         <height>40</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QProgressBar" name="progressBar">
+       <property name="value">
+        <number>24</number>
+       </property>
+      </widget>
+     </item>
+     <item>
+      <widget class="QLabel" name="label_detail">
+       <property name="text">
+        <string>TextLabel</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>


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