mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-09-14 20:33:05 +02:00
La liste des fichiers recents n'utilisait pas le separateur de fichier du systeme.
Mise a jour de la classe AboutQET : ajout de Youssef git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@559 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
parent
4da7e54d75
commit
d8f09f625a
@ -32,22 +32,22 @@ AboutQET::AboutQET(QWidget *parent) : QDialog(parent) {
|
|||||||
setModal(true);
|
setModal(true);
|
||||||
|
|
||||||
// Trois onglets
|
// Trois onglets
|
||||||
QETTabWidget *onglets = new QETTabWidget(this);
|
QETTabWidget *tabs = new QETTabWidget(this);
|
||||||
onglets -> addTab(ongletAPropos(), tr("\300 &propos","tab title"));
|
tabs -> addTab(aboutTab(), tr("\300 &propos", "tab title"));
|
||||||
onglets -> addTab(ongletAuteurs(), tr("A&uteurs", "tab title"));
|
tabs -> addTab(authorsTab(), tr("A&uteurs", "tab title"));
|
||||||
onglets -> addTab(ongletLicence(), tr("&Accord de licence", "tab title"));
|
tabs -> addTab(licenseTab(), tr("&Accord de licence", "tab title"));
|
||||||
|
|
||||||
// Un bouton pour fermer la boite de dialogue
|
// Un bouton pour fermer la boite de dialogue
|
||||||
QDialogButtonBox *boutons = new QDialogButtonBox(QDialogButtonBox::Close);
|
QDialogButtonBox *buttons = new QDialogButtonBox(QDialogButtonBox::Close);
|
||||||
connect(boutons, SIGNAL(accepted()), this, SLOT(accept()));
|
connect(buttons, SIGNAL(accepted()), this, SLOT(accept()));
|
||||||
connect(boutons, SIGNAL(rejected()), this, SLOT(accept()));
|
connect(buttons, SIGNAL(rejected()), this, SLOT(accept()));
|
||||||
|
|
||||||
// Le tout dans une disposition verticale
|
// Le tout dans une disposition verticale
|
||||||
QVBoxLayout *disposition = new QVBoxLayout();
|
QVBoxLayout *vlayout = new QVBoxLayout();
|
||||||
disposition -> addWidget(titre());
|
vlayout -> addWidget(title());
|
||||||
disposition -> addWidget(onglets);
|
vlayout -> addWidget(tabs);
|
||||||
disposition -> addWidget(boutons);
|
vlayout -> addWidget(buttons);
|
||||||
setLayout(disposition);
|
setLayout(vlayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -59,29 +59,29 @@ AboutQET::~AboutQET() {
|
|||||||
/**
|
/**
|
||||||
@return Le titre QElectroTech avec son icone
|
@return Le titre QElectroTech avec son icone
|
||||||
*/
|
*/
|
||||||
QWidget *AboutQET::titre() const {
|
QWidget *AboutQET::title() const {
|
||||||
QWidget *icone_et_titre = new QWidget();
|
QWidget *icon_and_title = new QWidget();
|
||||||
// icone
|
// icone
|
||||||
QLabel *icone = new QLabel();
|
QLabel *icon = new QLabel();
|
||||||
icone -> setPixmap(QIcon(":/ico/qelectrotech.png").pixmap(48, 48));
|
icon -> setPixmap(QIcon(":/ico/qelectrotech.png").pixmap(48, 48));
|
||||||
// label "QElectroTech"
|
// label "QElectroTech"
|
||||||
QLabel *titre = new QLabel("<span style=\"font-weight:0;font-size:16pt;\">QElectroTech v" + QET::displayedVersion + "</span>");
|
QLabel *title = new QLabel("<span style=\"font-weight:0;font-size:16pt;\">QElectroTech v" + QET::displayedVersion + "</span>");
|
||||||
titre -> setTextFormat(Qt::RichText);
|
title -> setTextFormat(Qt::RichText);
|
||||||
// le tout dans une grille
|
// le tout dans une grille
|
||||||
QGridLayout *dispo_horiz = new QGridLayout();
|
QGridLayout *grid_layout = new QGridLayout();
|
||||||
dispo_horiz -> addWidget(icone, 0, 0);
|
grid_layout -> addWidget(icon, 0, 0);
|
||||||
dispo_horiz -> addWidget(titre, 0, 1);
|
grid_layout -> addWidget(title, 0, 1);
|
||||||
dispo_horiz -> setColumnStretch(0, 1);
|
grid_layout -> setColumnStretch(0, 1);
|
||||||
dispo_horiz -> setColumnStretch(1, 100);
|
grid_layout -> setColumnStretch(1, 100);
|
||||||
icone_et_titre -> setLayout(dispo_horiz);
|
icon_and_title -> setLayout(grid_layout);
|
||||||
return(icone_et_titre);
|
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 {
|
QWidget *AboutQET::aboutTab() const {
|
||||||
QLabel *apropos = new QLabel(
|
QLabel *about = new QLabel(
|
||||||
tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.") +
|
tr("QElectroTech, une application de r\351alisation de sch\351mas \351lectriques.") +
|
||||||
"<br><br>" +
|
"<br><br>" +
|
||||||
tr("\251 2006-2009 Les d\351veloppeurs de QElectroTech") +
|
tr("\251 2006-2009 Les d\351veloppeurs de QElectroTech") +
|
||||||
@ -89,52 +89,60 @@ QWidget *AboutQET::ongletAPropos() const {
|
|||||||
"<a href=\"http://qelectrotech.org/\">"
|
"<a href=\"http://qelectrotech.org/\">"
|
||||||
"http://qelectrotech.org/</a>"
|
"http://qelectrotech.org/</a>"
|
||||||
);
|
);
|
||||||
apropos -> setAlignment(Qt::AlignCenter);
|
about -> setAlignment(Qt::AlignCenter);
|
||||||
apropos -> setOpenExternalLinks(true);
|
about -> setOpenExternalLinks(true);
|
||||||
apropos -> setTextFormat(Qt::RichText);
|
about -> setTextFormat(Qt::RichText);
|
||||||
return(apropos);
|
return(about);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@return Le widget contenu par l'onglet « Auteurs »
|
@return Le widget contenu par l'onglet "Auteurs"
|
||||||
*/
|
*/
|
||||||
QWidget *AboutQET::ongletAuteurs() const {
|
QWidget *AboutQET::authorsTab() const {
|
||||||
QLabel *auteurs = new QLabel(
|
QLabel *authors = new QLabel();
|
||||||
"<span style=\"text-decoration: underline;\">" +
|
addAuthor(authors, "Beno\356t Ansieau", "benoit@qelectrotech.org", tr("Id\351e originale"));
|
||||||
tr("Id\351e originale") +
|
addAuthor(authors, "Xavier Guerrin", "xavier@qelectrotech.org", tr("Programmation"));
|
||||||
"</span> : Beno\356t Ansieau "
|
addAuthor(authors, "Youssef Oualmakran", "youssefsan@qelectrotech.org", tr("Traduction en espagnol"));
|
||||||
"<<a href=\"mailto:benoit.ansieau@gmail.com\">"
|
authors -> setAlignment(Qt::AlignCenter);
|
||||||
"benoit.ansieau@gmail.com</a>>"
|
authors -> setOpenExternalLinks(true);
|
||||||
"<br><br>"
|
authors -> setTextFormat(Qt::RichText);
|
||||||
"<span style=\"text-decoration: underline;\">" +
|
return(authors);
|
||||||
tr("Programmation") +
|
|
||||||
"</span> : Xavier Guerrin "
|
|
||||||
"<<a href=\"mailto:xavier.guerrin@gmail.com\">"
|
|
||||||
"xavier.guerrin@gmail.com</a>>"
|
|
||||||
);
|
|
||||||
auteurs -> setAlignment(Qt::AlignCenter);
|
|
||||||
auteurs -> setOpenExternalLinks(true);
|
|
||||||
auteurs -> setTextFormat(Qt::RichText);
|
|
||||||
return(auteurs);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@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 *AboutQET::licenseTab() const {
|
||||||
QWidget *licence = new QWidget();
|
QWidget *license = new QWidget();
|
||||||
// label
|
// 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
|
// texte de la GNU/GPL dans une zone de texte scrollable non editable
|
||||||
QTextEdit *texte_licence = new QTextEdit();
|
QTextEdit *text_license = new QTextEdit();
|
||||||
texte_licence -> setPlainText(QET::license());
|
text_license -> setPlainText(QET::license());
|
||||||
texte_licence -> setReadOnly(true);
|
text_license -> setReadOnly(true);
|
||||||
|
|
||||||
// le tout dans une disposition verticale
|
// le tout dans une disposition verticale
|
||||||
QVBoxLayout *dispo_licence = new QVBoxLayout();
|
QVBoxLayout *license_layout = new QVBoxLayout();
|
||||||
dispo_licence -> addWidget(titre_licence);
|
license_layout -> addWidget(title_license);
|
||||||
dispo_licence -> addWidget(texte_licence);
|
license_layout -> addWidget(text_license);
|
||||||
licence -> setLayout(dispo_licence);
|
license -> setLayout(license_layout);
|
||||||
return(licence);
|
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 = "<span style=\"text-decoration: underline;\">%1</span> : %2 <<a href=\"mailto:%3\">%3</a>><br><br>";
|
||||||
|
|
||||||
|
// ajoute la fonction de la personne
|
||||||
|
new_text += author_template.arg(work).arg(name).arg(email);
|
||||||
|
label -> setText(new_text);
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,7 @@
|
|||||||
#ifndef ABOUTQET_H
|
#ifndef ABOUTQET_H
|
||||||
#define ABOUTQET_H
|
#define ABOUTQET_H
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
class QLabel;
|
||||||
/**
|
/**
|
||||||
Cette classe represente la boite de dialogue
|
Cette classe represente la boite de dialogue
|
||||||
« A propos de QElectroTech »
|
« A propos de QElectroTech »
|
||||||
@ -35,9 +36,10 @@ class AboutQET : public QDialog {
|
|||||||
|
|
||||||
// methodes
|
// methodes
|
||||||
private:
|
private:
|
||||||
QWidget *titre() const;
|
QWidget *title() const;
|
||||||
QWidget *ongletAPropos() const;
|
QWidget *aboutTab() const;
|
||||||
QWidget *ongletAuteurs() const;
|
QWidget *authorsTab() const;
|
||||||
QWidget *ongletLicence() const;
|
QWidget *licenseTab() const;
|
||||||
|
void addAuthor(QLabel *, const QString &, const QString &, const QString &) const;
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
@ -103,12 +103,15 @@ void RecentFiles::extractFilesFromSettings() {
|
|||||||
Insere un fichier dans la liste des fichiers recents
|
Insere un fichier dans la liste des fichiers recents
|
||||||
*/
|
*/
|
||||||
void RecentFiles::insertFile(const QString &filepath) {
|
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
|
// evite d'inserer un chemin de fichier vide ou en double
|
||||||
if (filepath.isEmpty()) return;
|
if (filepath_ns.isEmpty()) return;
|
||||||
list_.removeAll(filepath);
|
list_.removeAll(filepath_ns);
|
||||||
|
|
||||||
// insere le chemin de fichier
|
// 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
|
// s'assure que l'on ne retient pas plus de fichiers que necessaire
|
||||||
while (list_.count() > size_) list_.removeLast();
|
while (list_.count() > size_) list_.removeLast();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user