Remember most recently used printer. (#215)

This commit is contained in:
Jaye Evins
2025-07-28 15:11:36 -04:00
committed by GitHub
parent 3a4bb61f44
commit 475971b701
4 changed files with 44 additions and 28 deletions
+21 -21
View File
@@ -18,8 +18,12 @@
* along with gLabels-qt. If not, see <http://www.gnu.org/licenses/>.
*/
#include "PrintView.h"
#include "model/Settings.h"
#include <QPrinter>
#include <QPrintDialog>
#include <QtDebug>
@@ -38,25 +42,6 @@ namespace glabels
titleLabel->setText( QString( "<span style='font-size:18pt;'>%1</span>" ).arg( tr("Print") ) );
preview->setRenderer( &mRenderer );
mPrinter = new QPrinter( QPrinter::HighResolution );
mPrinter->setColorMode( QPrinter::Color );
mPrintDialog = new QPrintDialog( mPrinter, this );
mPrintDialog->setOption( QAbstractPrintDialog::PrintToFile, true );
mPrintDialog->setOption( QAbstractPrintDialog::PrintSelection, false );
mPrintDialog->setOption( QAbstractPrintDialog::PrintPageRange, false );
mPrintDialog->setOption( QAbstractPrintDialog::PrintShowPageSize, true );
mPrintDialog->setOption( QAbstractPrintDialog::PrintCollateCopies, false );
mPrintDialog->setOption( QAbstractPrintDialog::PrintCurrentPage, false );
}
///
/// Destructor
///
PrintView::~PrintView()
{
delete mPrinter;
}
@@ -200,10 +185,25 @@ namespace glabels
///
void PrintView::onPrintButtonClicked()
{
if ( mPrintDialog->exec() == QDialog::Accepted )
QPrinter printer( QPrinter::HighResolution );
printer.setColorMode( QPrinter::Color );
printer.setPrinterName( model::Settings::recentPrinter() );
QPrintDialog printDialog( &printer, this );
printDialog.setOption( QAbstractPrintDialog::PrintToFile, true );
printDialog.setOption( QAbstractPrintDialog::PrintSelection, false );
printDialog.setOption( QAbstractPrintDialog::PrintPageRange, false );
printDialog.setOption( QAbstractPrintDialog::PrintShowPageSize, true );
printDialog.setOption( QAbstractPrintDialog::PrintCollateCopies, false );
printDialog.setOption( QAbstractPrintDialog::PrintCurrentPage, false );
if ( printDialog.exec() == QDialog::Accepted )
{
mRenderer.print( mPrinter );
mRenderer.print( &printer );
model::Settings::setRecentPrinter( printer.printerName() );
}
}
} // namespace glabels