mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-19 23:20:52 +01:00
Retour de la classe QETApp mais comme derivee de QApplication cette fois
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@128 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include "qetapp.h"
|
||||||
#include "conducer.h"
|
#include "conducer.h"
|
||||||
#include "customelement.h"
|
#include "customelement.h"
|
||||||
#include "diagram.h"
|
#include "diagram.h"
|
||||||
@@ -302,7 +303,7 @@ bool Diagram::fromXml(QDomDocument &document, QPointF position, bool consider_in
|
|||||||
|
|
||||||
// cree un element dont le type correspond à l'id type
|
// cree un element dont le type correspond à l'id type
|
||||||
QString type_id = e.attribute("type");
|
QString type_id = e.attribute("type");
|
||||||
QString chemin_fichier = QETDiagramEditor::realPath(type_id);
|
QString chemin_fichier = QETApp::realPath(type_id);
|
||||||
CustomElement *nvel_elmt = new CustomElement(chemin_fichier);
|
CustomElement *nvel_elmt = new CustomElement(chemin_fichier);
|
||||||
if (nvel_elmt -> isNull()) {
|
if (nvel_elmt -> isNull()) {
|
||||||
QString debug_message = QString("Le chargement de la description de l'element %1 a echoue avec le code d'erreur %2").arg(chemin_fichier).arg(nvel_elmt -> etat());
|
QString debug_message = QString("Le chargement de la description de l'element %1 a echoue avec le code d'erreur %2").arg(chemin_fichier).arg(nvel_elmt -> etat());
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
#include "qetelementeditor.h"
|
#include "qetelementeditor.h"
|
||||||
|
#include "qetapp.h"
|
||||||
#include "elementscene.h"
|
#include "elementscene.h"
|
||||||
#include "elementview.h"
|
#include "elementview.h"
|
||||||
#include "customelementpart.h"
|
#include "customelementpart.h"
|
||||||
#include "newelementwizard.h"
|
#include "newelementwizard.h"
|
||||||
#include "qetdiagrameditor.h"
|
|
||||||
|
|
||||||
QETElementEditor::QETElementEditor(QWidget *parent) :
|
QETElementEditor::QETElementEditor(QWidget *parent) :
|
||||||
QMainWindow(parent),
|
QMainWindow(parent),
|
||||||
@@ -388,7 +388,7 @@ void QETElementEditor::slot_open() {
|
|||||||
QString user_filename = QFileDialog::getOpenFileName(
|
QString user_filename = QFileDialog::getOpenFileName(
|
||||||
this,
|
this,
|
||||||
tr("Ouvrir un fichier"),
|
tr("Ouvrir un fichier"),
|
||||||
QETDiagramEditor::customElementsDir(),
|
QETApp::customElementsDir(),
|
||||||
tr("\311l\351ments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)")
|
tr("\311l\351ments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)")
|
||||||
);
|
);
|
||||||
if (user_filename == "") return;
|
if (user_filename == "") return;
|
||||||
@@ -411,7 +411,7 @@ bool QETElementEditor::slot_saveAs() {
|
|||||||
QString fn = QFileDialog::getSaveFileName(
|
QString fn = QFileDialog::getSaveFileName(
|
||||||
this,
|
this,
|
||||||
tr("Enregistrer sous"),
|
tr("Enregistrer sous"),
|
||||||
QETDiagramEditor::customElementsDir(),
|
QETApp::customElementsDir(),
|
||||||
tr("\311l\351ments QElectroTech (*.elmt)")
|
tr("\311l\351ments QElectroTech (*.elmt)")
|
||||||
);
|
);
|
||||||
// si aucun nom n'est entre, renvoie faux.
|
// si aucun nom n'est entre, renvoie faux.
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "element.h"
|
#include "element.h"
|
||||||
|
#include "qetapp.h"
|
||||||
#include "diagram.h"
|
#include "diagram.h"
|
||||||
#include "conducer.h"
|
#include "conducer.h"
|
||||||
#include "elementtextitem.h"
|
#include "elementtextitem.h"
|
||||||
@@ -380,7 +381,7 @@ QDomElement Element::toXml(QDomDocument &document, QHash<Terminal *, int> &table
|
|||||||
|
|
||||||
// type
|
// type
|
||||||
QString chemin_elmt = typeId();
|
QString chemin_elmt = typeId();
|
||||||
QString type_elmt = QETDiagramEditor::symbolicPath(chemin_elmt);
|
QString type_elmt = QETApp::symbolicPath(chemin_elmt);
|
||||||
element.setAttribute("type", type_elmt);
|
element.setAttribute("type", type_elmt);
|
||||||
|
|
||||||
// position, selection et orientation
|
// position, selection et orientation
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include <QtXml>
|
#include <QtXml>
|
||||||
#include "elementscategorieslist.h"
|
#include "elementscategorieslist.h"
|
||||||
|
#include "qetapp.h"
|
||||||
#include "elementscategory.h"
|
#include "elementscategory.h"
|
||||||
#include "qetdiagrameditor.h"
|
#include "qetdiagrameditor.h"
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ void ElementsCategoriesList::reload() {
|
|||||||
while (takeTopLevelItem(0));
|
while (takeTopLevelItem(0));
|
||||||
|
|
||||||
// chargement des elements de la collection utilisateur
|
// chargement des elements de la collection utilisateur
|
||||||
addDir(invisibleRootItem(), QETDiagramEditor::customElementsDir(), tr("Collection utilisateur"));
|
addDir(invisibleRootItem(), QETApp::customElementsDir(), tr("Collection utilisateur"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "elementspanel.h"
|
#include "elementspanel.h"
|
||||||
|
#include "qetapp.h"
|
||||||
#include "elementscategory.h"
|
#include "elementscategory.h"
|
||||||
#include "elementscategoryeditor.h"
|
#include "elementscategoryeditor.h"
|
||||||
#include "elementscategorydeleter.h"
|
#include "elementscategorydeleter.h"
|
||||||
@@ -177,10 +178,10 @@ void ElementsPanel::reload() {
|
|||||||
while (takeTopLevelItem(0));
|
while (takeTopLevelItem(0));
|
||||||
|
|
||||||
// chargement des elements de la collection QET
|
// chargement des elements de la collection QET
|
||||||
addDir(invisibleRootItem(), QETDiagramEditor::commonElementsDir(), tr("Collection QET"));
|
addDir(invisibleRootItem(), QETApp::commonElementsDir(), tr("Collection QET"));
|
||||||
|
|
||||||
// chargement des elements de la collection utilisateur
|
// chargement des elements de la collection utilisateur
|
||||||
addDir(invisibleRootItem(), QETDiagramEditor::customElementsDir(), tr("Collection utilisateur"));
|
addDir(invisibleRootItem(), QETApp::customElementsDir(), tr("Collection utilisateur"));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ElementsPanel::editCategory() {
|
void ElementsPanel::editCategory() {
|
||||||
|
|||||||
22
main.cpp
22
main.cpp
@@ -1,6 +1,4 @@
|
|||||||
#include <QApplication>
|
#include "qetapp.h"
|
||||||
#include <QTranslator>
|
|
||||||
#include "qetdiagrameditor.h"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Fonction principale du programme QElectroTech
|
Fonction principale du programme QElectroTech
|
||||||
@@ -9,25 +7,11 @@
|
|||||||
*/
|
*/
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
// Creation de l'application
|
// Creation de l'application
|
||||||
QApplication app(argc, argv);
|
QETApp app(argc, argv);
|
||||||
app.setQuitOnLastWindowClosed(false);
|
|
||||||
|
|
||||||
QString system_language = QLocale::system().name().left(2);
|
|
||||||
// charge les eventuelles traductions pour la lib Qt
|
|
||||||
QTranslator qtTranslator;
|
|
||||||
qtTranslator.load("qt_" + system_language, QETDiagramEditor::languagesPath());
|
|
||||||
app.installTranslator(&qtTranslator);
|
|
||||||
|
|
||||||
// determine la langue a utiliser pour l'application
|
|
||||||
QTranslator trad;
|
|
||||||
if (system_language != "fr") {
|
|
||||||
// utilisation de la version anglaise par defaut
|
|
||||||
if (!trad.load("qet_" + system_language, QETDiagramEditor::languagesPath())) trad.load("qet_en", QETDiagramEditor::languagesPath());
|
|
||||||
app.installTranslator(&trad);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Creation et affichage d'un editeur de schema
|
// Creation et affichage d'un editeur de schema
|
||||||
(new QETDiagramEditor()) -> show();
|
(new QETDiagramEditor()) -> show();
|
||||||
|
|
||||||
// Execution de l'application
|
// Execution de l'application
|
||||||
return(app.exec());
|
return(app.exec());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ HEADERS += aboutqet.h \
|
|||||||
orientationset.h \
|
orientationset.h \
|
||||||
orientationsetwidget.h \
|
orientationsetwidget.h \
|
||||||
qet.h \
|
qet.h \
|
||||||
|
qetapp.h \
|
||||||
qetdiagrameditor.h \
|
qetdiagrameditor.h \
|
||||||
qgimanager.h \
|
qgimanager.h \
|
||||||
terminal.h \
|
terminal.h \
|
||||||
@@ -90,6 +91,7 @@ SOURCES += aboutqet.cpp \
|
|||||||
newelementwizard.cpp \
|
newelementwizard.cpp \
|
||||||
orientationset.cpp \
|
orientationset.cpp \
|
||||||
orientationsetwidget.cpp \
|
orientationsetwidget.cpp \
|
||||||
|
qetapp.cpp \
|
||||||
qetdiagrameditor.cpp \
|
qetdiagrameditor.cpp \
|
||||||
qgimanager.cpp \
|
qgimanager.cpp \
|
||||||
terminal.cpp \
|
terminal.cpp \
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "qetdiagrameditor.h"
|
#include "qetdiagrameditor.h"
|
||||||
|
#include "qetapp.h"
|
||||||
#include "diagramview.h"
|
#include "diagramview.h"
|
||||||
#include "elementspanelwidget.h"
|
#include "elementspanelwidget.h"
|
||||||
#include "aboutqet.h"
|
#include "aboutqet.h"
|
||||||
@@ -10,11 +11,11 @@
|
|||||||
QETDiagramEditor::QETDiagramEditor(QWidget *parent) : QMainWindow(parent) {
|
QETDiagramEditor::QETDiagramEditor(QWidget *parent) : QMainWindow(parent) {
|
||||||
|
|
||||||
// cree les dossiers de configuration si necessaire
|
// cree les dossiers de configuration si necessaire
|
||||||
QDir config_dir(configDir());
|
QDir config_dir(QETApp::configDir());
|
||||||
if (!config_dir.exists()) config_dir.mkpath(configDir());
|
if (!config_dir.exists()) config_dir.mkpath(QETApp::configDir());
|
||||||
|
|
||||||
QDir custom_elements_dir(customElementsDir());
|
QDir custom_elements_dir(QETApp::customElementsDir());
|
||||||
if (!custom_elements_dir.exists()) custom_elements_dir.mkpath(customElementsDir());
|
if (!custom_elements_dir.exists()) custom_elements_dir.mkpath(QETApp::customElementsDir());
|
||||||
|
|
||||||
// mise en place de l'interface MDI au centre de l'application
|
// mise en place de l'interface MDI au centre de l'application
|
||||||
setCentralWidget(&workspace);
|
setCentralWidget(&workspace);
|
||||||
@@ -856,86 +857,6 @@ void QETDiagramEditor::slot_updateMenuFenetres() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
Renvoie le dossier des elements communs, c-a-d le chemin du dossier dans
|
|
||||||
lequel QET doit chercher les definitions XML des elements de la collection QET.
|
|
||||||
@return Le chemin du dossier des elements communs
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::commonElementsDir() {
|
|
||||||
return(QDir::current().path() + "/elements/");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Renvoie le dossier des elements de l'utilisateur, c-a-d le chemin du dossier
|
|
||||||
dans lequel QET chercher les definitions XML des elements propres a
|
|
||||||
l'utilisateur.
|
|
||||||
@return Le chemin du dossier des elements persos
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::customElementsDir() {
|
|
||||||
return(QETDiagramEditor::configDir() + "elements/");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Renvoie le dossier de configuration de QET, c-a-d le chemin du dossier dans
|
|
||||||
lequel QET lira les informations de configuration et de personnalisation
|
|
||||||
propres a l'utilisateur courant. Ce dossier est generalement
|
|
||||||
C:\Documents And Settings\utilisateur\Application Data\qet sous Windows et
|
|
||||||
~/.qet sous les systemes type UNIX.
|
|
||||||
@return Le chemin du dossier de configuration de QElectroTech
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::configDir() {
|
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
return(QDir::homePath() + "/Application Data/qet/");
|
|
||||||
#else
|
|
||||||
return(QDir::homePath() + "/.qet/");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Permet de connaitre le chemin absolu du fichier *.elmt correspondant a un
|
|
||||||
chemin symbolique (du type custom://outils_pervers/sado_maso/contact_bizarre)
|
|
||||||
@param sym_path Chaine de caracteres representant le chemin absolu du fichier
|
|
||||||
@return Une chaine de caracteres vide en cas d'erreur ou le chemin absolu du
|
|
||||||
fichier *.elmt.
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::realPath(QString &sym_path) {
|
|
||||||
QString directory;
|
|
||||||
if (sym_path.startsWith("common://")) {
|
|
||||||
directory = commonElementsDir();
|
|
||||||
} else if (sym_path.startsWith("custom://")) {
|
|
||||||
directory = customElementsDir();
|
|
||||||
} else return(QString());
|
|
||||||
return(directory + QDir::toNativeSeparators(sym_path.right(sym_path.length() - 9)));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
Construit le chemin symbolique (du type custom://outils_pervers/sado_maso/
|
|
||||||
contact_bizarre) correspondant a un fichier.
|
|
||||||
@param real_pathChaine de caracteres representant le chemin symbolique du fichier
|
|
||||||
@return Une chaine de caracteres vide en cas d'erreur ou le chemin
|
|
||||||
symbolique designant l'element.
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::symbolicPath(QString &real_path) {
|
|
||||||
// recupere les dossier common et custom
|
|
||||||
QString commond = commonElementsDir();
|
|
||||||
QString customd = customElementsDir();
|
|
||||||
QString chemin;
|
|
||||||
// analyse le chemin de fichier passe en parametre
|
|
||||||
if (real_path.startsWith(commond)) {
|
|
||||||
chemin = "common://" + real_path.right(real_path.length() - commond.length());
|
|
||||||
} else if (real_path.startsWith(customd)) {
|
|
||||||
chemin = "custom://" + real_path.right(real_path.length() - customd.length());
|
|
||||||
} else chemin = QString();
|
|
||||||
return(chemin);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
@return Le chemin du dossier contenant les fichiers de langue
|
|
||||||
*/
|
|
||||||
QString QETDiagramEditor::languagesPath() {
|
|
||||||
return(QDir::current().path() + "/lang/");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Edite les informations du schema en cours
|
Edite les informations du schema en cours
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -25,12 +25,6 @@ class QETDiagramEditor : public QMainWindow {
|
|||||||
public:
|
public:
|
||||||
void closeEvent(QCloseEvent *);
|
void closeEvent(QCloseEvent *);
|
||||||
void addDiagramView(DiagramView *);
|
void addDiagramView(DiagramView *);
|
||||||
static QString commonElementsDir();
|
|
||||||
static QString customElementsDir();
|
|
||||||
static QString configDir();
|
|
||||||
static QString languagesPath();
|
|
||||||
static QString realPath(QString &);
|
|
||||||
static QString symbolicPath(QString &);
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void actions();
|
void actions();
|
||||||
|
|||||||
Reference in New Issue
Block a user