File indexing completed on 2024-03-24 15:17:41

0001 /*
0002     SPDX-FileCopyrightText: 2011 Rafał Kułaga <rl.kulaga@gmail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "ui_pwizprint.h"
0010 
0011 class QPrinter;
0012 
0013 class PrintingWizard;
0014 
0015 /**
0016  * @class PWizPrintUI
0017  * @brief User interface for last "Print and export finder chart" step of the Printing Wizard.
0018  *
0019  * @author Rafał Kułaga
0020  */
0021 class PWizPrintUI : public QFrame, public Ui::PWizPrint
0022 {
0023     Q_OBJECT
0024   public:
0025     /** Constructor. */
0026     explicit PWizPrintUI(PrintingWizard *wizard, QWidget *parent = nullptr);
0027 
0028   private slots:
0029     /** Slot: show "Print preview" dialog window for finder chart. */
0030     void slotPreview();
0031 
0032     /**
0033      * @brief Slot: show "Print preview" dialog window for finder chart (on passed QPrinter).
0034      * @param printer Printer on which preview should be painted.
0035      */
0036     void slotPrintPreview(QPrinter *printer);
0037 
0038     /** Slot: open printing dialog and print document. */
0039     void slotPrint();
0040 
0041     /** Slot: open "Save file" dialog to select export file name and format. */
0042     void slotExport();
0043 
0044   private:
0045     /**
0046      * @brief Print document on passed printer.
0047      * @param printer Printer.
0048      */
0049     void printDocument(QPrinter *printer);
0050 
0051     PrintingWizard *m_ParentWizard { nullptr };
0052 };