Merged trunk into 0.3 branch: rev1057 to rev1065

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/branches/0.3@1177 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2011-03-01 22:52:11 +00:00
parent d5f0466576
commit d2e99b5d0b

View File

@@ -382,6 +382,20 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
QList<QGraphicsItem *> selected_elmts = diagram -> selectedItems(); QList<QGraphicsItem *> selected_elmts = diagram -> selectedItems();
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false); foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(false);
// enleve le flag focusable de tous les elements concernes pour eviter toute reprise de focus par un champ de texte editable
QList<QGraphicsItem *> focusable_items;
foreach (QGraphicsItem *qgi, diagram -> items()) {
if (qgi -> flags() & QGraphicsItem::ItemIsFocusable) {
focusable_items << qgi;
qgi -> setFlag(QGraphicsItem::ItemIsFocusable, false);
}
}
// evite toute autre forme d'interaction
foreach (QGraphicsView *view, diagram -> views()) {
view -> setInteractive(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);
@@ -446,6 +460,16 @@ void DiagramPrintDialog::printDiagram(Diagram *diagram, bool fit_page, const Exp
} }
} }
// remet en place les interactions
foreach (QGraphicsView *view, diagram -> views()) {
view -> setInteractive(true);
}
// restaure les flags focusable
foreach (QGraphicsItem *qgi, focusable_items) {
qgi -> setFlag(QGraphicsItem::ItemIsFocusable, true);
}
// restaure les elements selectionnes // restaure les elements selectionnes
foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true); foreach (QGraphicsItem *qgi, selected_elmts) qgi -> setSelected(true);