mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 08:10: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 "qetapp.h"
|
||||
#include "conducer.h"
|
||||
#include "customelement.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
|
||||
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);
|
||||
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());
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include "qetelementeditor.h"
|
||||
#include "qetapp.h"
|
||||
#include "elementscene.h"
|
||||
#include "elementview.h"
|
||||
#include "customelementpart.h"
|
||||
#include "newelementwizard.h"
|
||||
#include "qetdiagrameditor.h"
|
||||
|
||||
QETElementEditor::QETElementEditor(QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
@@ -388,7 +388,7 @@ void QETElementEditor::slot_open() {
|
||||
QString user_filename = QFileDialog::getOpenFileName(
|
||||
this,
|
||||
tr("Ouvrir un fichier"),
|
||||
QETDiagramEditor::customElementsDir(),
|
||||
QETApp::customElementsDir(),
|
||||
tr("\311l\351ments QElectroTech (*.elmt);;Fichiers XML (*.xml);;Tous les fichiers (*)")
|
||||
);
|
||||
if (user_filename == "") return;
|
||||
@@ -411,7 +411,7 @@ bool QETElementEditor::slot_saveAs() {
|
||||
QString fn = QFileDialog::getSaveFileName(
|
||||
this,
|
||||
tr("Enregistrer sous"),
|
||||
QETDiagramEditor::customElementsDir(),
|
||||
QETApp::customElementsDir(),
|
||||
tr("\311l\351ments QElectroTech (*.elmt)")
|
||||
);
|
||||
// si aucun nom n'est entre, renvoie faux.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "element.h"
|
||||
#include "qetapp.h"
|
||||
#include "diagram.h"
|
||||
#include "conducer.h"
|
||||
#include "elementtextitem.h"
|
||||
@@ -380,7 +381,7 @@ QDomElement Element::toXml(QDomDocument &document, QHash<Terminal *, int> &table
|
||||
|
||||
// type
|
||||
QString chemin_elmt = typeId();
|
||||
QString type_elmt = QETDiagramEditor::symbolicPath(chemin_elmt);
|
||||
QString type_elmt = QETApp::symbolicPath(chemin_elmt);
|
||||
element.setAttribute("type", type_elmt);
|
||||
|
||||
// position, selection et orientation
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include <QtXml>
|
||||
#include "elementscategorieslist.h"
|
||||
#include "qetapp.h"
|
||||
#include "elementscategory.h"
|
||||
#include "qetdiagrameditor.h"
|
||||
|
||||
@@ -31,7 +32,7 @@ void ElementsCategoriesList::reload() {
|
||||
while (takeTopLevelItem(0));
|
||||
|
||||
// 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 "qetapp.h"
|
||||
#include "elementscategory.h"
|
||||
#include "elementscategoryeditor.h"
|
||||
#include "elementscategorydeleter.h"
|
||||
@@ -177,10 +178,10 @@ void ElementsPanel::reload() {
|
||||
while (takeTopLevelItem(0));
|
||||
|
||||
// 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
|
||||
addDir(invisibleRootItem(), QETDiagramEditor::customElementsDir(), tr("Collection utilisateur"));
|
||||
addDir(invisibleRootItem(), QETApp::customElementsDir(), tr("Collection utilisateur"));
|
||||
}
|
||||
|
||||
void ElementsPanel::editCategory() {
|
||||
|
||||
22
main.cpp
22
main.cpp
@@ -1,6 +1,4 @@
|
||||
#include <QApplication>
|
||||
#include <QTranslator>
|
||||
#include "qetdiagrameditor.h"
|
||||
#include "qetapp.h"
|
||||
|
||||
/**
|
||||
Fonction principale du programme QElectroTech
|
||||
@@ -9,25 +7,11 @@
|
||||
*/
|
||||
int main(int argc, char **argv) {
|
||||
// Creation de l'application
|
||||
QApplication 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);
|
||||
}
|
||||
QETApp app(argc, argv);
|
||||
|
||||
// Creation et affichage d'un editeur de schema
|
||||
(new QETDiagramEditor()) -> show();
|
||||
|
||||
// Execution de l'application
|
||||
return(app.exec());
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ HEADERS += aboutqet.h \
|
||||
orientationset.h \
|
||||
orientationsetwidget.h \
|
||||
qet.h \
|
||||
qetapp.h \
|
||||
qetdiagrameditor.h \
|
||||
qgimanager.h \
|
||||
terminal.h \
|
||||
@@ -90,6 +91,7 @@ SOURCES += aboutqet.cpp \
|
||||
newelementwizard.cpp \
|
||||
orientationset.cpp \
|
||||
orientationsetwidget.cpp \
|
||||
qetapp.cpp \
|
||||
qetdiagrameditor.cpp \
|
||||
qgimanager.cpp \
|
||||
terminal.cpp \
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "qetdiagrameditor.h"
|
||||
#include "qetapp.h"
|
||||
#include "diagramview.h"
|
||||
#include "elementspanelwidget.h"
|
||||
#include "aboutqet.h"
|
||||
@@ -10,11 +11,11 @@
|
||||
QETDiagramEditor::QETDiagramEditor(QWidget *parent) : QMainWindow(parent) {
|
||||
|
||||
// cree les dossiers de configuration si necessaire
|
||||
QDir config_dir(configDir());
|
||||
if (!config_dir.exists()) config_dir.mkpath(configDir());
|
||||
QDir config_dir(QETApp::configDir());
|
||||
if (!config_dir.exists()) config_dir.mkpath(QETApp::configDir());
|
||||
|
||||
QDir custom_elements_dir(customElementsDir());
|
||||
if (!custom_elements_dir.exists()) custom_elements_dir.mkpath(customElementsDir());
|
||||
QDir custom_elements_dir(QETApp::customElementsDir());
|
||||
if (!custom_elements_dir.exists()) custom_elements_dir.mkpath(QETApp::customElementsDir());
|
||||
|
||||
// mise en place de l'interface MDI au centre de l'application
|
||||
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
|
||||
*/
|
||||
|
||||
@@ -25,12 +25,6 @@ class QETDiagramEditor : public QMainWindow {
|
||||
public:
|
||||
void closeEvent(QCloseEvent *);
|
||||
void addDiagramView(DiagramView *);
|
||||
static QString commonElementsDir();
|
||||
static QString customElementsDir();
|
||||
static QString configDir();
|
||||
static QString languagesPath();
|
||||
static QString realPath(QString &);
|
||||
static QString symbolicPath(QString &);
|
||||
|
||||
protected:
|
||||
void actions();
|
||||
|
||||
Reference in New Issue
Block a user