Rapatriement dans la branche 0.3 des revisions 815 a 833.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@834 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2010-01-03 19:51:02 +00:00
parent 07bf60674d
commit 84318eb6ae
5 changed files with 110 additions and 36 deletions

View File

@@ -0,0 +1,59 @@
.TH QELECTROTECH 1 "Agosto de 2008" QElectroTech "Manual del usuario"
.SH NOMBRE
qelectrotech \- Editor de esquemas eléctricos
.SH SYNOPSIS
.B qelectrotech
.B [\-\-common\-elements\-dir\fR=\fIREP\fB]
.B [\-\-config\-dir\-elements\-dir\fR=\fIREP\fB]
.B [\-\-lang\-dir\fR=\fIREP\fB]
.B [\-\-help]
.B [\-v\fR|\fB\-\-version]
.B [\-\-license]
.B [\fIFICHERO\fB]...
. SH DESCRIPCIÓN
QElectroTech es un editor de esquemas eléctricos. Los esquemas (*.qet) y los elementos eléctricos (*.elmt) se registran al formato XML.
Los elementos disponibles sobre el esquema pueden proceder de la colección común o la colección usuario.
Típicamente, la colección común es accesible a todos los usuarios pero ella no es éditable por ellos.
La colección usuario es consustancial a cada usuario y puede modificarse como le parezca.
.SH OPCIONES
.TP
\fB\-\-common\-elements\-dir\fR=\fIREP\fR
Utiliza el expediente REP como raíz de la colección de elementos común. Nota: esta opción no se activa si la directiva QET_ALLOW_OVERRIDE_CED_OPTION se ha especificado durante la compilación.
.TP
\fB\-\-config\-dir\fR=\fIREP\fR
Utiliza el expediente REP como expediente de configuración del usuario corriente. Este expediente acoge un fichero qelectrotech.conf que contiene la configuración de la aplicación y un bajoexpediente que contiene la colección de elementos del usuario. Nota : esta opción no se activa si la directiva QET_ALLOW_OVERRIDE_CD_OPTION se ha especificado durante la compilación.
.TP
\fB\-\-lang\-dir\fR=\fIREP\fR
Busca los ficheros de traducción de la aplicación en el expediente REP.
.TP
\fB\-\-help\fR
Exhibe una breve descripción de las opciones disponibles.
.TP
\fB\-v\fR, \fB\-\-version\fR
Exhibe la versión de la aplicación (ejemple: 0.1)
.TP
\fB\-\-license\fR
Exhibe la licencia de la aplicación (GNU/GPL)
A tener en cuenta que si una de las tres últimas opciones especificarse en la línea de comando, el programa se detenga después de exhibir la información correspondiente.
Si una instancia de la aplicación ya fue lanzada por el usuario, sera la que tendrá en cuenta la línea de comando, y, en particular, los ficheros que deben abrirse.
Las opciones que redefinirán los expedientes (colección común, directorio de configuración y ficheros de lengua) no obstante no se tendrán en cuenta.
Si el nombre de un fichero que debe abrirse termina en .elmt, QElectroTech intentará abrirse en un editor de elemento.
De no ser así, los considerará como esquemas.
.SH AUTORES
Benoit Ansieau <benoit.ansieau@gmail.com>
.br
Xavier Guerrin <xavier.guerrin@gmail.com>
. SH INDICAR BUGS
Si encuentra un comportamiento que le parece anormal en la aplicación, consulte nuestro FAQ <http://qelectrotech.org/wiki/doku.php?id=doc:faq> y nuestro BugTracker <http://qelectrotech.org/bugtracker/> para ver si el problema ya se conoce. En caso negativo, presentar un informe de bug mediante el BugTracker.
.SH COPYRIGHT
Copyright © Los desarrolladores de QElectroTech
.br
Licencia: GNU/GPL v2+: <http://www.gnu.org/licenses/old\-licenses/gpl\-2.0.html>
.br
Este programa es un programa informático libre. Puede modificarlo y redistribuirlo. Se proporciona tal cual y SIN NINGUNA GARANTÍA.
. SH VER TAMBIÉN
Sitio oficial : <http://qelectrotech.org/>

View File

@@ -123,7 +123,7 @@ class Conductor : public QObject, public QGraphicsPathItem {
static QBrush square_brush; static QBrush square_brush;
static bool pen_and_brush_initialized; static bool pen_and_brush_initialized;
/// facteur de taille du carre de saisie du segment /// facteur de taille du carre de saisie du segment
int segments_squares_scale_; qreal segments_squares_scale_;
private: private:
void segmentsToPath(); void segmentsToPath();

View File

@@ -320,6 +320,7 @@ void DiagramPrintDialog::browseFilePrintTypeDialog() {
if (!filepath.isEmpty()) { if (!filepath.isEmpty()) {
if (!filepath.endsWith(extension)) filepath += extension; if (!filepath.endsWith(extension)) filepath += extension;
filepath = QDir::toNativeSeparators(QDir::cleanPath(filepath));
filepath_field_ -> setText(filepath); filepath_field_ -> setText(filepath);
} }
} }
@@ -372,6 +373,10 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
saveReloadDiagramParameters(diagram, options, true); saveReloadDiagramParameters(diagram, options, true);
// deselectionne tous les elements
QList<QGraphicsItem *> selected_elmts = diagram -> selectedItems();
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false);
if (fit_page) { if (fit_page) {
// impression adaptee sur une seule page // impression adaptee sur une seule page
diagram -> render(qp, QRectF(), diagramRect(diagram), Qt::KeepAspectRatio); diagram -> render(qp, QRectF(), diagramRect(diagram), Qt::KeepAspectRatio);
@@ -415,10 +420,7 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
QVector<QRect> pages_to_print; QVector<QRect> pages_to_print;
for (int i = 0 ; i < v_pages_count ; ++ i) { for (int i = 0 ; i < v_pages_count ; ++ i) {
for (int j = 0 ; j < h_pages_count ; ++ j) { for (int j = 0 ; j < h_pages_count ; ++ j) {
//int page_number = (i * h_pages_count) + j + 1;
//if (page_number >= first_page && page_number <= last_page) {
pages_to_print << pages_grid.at(i).at(j); pages_to_print << pages_grid.at(i).at(j);
//}
} }
} }
//qDebug() << " " << pages_to_print.count() << " pages a imprimer :"; //qDebug() << " " << pages_to_print.count() << " pages a imprimer :";
@@ -438,6 +440,10 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
} }
} }
} }
// restaure les elements selectionnes
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true);
saveReloadDiagramParameters(diagram, options, false); saveReloadDiagramParameters(diagram, options, false);
} }

View File

@@ -403,20 +403,40 @@ void QETElementEditor::setupMenus() {
Met a jour les menus Met a jour les menus
*/ */
void QETElementEditor::slot_updateMenus() { void QETElementEditor::slot_updateMenus() {
bool selected_items = !ce_scene -> selectedItems().isEmpty(); bool selected_items = !read_only && !ce_scene -> selectedItems().isEmpty();
bool clipboard_elmt = ElementScene::clipboardMayContainElement(); bool clipboard_elmt = !read_only && ElementScene::clipboardMayContainElement();
// actions dependant seulement de l'etat "lecture seule" de l'editeur
foreach (QAction *action, parts -> actions()) {
action -> setEnabled(!read_only);
}
selectall -> setEnabled(!read_only);
inv_select -> setEnabled(!read_only);
paste_from_file -> setEnabled(!read_only);
paste_from_elmt -> setEnabled(!read_only);
edit_size_hs -> setEnabled(!read_only);
edit_names -> setEnabled(!read_only);
edit_ori -> setEnabled(!read_only);
parts_list -> setEnabled(!read_only);
// actions dependant de la presence de parties selectionnees
deselectall -> setEnabled(selected_items); deselectall -> setEnabled(selected_items);
cut -> setEnabled(selected_items); cut -> setEnabled(selected_items);
copy -> setEnabled(selected_items); copy -> setEnabled(selected_items);
paste -> setEnabled(clipboard_elmt);
paste_in_area -> setEnabled(clipboard_elmt);
edit_delete -> setEnabled(selected_items); edit_delete -> setEnabled(selected_items);
edit_forward -> setEnabled(selected_items); edit_forward -> setEnabled(selected_items);
edit_raise -> setEnabled(selected_items); edit_raise -> setEnabled(selected_items);
edit_lower -> setEnabled(selected_items); edit_lower -> setEnabled(selected_items);
edit_backward -> setEnabled(selected_items); edit_backward -> setEnabled(selected_items);
save -> setEnabled(!ce_scene -> undoStack().isClean());
// actions dependant du contenu du presse-papiers
paste -> setEnabled(clipboard_elmt);
paste_in_area -> setEnabled(clipboard_elmt);
// actions dependant de l'etat de la pile d'annulation
save -> setEnabled(!read_only && !ce_scene -> undoStack().isClean());
undo -> setEnabled(!read_only && ce_scene -> undoStack().canUndo());
redo -> setEnabled(!read_only && ce_scene -> undoStack().canRedo());
slot_updateFullScreenAction(); slot_updateFullScreenAction();
} }
@@ -704,6 +724,8 @@ void QETElementEditor::fromFile(const QString &filepath) {
tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content")
); );
setReadOnly(true); setReadOnly(true);
} else {
setReadOnly(false);
} }
// memorise le fichier // memorise le fichier
@@ -775,26 +797,11 @@ bool QETElementEditor::toLocation(const ElementsLocation &location) {
*/ */
void QETElementEditor::setReadOnly(bool ro) { void QETElementEditor::setReadOnly(bool ro) {
read_only = ro; read_only = ro;
// active / desactive les actions
foreach (QAction *action, parts -> actions()) action -> setEnabled(!ro);
// active / desactive les interactions avec la scene // active / desactive les interactions avec la scene
ce_view -> setInteractive(!ro); ce_view -> setInteractive(!ro);
// active / desactive l'edition de la taille, du hotspot, des noms et des orientations slot_updateMenus();
cut -> setEnabled(!ro);
copy -> setEnabled(!ro);
paste -> setEnabled(!ro);
selectall -> setEnabled(!ro);
deselectall -> setEnabled(!ro);
inv_select -> setEnabled(!ro);
undo -> setEnabled(!ro);
redo -> setEnabled(!ro);
edit_delete -> setEnabled(!ro);
edit_size_hs -> setEnabled(!ro);
edit_names -> setEnabled(!ro);
edit_ori -> setEnabled(!ro);
parts_list -> setEnabled(!ro);
} }
/** /**
@@ -1236,6 +1243,8 @@ void QETElementEditor::fromLocation(const ElementsLocation &location) {
tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content") tr("Vous n'avez pas les privil\350ges n\351cessaires pour modifier cet \351lement. Il sera donc ouvert en lecture seule.", "message box content")
); );
setReadOnly(true); setReadOnly(true);
} else {
setReadOnly(false);
} }
// memorise le fichier // memorise le fichier

View File

@@ -513,7 +513,7 @@ void ProjectView::printProject() {
QString dir_path = project_ -> currentDir(); QString dir_path = project_ -> currentDir();
// determine un chemin pour le pdf / ps // determine un chemin pour le pdf / ps
QString file_name = QDir::toNativeSeparators(dir_path + "/" + doc_name); QString file_name = QDir::toNativeSeparators(QDir::cleanPath(dir_path + "/" + doc_name));
DiagramPrintDialog print_dialog(project_, this); DiagramPrintDialog print_dialog(project_, this);
print_dialog.setDocName(doc_name); print_dialog.setDocName(doc_name);