mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-20 14:55:27 +00:00
69676b08fb
When pressing Print or Preview from the PrintDialog, we need to first check if there are printers installed. If not we abort and show an error message. This is needed because if no printers are installed, things like the reported page height could be zero and the profile and table print code in PrintLayout will break. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
33 lines
650 B
C++
33 lines
650 B
C++
#ifndef PRINTDIALOG_H
|
|
#define PRINTDIALOG_H
|
|
|
|
#include <QDialog>
|
|
#include <QPrinter>
|
|
#include "../display.h"
|
|
|
|
class QProgressBar;
|
|
class PrintOptions;
|
|
class PrintLayout;
|
|
|
|
// should be based on a custom QPrintDialog class
|
|
class PrintDialog : public QDialog {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
struct options printOptions;
|
|
explicit PrintDialog(QWidget *parent = 0, Qt::WindowFlags f = 0);
|
|
|
|
private:
|
|
bool checkForAvailablePrinters(void);
|
|
PrintOptions *optionsWidget;
|
|
PrintLayout *printLayout;
|
|
QProgressBar *progressBar;
|
|
QPrinter printer;
|
|
|
|
private
|
|
slots:
|
|
void previewClicked();
|
|
void printClicked();
|
|
void onPaintRequested(QPrinter *);
|
|
};
|
|
#endif // PRINTDIALOG_H
|