diff --git a/sources/aboutqet.cpp b/sources/aboutqet.cpp
index c34a4d324..bea899d19 100644
--- a/sources/aboutqet.cpp
+++ b/sources/aboutqet.cpp
@@ -32,22 +32,22 @@ AboutQET::AboutQET(QWidget *parent) : QDialog(parent) {
setModal(true);
// Trois onglets
- QETTabWidget *onglets = new QETTabWidget(this);
- onglets -> addTab(ongletAPropos(), tr("\300 &propos","tab title"));
- onglets -> addTab(ongletAuteurs(), tr("A&uteurs", "tab title"));
- onglets -> addTab(ongletLicence(), tr("&Accord de licence", "tab title"));
+ QETTabWidget *tabs = new QETTabWidget(this);
+ tabs -> addTab(aboutTab(), tr("\300 &propos", "tab title"));
+ tabs -> addTab(authorsTab(), tr("A&uteurs", "tab title"));
+ tabs -> addTab(licenseTab(), tr("&Accord de licence", "tab title"));
// Un bouton pour fermer la boite de dialogue
- QDialogButtonBox *boutons = new QDialogButtonBox(QDialogButtonBox::Close);
- connect(boutons, SIGNAL(accepted()), this, SLOT(accept()));
- connect(boutons, SIGNAL(rejected()), this, SLOT(accept()));
+ QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Close);
+ connect(buttons, SIGNAL(accepted()), this, SLOT(accept()));
+ connect(buttons, SIGNAL(rejected()), this, SLOT(accept()));
// Le tout dans une disposition verticale
- QVBoxLayout *disposition = new QVBoxLayout();
- disposition -> addWidget(titre());
- disposition -> addWidget(onglets);
- disposition -> addWidget(boutons);
- setLayout(disposition);
+ QVBoxLayout *vlayout = new QVBoxLayout();
+ vlayout -> addWidget(title());
+ vlayout -> addWidget(tabs);
+ vlayout -> addWidget(buttons);
+ setLayout(vlayout);
}
/**
@@ -59,29 +59,29 @@ AboutQET::~AboutQET() {
/**
@return Le titre QElectroTech avec son icone
*/
-QWidget *AboutQET::titre() const {
- QWidget *icone_et_titre = new QWidget();
+QWidget *AboutQET::title() const {
+ QWidget *icon_and_title = new QWidget();
// icone
- QLabel *icone = new QLabel();
- icone -> setPixmap(QIcon(":/ico/qelectrotech.png").pixmap(48, 48));
+ QLabel *icon = new QLabel();
+ icon -> setPixmap(QIcon(":/ico/qelectrotech.png").pixmap(48, 48));
// label "QElectroTech"
- QLabel *titre = new QLabel("QElectroTech v" + QET::displayedVersion + "");
- titre -> setTextFormat(Qt::RichText);
+ QLabel *title = new QLabel("QElectroTech v" + QET::displayedVersion + "");
+ title -> setTextFormat(Qt::RichText);
// le tout dans une grille
- QGridLayout *dispo_horiz = new QGridLayout();
- dispo_horiz -> addWidget(icone, 0, 0);
- dispo_horiz -> addWidget(titre, 0, 1);
- dispo_horiz -> setColumnStretch(0, 1);
- dispo_horiz -> setColumnStretch(1, 100);
- icone_et_titre -> setLayout(dispo_horiz);
- return(icone_et_titre);
+ QGridLayout *grid_layout = new QGridLayout();
+ grid_layout -> addWidget(icon, 0, 0);
+ grid_layout -> addWidget(title, 0, 1);
+ grid_layout -> setColumnStretch(0, 1);
+ grid_layout -> setColumnStretch(1, 100);
+ icon_and_title -> setLayout(grid_layout);
+ return(icon_and_title);
}
/**
- @return Le widget contenu par l'onglet « A propos »
+ @return Le widget contenu par l'onglet "A propos"
*/
-QWidget *AboutQET::ongletAPropos() const {
- QLabel *apropos = new QLabel(
+QWidget *AboutQET::aboutTab() const {
+ QLabel *about = new QLabel(
tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.") +
"
" +
tr("\251 2006-2009 Les d\351veloppeurs de QElectroTech") +
@@ -89,52 +89,60 @@ QWidget *AboutQET::ongletAPropos() const {
""
"http://qelectrotech.org/"
);
- apropos -> setAlignment(Qt::AlignCenter);
- apropos -> setOpenExternalLinks(true);
- apropos -> setTextFormat(Qt::RichText);
- return(apropos);
+ about -> setAlignment(Qt::AlignCenter);
+ about -> setOpenExternalLinks(true);
+ about -> setTextFormat(Qt::RichText);
+ return(about);
}
/**
- @return Le widget contenu par l'onglet « Auteurs »
+ @return Le widget contenu par l'onglet "Auteurs"
*/
-QWidget *AboutQET::ongletAuteurs() const {
- QLabel *auteurs = new QLabel(
- "" +
- tr("Id\351e originale") +
- " : Beno\356t Ansieau "
- "<"
- "benoit.ansieau@gmail.com>"
- "
"
- "" +
- tr("Programmation") +
- " : Xavier Guerrin "
- "<"
- "xavier.guerrin@gmail.com>"
- );
- auteurs -> setAlignment(Qt::AlignCenter);
- auteurs -> setOpenExternalLinks(true);
- auteurs -> setTextFormat(Qt::RichText);
- return(auteurs);
+QWidget *AboutQET::authorsTab() const {
+ QLabel *authors = new QLabel();
+ addAuthor(authors, "Beno\356t Ansieau", "benoit@qelectrotech.org", tr("Id\351e originale"));
+ addAuthor(authors, "Xavier Guerrin", "xavier@qelectrotech.org", tr("Programmation"));
+ addAuthor(authors, "Youssef Oualmakran", "youssefsan@qelectrotech.org", tr("Traduction en espagnol"));
+ authors -> setAlignment(Qt::AlignCenter);
+ authors -> setOpenExternalLinks(true);
+ authors -> setTextFormat(Qt::RichText);
+ return(authors);
}
/**
- @return Le widget contenu par l'onglet « Accord de Licence »
+ @return Le widget contenu par l'onglet "Accord de Licence"
*/
-QWidget *AboutQET::ongletLicence() const {
- QWidget *licence = new QWidget();
+QWidget *AboutQET::licenseTab() const {
+ QWidget *license = new QWidget();
// label
- QLabel *titre_licence = new QLabel(tr("Ce programme est sous licence GNU/GPL."));
+ QLabel *title_license = new QLabel(tr("Ce programme est sous licence GNU/GPL."));
// texte de la GNU/GPL dans une zone de texte scrollable non editable
- QTextEdit *texte_licence = new QTextEdit();
- texte_licence -> setPlainText(QET::license());
- texte_licence -> setReadOnly(true);
+ QTextEdit *text_license = new QTextEdit();
+ text_license -> setPlainText(QET::license());
+ text_license -> setReadOnly(true);
// le tout dans une disposition verticale
- QVBoxLayout *dispo_licence = new QVBoxLayout();
- dispo_licence -> addWidget(titre_licence);
- dispo_licence -> addWidget(texte_licence);
- licence -> setLayout(dispo_licence);
- return(licence);
+ QVBoxLayout *license_layout = new QVBoxLayout();
+ license_layout -> addWidget(title_license);
+ license_layout -> addWidget(text_license);
+ license -> setLayout(license_layout);
+ return(license);
+}
+
+/**
+ Ajoute une personne a la liste des auteurs
+ @param label QLabel auquel sera ajoute la personne
+ @param name Nom de la personne
+ @param email Adresse e-mail de la personne
+ @param work Fonction / travail effectue par la personne
+*/
+void AboutQET::addAuthor(QLabel *label, const QString &name, const QString &email, const QString &work) const {
+ QString new_text = label -> text();
+
+ QString author_template = "%1 : %2 <%3>
";
+
+ // ajoute la fonction de la personne
+ new_text += author_template.arg(work).arg(name).arg(email);
+ label -> setText(new_text);
}
diff --git a/sources/aboutqet.h b/sources/aboutqet.h
index dddb4c6dc..44707ccf7 100644
--- a/sources/aboutqet.h
+++ b/sources/aboutqet.h
@@ -18,6 +18,7 @@
#ifndef ABOUTQET_H
#define ABOUTQET_H
#include
+class QLabel;
/**
Cette classe represente la boite de dialogue
« A propos de QElectroTech »
@@ -35,9 +36,10 @@ class AboutQET : public QDialog {
// methodes
private:
- QWidget *titre() const;
- QWidget *ongletAPropos() const;
- QWidget *ongletAuteurs() const;
- QWidget *ongletLicence() const;
+ QWidget *title() const;
+ QWidget *aboutTab() const;
+ QWidget *authorsTab() const;
+ QWidget *licenseTab() const;
+ void addAuthor(QLabel *, const QString &, const QString &, const QString &) const;
};
#endif
diff --git a/sources/recentfiles.cpp b/sources/recentfiles.cpp
index a07d8ebb9..8147f2544 100644
--- a/sources/recentfiles.cpp
+++ b/sources/recentfiles.cpp
@@ -103,12 +103,15 @@ void RecentFiles::extractFilesFromSettings() {
Insere un fichier dans la liste des fichiers recents
*/
void RecentFiles::insertFile(const QString &filepath) {
+ // s'assure que le chemin soit exprime avec des separateurs conformes au systeme
+ QString filepath_ns = QDir::toNativeSeparators(filepath);
+
// evite d'inserer un chemin de fichier vide ou en double
- if (filepath.isEmpty()) return;
- list_.removeAll(filepath);
+ if (filepath_ns.isEmpty()) return;
+ list_.removeAll(filepath_ns);
// insere le chemin de fichier
- list_.push_front(filepath);
+ list_.push_front(filepath_ns);
// s'assure que l'on ne retient pas plus de fichiers que necessaire
while (list_.count() > size_) list_.removeLast();