diff --git a/sources/borderinset.cpp b/sources/borderinset.cpp index 12898c134..8518639f2 100644 --- a/sources/borderinset.cpp +++ b/sources/borderinset.cpp @@ -268,7 +268,7 @@ void BorderInset::draw(QPainter *qp, qreal x, qreal y) { qp -> drawText(inset_date, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Date : %1", "inset content")).arg(bi_date.toString("dd/MM/yyyy"))); qp -> drawRect(inset_title); - qp -> drawText(inset_title, Qt::AlignVCenter | Qt::AlignCenter, QString(tr("Titre du document : %1", "inset content")).arg(bi_title)); + qp -> drawText(inset_title, Qt::AlignVCenter | Qt::AlignCenter, QString("%1").arg(bi_title)); qp -> drawRect(inset_file); qp -> drawText(inset_file, Qt::AlignVCenter | Qt::AlignLeft, QString(tr(" Fichier : %1", "inset content")).arg(bi_filename)); diff --git a/sources/diagram.cpp b/sources/diagram.cpp index f4e91e534..2bcc71aac 100644 --- a/sources/diagram.cpp +++ b/sources/diagram.cpp @@ -111,11 +111,13 @@ void Diagram::drawBackground(QPainter *p, const QRectF &r) { int g_y = (int)ceil(r.y()); while (g_y % yGrid) ++ g_y; + QPolygon points; for (int gx = g_x ; gx < limite_x ; gx += xGrid) { for (int gy = g_y ; gy < limite_y ; gy += yGrid) { - p -> drawPoint(gx, gy); + points << QPoint(gx, gy); } } + p -> drawPoints(points); } if (use_border) border_and_inset.draw(p, margin, margin); diff --git a/sources/diagramprintdialog.cpp b/sources/diagramprintdialog.cpp index 189e1051b..1981f47a1 100644 --- a/sources/diagramprintdialog.cpp +++ b/sources/diagramprintdialog.cpp @@ -121,7 +121,12 @@ void DiagramPrintDialog::exec() { } // Apercu avant impression +#if defined Q_WS_X11 + // suite a quelques soucis avec xfwm, on se contente d'une fenetre sous X11 + QETPrintPreviewDialog preview_dialog(project_, printer_, parentWidget(), Qt::Window); +#else QETPrintPreviewDialog preview_dialog(project_, printer_, parentWidget()); +#endif connect( &preview_dialog, SIGNAL(paintRequested(const QList &, bool, const ExportProperties, QPrinter *)), diff --git a/sources/diagramschooser.cpp b/sources/diagramschooser.cpp index e48ce7ed6..e2e95835b 100644 --- a/sources/diagramschooser.cpp +++ b/sources/diagramschooser.cpp @@ -25,15 +25,23 @@ @param parent QWidget parent de ce widget */ DiagramsChooser::DiagramsChooser(QETProject *project, QWidget *parent) : - QFrame(parent), + QScrollArea(parent), project_(project), + widget0_(0), vlayout0_(0) { setFrameShadow(QFrame::Sunken); setFrameShape(QFrame::StyledPanel); setLineWidth(3); setMidLineWidth(3); + + setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); + setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding)); + updateList(); + + setWidget(widget0_); } /** @@ -163,7 +171,6 @@ void DiagramsChooser::updateList() { diagrams_.insert(diagram, checkbox); vlayout0_ -> addWidget(checkbox, 0, Qt::AlignLeft | Qt::AlignTop); } - vlayout0_ -> addStretch(); } /** @@ -172,5 +179,9 @@ void DiagramsChooser::updateList() { void DiagramsChooser::buildLayout() { if (vlayout0_) return; vlayout0_ = new QVBoxLayout(); - setLayout(vlayout0_); + widget0_ = new QWidget(); + widget0_ -> setLayout(vlayout0_); + widget0_ -> setMinimumSize(170, 0); + widget0_ -> setMaximumSize(470, 10000); + widget0_ -> setSizePolicy(QSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum)); } diff --git a/sources/diagramschooser.h b/sources/diagramschooser.h index 7e84093ce..03125f4f0 100644 --- a/sources/diagramschooser.h +++ b/sources/diagramschooser.h @@ -24,7 +24,7 @@ class Diagram; Cette classe represente un widget permettant de choisir 0 a n schemas parmi ceux d'un projet. */ -class DiagramsChooser : public QFrame { +class DiagramsChooser : public QScrollArea { Q_OBJECT // constructeurs, destructeur @@ -55,6 +55,7 @@ class DiagramsChooser : public QFrame { // attributs private: QETProject *project_; + QWidget *widget0_; QVBoxLayout *vlayout0_; QHash diagrams_; }; diff --git a/sources/qetprintpreviewdialog.cpp b/sources/qetprintpreviewdialog.cpp index f47ddf73c..3298f5d91 100644 --- a/sources/qetprintpreviewdialog.cpp +++ b/sources/qetprintpreviewdialog.cpp @@ -41,7 +41,7 @@ QETPrintPreviewDialog::QETPrintPreviewDialog(QETProject *project, QPrinter *prin connect(diagrams_list_, SIGNAL(selectionChanged()), preview_, SLOT(updatePreview())); connect(diagrams_list_, SIGNAL(selectionChanged()), this, SLOT(checkDiagramsCount())); - setWindowState(Qt::WindowMaximized); + setWindowState(windowState() | Qt::WindowMaximized); } /** @@ -148,6 +148,20 @@ void QETPrintPreviewDialog::zoomOut() { updateZoomList(); } +/** + Selectionne tous les schemas +*/ +void QETPrintPreviewDialog::selectAllDiagrams() { + diagrams_list_ -> setSelectedAllDiagrams(true); +} + +/** + Deselectionne tous les schemas +*/ +void QETPrintPreviewDialog::selectNoDiagram() { + diagrams_list_ -> setSelectedAllDiagrams(false); +} + /** Met en place le dialogue */ @@ -155,6 +169,8 @@ void QETPrintPreviewDialog::build() { preview_ = new QPrintPreviewWidget(printer_); diagrams_label_ = new QLabel(tr("Sch\351mas \340 imprimer\240:")); diagrams_list_ = new DiagramsChooser(project_); + diagrams_select_all_ = new QPushButton(tr("Tout cocher")); + diagrams_select_none_ = new QPushButton(tr("Tout d\351cocher")); toggle_diagrams_list_ = new QAction(QET::Icons::Diagram, tr("Cacher la liste des sch\351mas"), this); toggle_print_options_ = new QAction(QET::Icons::Configure, tr("Cacher les options d'impression"), this); adjust_width_ = new QAction(QET::Icons::ViewFitWidth, tr("Ajuster la largeur"), this); @@ -245,6 +261,8 @@ void QETPrintPreviewDialog::build() { buttons_ -> addButton(new QPushButton(QET::Icons::DocumentPrint, tr("Imprimer")), QDialogButtonBox::AcceptRole); buttons_ -> addButton(QDialogButtonBox::Cancel); + connect(diagrams_select_all_, SIGNAL(released()), this, SLOT(selectAllDiagrams())); + connect(diagrams_select_none_, SIGNAL(released()), this, SLOT(selectNoDiagram())); connect(toggle_diagrams_list_, SIGNAL(toggled(bool)), this, SLOT(setDiagramsListVisible(bool))); connect(toggle_print_options_, SIGNAL(toggled(bool)), this, SLOT(setPrintOptionsVisible(bool))); connect(adjust_width_, SIGNAL(triggered()), preview_, SLOT(fitToWidth())); @@ -286,6 +304,8 @@ void QETPrintPreviewDialog::build() { vlayout2_ -> addWidget(diagrams_label_); vlayout2_ -> addWidget(diagrams_list_); + vlayout2_ -> addWidget(diagrams_select_all_); + vlayout2_ -> addWidget(diagrams_select_none_); hlayout0_ -> addLayout(vlayout2_); hlayout0_ -> addWidget(preview_); diff --git a/sources/qetprintpreviewdialog.h b/sources/qetprintpreviewdialog.h index ad4abd072..b09f3a3d6 100644 --- a/sources/qetprintpreviewdialog.h +++ b/sources/qetprintpreviewdialog.h @@ -57,6 +57,8 @@ class QETPrintPreviewDialog : public QDialog { void fitDiagramToPage(bool); void zoomIn(); void zoomOut(); + void selectAllDiagrams(); + void selectNoDiagram(); // attributs private: @@ -70,6 +72,8 @@ class QETPrintPreviewDialog : public QDialog { QPrintPreviewWidget *preview_; QLabel *diagrams_label_; DiagramsChooser *diagrams_list_; + QPushButton *diagrams_select_all_; + QPushButton *diagrams_select_none_; QAction *toggle_diagrams_list_; QAction *toggle_print_options_; QAction *adjust_width_;