From 922ce67b1bc3b442f24d5ea4f7ed0d3ae59a6f66 Mon Sep 17 00:00:00 2001 From: xavier Date: Mon, 28 Dec 2009 17:16:54 +0000 Subject: [PATCH] Corrections de bugs mineurs au niveau de l'impression : * les objets selectionnes etaient imprimes tels quels * apres selection d'un chemin pour un fichier PDF/PS sous Windows, celuik-ci apparaissait avec des / et non des \ * ce meme champ evite desormais d'afficher des doubles / ou doubles \ git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@823 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/diagramprintdialog.cpp | 16 +++++++++++----- sources/projectview.cpp | 2 +- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/sources/diagramprintdialog.cpp b/sources/diagramprintdialog.cpp index 21a2e05bf..ad242d189 100644 --- a/sources/diagramprintdialog.cpp +++ b/sources/diagramprintdialog.cpp @@ -320,6 +320,7 @@ void DiagramPrintDialog::browseFilePrintTypeDialog() { if (!filepath.isEmpty()) { if (!filepath.endsWith(extension)) filepath += extension; + filepath = QDir::toNativeSeparators(QDir::cleanPath(filepath)); filepath_field_ -> setText(filepath); } } @@ -355,7 +356,7 @@ void DiagramPrintDialog::print(const QList &diagrams, bool fit_page, /** Imprime un schema @param diagram Schema a imprimer - @param fit_page True pour adapter les schemas aux pages, false sinon + @param fit_page True pour adapter les schemas aux pages, false sinon @param options Options de rendu a appliquer pour l'impression @param qp QPainter a utiliser (deja initialise sur printer) @param printer Imprimante a utiliser @@ -372,6 +373,10 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp saveReloadDiagramParameters(diagram, options, true); + // deselectionne tous les elements + QList selected_elmts = diagram -> selectedItems(); + foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false); + if (fit_page) { // impression adaptee sur une seule page diagram -> render(qp, QRectF(), diagramRect(diagram), Qt::KeepAspectRatio); @@ -415,10 +420,7 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp QVector pages_to_print; for (int i = 0 ; i < v_pages_count ; ++ i) { 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 :"; @@ -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); } diff --git a/sources/projectview.cpp b/sources/projectview.cpp index 3f32b6e19..b2793d23d 100644 --- a/sources/projectview.cpp +++ b/sources/projectview.cpp @@ -513,7 +513,7 @@ void ProjectView::printProject() { QString dir_path = project_ -> currentDir(); // 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); print_dialog.setDocName(doc_name);