Remember most recently used printer. (#215)
This commit is contained in:
+21
-21
@@ -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
|
||||
|
||||
+1
-7
@@ -27,9 +27,6 @@
|
||||
#include "model/Model.h"
|
||||
#include "model/PageRenderer.h"
|
||||
|
||||
#include <QPrinter>
|
||||
#include <QPrintDialog>
|
||||
|
||||
|
||||
namespace glabels
|
||||
{
|
||||
@@ -47,7 +44,7 @@ namespace glabels
|
||||
/////////////////////////////////
|
||||
public:
|
||||
PrintView( QWidget *parent = nullptr );
|
||||
~PrintView() override;
|
||||
virtual ~PrintView() = default;
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
@@ -71,11 +68,8 @@ namespace glabels
|
||||
/////////////////////////////////
|
||||
private:
|
||||
model::Model* mModel;
|
||||
QPrinter* mPrinter;
|
||||
model::PageRenderer mRenderer;
|
||||
|
||||
QPrintDialog* mPrintDialog;
|
||||
|
||||
bool mBlocked;
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user