24 #include <QDialogButtonBox>
25 #include <QFileDialog>
26 #include <QInputDialog>
27 #include <QMessageBox>
28 #include <QPushButton>
29 #include <QVBoxLayout>
31 class KDReports::PreviewDialogPrivate
36 , m_previewWidget(nullptr)
37 , m_buttonBox(nullptr)
38 , m_quickPrintButton(nullptr)
39 , m_dirBrowsingEnabled(true)
43 void slotTableBreakingDialog()
const;
44 void slotPrintWithDialog()
const;
45 void slotQuickPrint()
const;
55 bool m_dirBrowsingEnabled;
60 , d(new PreviewDialogPrivate(this))
63 d->m_previewWidget->setReport(report);
65 topLayout->addWidget(d->m_previewWidget);
67 topLayout->addLayout(bottomLayout);
73 bottomLayout->addWidget(d->m_buttonBox);
75 auto *printWithDialogButton =
new QPushButton(
tr(
"&Print..."),
this);
90 d->m_quickPrintButton->hide();
103 d->m_quickPrinterName = printerName;
104 d->m_quickPrintButton->setText(tr(
"Print &with %1").arg(printerName));
105 d->m_quickPrintButton->show();
106 connect(d->m_quickPrintButton, &
QPushButton::clicked,
this, [
this]() { d->slotQuickPrint(); } );
112 d->m_defaultSaveDirectory = path;
117 d->m_dirBrowsingEnabled = allowed;
123 return dialog.
exec();
126 void KDReports::PreviewDialogPrivate::slotTableBreakingDialog()
const
128 if (q->showTableSettingsDialog(m_previewWidget->report())) {
129 m_previewWidget->repaint();
133 void KDReports::PreviewDialogPrivate::slotPrintWithDialog()
const
135 if (m_previewWidget->printWithDialog()) {
141 void KDReports::PreviewDialogPrivate::slotQuickPrint()
const
145 report->setupPrinter(&printer);
147 report->
print(&printer, q);
152 void KDReports::PreviewDialogPrivate::slotSave()
156 if (m_dirBrowsingEnabled) {
169 file = m_defaultSaveDirectory +
QLatin1Char(
'/') + fileName;
183 report->setupPrinter(&printer);
186 m_savedFileName = file;
187 report->
print(&printer, q);
199 d->m_previewWidget->setPageSizeChangeAllowed(b);
204 d->m_previewWidget->setShowTableSettingsDialog(b);
209 d->m_previewWidget->setWidthForEndlessPrinter(widthMM);
214 return d->m_previewWidget->isSelected(pageNumber);
229 return d->m_previewWidget;
234 return d->m_savedFileName;