mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-26 21:40:52 +01:00
Ajout de la possibilite de modifier les attributs du schema : titre, auteur, date
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@30 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
BIN
ico/info.png
Normal file
BIN
ico/info.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 KiB |
@@ -14,6 +14,7 @@
|
||||
<file>ico/export.png</file>
|
||||
<file>ico/fileclose.png</file>
|
||||
<file>ico/import.png</file>
|
||||
<file>ico/info.png</file>
|
||||
<file>ico/masquer.png</file>
|
||||
<file>ico/move.png</file>
|
||||
<file>ico/new.png</file>
|
||||
|
||||
57
qetapp.cpp
57
qetapp.cpp
@@ -225,6 +225,7 @@ void QETApp::actions() {
|
||||
sel_inverse = new QAction( tr("Inverser la s\351lection"), this);
|
||||
supprimer = new QAction(QIcon(":/ico/delete.png"), tr("Supprimer"), this);
|
||||
pivoter = new QAction(QIcon(":/ico/pivoter.png"), tr("Pivoter"), this);
|
||||
infos_schema = new QAction(QIcon(":/ico/info.png"), tr("Informations sur le sch\351ma"), this);
|
||||
|
||||
toggle_aa = new QAction( tr("D\351sactiver l'&antialiasing"), this);
|
||||
zoom_avant = new QAction(QIcon(":/ico/viewmag+.png"), tr("Zoom avant"), this);
|
||||
@@ -305,6 +306,7 @@ void QETApp::actions() {
|
||||
sel_inverse -> setStatusTip(tr("D\351s\351lectionne les \351l\351ments s\351lectionn\351s et s\351lectionne les \351l\351ments non s\351lectionn\351s"));
|
||||
supprimer -> setStatusTip(tr("Enl\350ve les \351l\351ments s\351lectionn\351s du sch\351ma"));
|
||||
pivoter -> setStatusTip(tr("Pivote les \351l\351ments s\351lectionn\351s"));
|
||||
infos_schema -> setStatusTip(tr("\311dite les informations affich\351es par le cartouche"));
|
||||
|
||||
toggle_aa -> setStatusTip(tr("Active / d\351sactive l'antialiasing pour le rendu du sch\351ma courant"));
|
||||
zoom_avant -> setStatusTip(tr("Agrandit le sch\351ma"));
|
||||
@@ -368,11 +370,12 @@ void QETApp::actions() {
|
||||
connect(copier, SIGNAL(triggered()), this, SLOT(slot_copier()) );
|
||||
connect(coller, SIGNAL(triggered()), this, SLOT(slot_coller()) );
|
||||
connect(toggle_aa, SIGNAL(triggered()), this, SLOT(toggleAntialiasing()) );
|
||||
connect(f_mosaique, SIGNAL(triggered()), &workspace, SLOT(tile()));
|
||||
connect(f_cascade, SIGNAL(triggered()), &workspace, SLOT(cascade()));
|
||||
connect(f_reorganise, SIGNAL(triggered()), &workspace, SLOT(arrangeIcons()));
|
||||
connect(f_suiv, SIGNAL(triggered()), &workspace, SLOT(activateNextWindow()));
|
||||
connect(f_prec, SIGNAL(triggered()), &workspace, SLOT(activatePreviousWindow()));
|
||||
connect(f_mosaique, SIGNAL(triggered()), &workspace, SLOT(tile()) );
|
||||
connect(f_cascade, SIGNAL(triggered()), &workspace, SLOT(cascade()) );
|
||||
connect(f_reorganise, SIGNAL(triggered()), &workspace, SLOT(arrangeIcons()) );
|
||||
connect(f_suiv, SIGNAL(triggered()), &workspace, SLOT(activateNextWindow()) );
|
||||
connect(f_prec, SIGNAL(triggered()), &workspace, SLOT(activatePreviousWindow()) );
|
||||
connect(infos_schema, SIGNAL(activated()), this, SLOT(editInfos()) );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -423,6 +426,8 @@ void QETApp::menus() {
|
||||
menu_edition -> addSeparator();
|
||||
menu_edition -> addAction(supprimer);
|
||||
menu_edition -> addAction(pivoter);
|
||||
menu_edition -> addSeparator();
|
||||
menu_edition -> addAction(infos_schema);
|
||||
|
||||
// menu Affichage > Afficher
|
||||
QMenu *menu_aff_aff = new QMenu(tr("Afficher"));
|
||||
@@ -747,6 +752,7 @@ void QETApp::slot_updateActions() {
|
||||
zoom_adapte -> setEnabled(document_ouvert);
|
||||
zoom_reset -> setEnabled(document_ouvert);
|
||||
toggle_aa -> setEnabled(document_ouvert);
|
||||
infos_schema -> setEnabled(document_ouvert);
|
||||
|
||||
// actions ayant aussi besoin d'un historique des actions
|
||||
annuler -> setEnabled(document_ouvert);
|
||||
@@ -926,3 +932,44 @@ QString QETApp::languagesPath() {
|
||||
return(QDir::current().path() + "/lang/");
|
||||
}
|
||||
|
||||
void QETApp::editInfos() {
|
||||
// ne fait rien s'il n'y a pas de schema ouvert
|
||||
SchemaVue *sv = schemaEnCours();
|
||||
if (!sv) return;
|
||||
|
||||
// construit le dialogue
|
||||
QDialog popup;
|
||||
popup.setMinimumWidth(400);
|
||||
popup.setWindowTitle(tr("Cartouche du sch\351ma"));
|
||||
|
||||
QLineEdit *titre = new QLineEdit(sv -> scene -> titre);
|
||||
QLineEdit *auteur = new QLineEdit(sv -> scene -> auteur);
|
||||
QDate date_schema = QDate(sv -> scene -> date);
|
||||
if (date_schema.isNull() || !date_schema.isValid()) date_schema = QDate::currentDate();
|
||||
QDateEdit *date = new QDateEdit(date_schema);
|
||||
date -> setCalendarPopup(true);
|
||||
QWidget bidon;
|
||||
QGridLayout layout_champs(&bidon);
|
||||
layout_champs.addWidget(new QLabel(tr("Titre : ")), 0, 0);
|
||||
layout_champs.addWidget(titre, 0, 1);
|
||||
layout_champs.addWidget(new QLabel(tr("Auteur : ")), 1, 0);
|
||||
layout_champs.addWidget(auteur, 1, 1);
|
||||
layout_champs.addWidget(new QLabel(tr("Date : ")), 2, 0);
|
||||
layout_champs.addWidget(date, 2, 1);
|
||||
|
||||
// boutons
|
||||
QDialogButtonBox boutons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
connect(&boutons, SIGNAL(accepted()), &popup, SLOT(accept()));
|
||||
connect(&boutons, SIGNAL(rejected()), &popup, SLOT(accept()));
|
||||
|
||||
// ajout dans une disposition verticale
|
||||
QVBoxLayout layout_v(&popup);
|
||||
layout_v.addWidget(&bidon);
|
||||
layout_v.addWidget(&boutons);
|
||||
if (popup.exec() == QDialog::Accepted) {
|
||||
sv -> scene -> titre = titre -> text();
|
||||
sv -> scene -> auteur = auteur -> text();
|
||||
sv -> scene -> date = date -> date();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
2
qetapp.h
2
qetapp.h
@@ -30,6 +30,7 @@
|
||||
void toggleFullScreen();
|
||||
void toggleAntialiasing();
|
||||
void aPropos();
|
||||
void editInfos();
|
||||
void dialogue_imprimer();
|
||||
void dialogue_exporter();
|
||||
bool dialogue_enregistrer_sous();
|
||||
@@ -62,6 +63,7 @@
|
||||
QAction *supprimer;
|
||||
QAction *selectionner;
|
||||
QAction *pivoter;
|
||||
QAction *infos_schema;
|
||||
QAction *poser_fil;
|
||||
QAction *masquer_appli;
|
||||
QAction *restaurer_appli;
|
||||
|
||||
8
schema.h
8
schema.h
@@ -26,16 +26,16 @@
|
||||
bool fromXml(QDomDocument &, QPointF = QPointF());
|
||||
QGraphicsItem *getElementById(uint id);
|
||||
inline void setAffichageGrille(bool ddg) { doit_dessiner_grille = ddg; }
|
||||
|
||||
private:
|
||||
QGraphicsLineItem *poseur_de_conducteur;
|
||||
bool doit_dessiner_grille;
|
||||
// elements du cartouche
|
||||
QString auteur;
|
||||
QDate date;
|
||||
QString titre;
|
||||
QString folio; // vraiment necessaire ce truc ?
|
||||
QString nom_fichier; // meme remarque
|
||||
|
||||
private:
|
||||
QGraphicsLineItem *poseur_de_conducteur;
|
||||
bool doit_dessiner_grille;
|
||||
Element *elementFromXml(QDomElement &e, QHash<int, Borne *> &);
|
||||
|
||||
private slots:
|
||||
|
||||
Reference in New Issue
Block a user