Printing: only give up if no size is available

Checking for available printers appears to sometimes fail, even if there
is a valid PDF or PS printer.

Instead we bail if we can't get a valid size for the printer.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Dirk Hohndel 2014-08-05 10:01:38 -07:00
parent 095e8081ca
commit 4fd0dfcabb
3 changed files with 13 additions and 23 deletions

View file

@ -66,24 +66,8 @@ PrintDialog::PrintDialog(QWidget *parent, Qt::WindowFlags f) : QDialog(parent, f
connect(quit, SIGNAL(activated()), parent, SLOT(close()));
}
bool PrintDialog::checkForAvailablePrinters(void)
{
QList<QPrinterInfo> list = QPrinterInfo::availablePrinters();
if (!list.length()) {
QMessageBox msgBox;
msgBox.setIcon(QMessageBox::Critical);
msgBox.setText(tr("Subsurface cannot find installed printers on this system!"));
msgBox.setWindowIcon(QIcon(":subsurface-icon"));
msgBox.exec();
return false;
}
return true;
}
void PrintDialog::previewClicked(void)
{
if (!checkForAvailablePrinters())
return;
QPrintPreviewDialog previewDialog(&printer, this);
connect(&previewDialog, SIGNAL(paintRequested(QPrinter *)), this, SLOT(onPaintRequested(QPrinter *)));
previewDialog.exec();
@ -91,8 +75,6 @@ void PrintDialog::previewClicked(void)
void PrintDialog::printClicked(void)
{
if (!checkForAvailablePrinters())
return;
QPrintDialog printDialog(&printer, this);
if (printDialog.exec() == QDialog::Accepted){
printLayout->print();