Hooked up print view controls.

This commit is contained in:
Jim Evins
2015-08-21 19:35:26 -04:00
parent f7eaf8f6ce
commit 624754d4f8
4 changed files with 339 additions and 14 deletions
+65 -6
View File
@@ -22,6 +22,8 @@
#include "LabelModel.h"
#include <QtDebug>
namespace glabels
{
@@ -30,7 +32,7 @@ namespace glabels
/// Constructor
///
PrintView::PrintView( QWidget *parent )
: QWidget(parent)
: QWidget(parent), mModel(0), mBlocked(false)
{
setupUi( this );
@@ -43,15 +45,19 @@ namespace glabels
///
void PrintView::setModel( LabelModel* model )
{
mModel = model;
mRenderer.setModel( model );
mRenderer.setNLabels( model->frame()->nLabels() );
int nLabelsPerPage = model->frame()->nLabels();
mModel = model;
// TODO set visibility based on merge selection
copiesBox->setVisible( true );
mergeBox->setVisible( false );
connect( mModel, SIGNAL(sizeChanged()), this, SLOT(onLabelSizeChanged()) );
connect( mModel, SIGNAL(changed()), this, SLOT(onLabelChanged()) );
onLabelSizeChanged();
onLabelChanged();
onFormChanged();
}
@@ -72,5 +78,58 @@ namespace glabels
{
preview->update();
}
///
/// Form changed handler
///
void PrintView::onFormChanged()
{
if ( !mBlocked )
{
mBlocked = true;
int nLabelsPerPage = mModel->frame()->nLabels();
copiesFromSpin->setRange( 1, nLabelsPerPage );
copiesToSpin->setRange( copiesFromSpin->value(), nLabelsPerPage );
// TODO select between simple and merge
if ( copiesSheetsRadio->isChecked() )
{
mRenderer.setNLabels( copiesSheetsSpin->value()*nLabelsPerPage );
mRenderer.setStartLabel( 0 );
copiesFromSpin->setValue( 1 );
copiesToSpin->setValue( nLabelsPerPage );
}
else
{
mRenderer.setNLabels( copiesToSpin->value() - copiesFromSpin->value() + 1 );
mRenderer.setStartLabel( copiesFromSpin->value() - 1 );
copiesSheetsSpin->setValue( 1 );
}
mRenderer.setPrintOutlines( printOutlinesCheck->isChecked() );
mRenderer.setPrintCropMarks( printCropMarksCheck->isChecked() );
mRenderer.setPrintReverse( printReverseCheck->isChecked() );
pageSpin->setRange( 1, mRenderer.nPages() );
nPagesLabel->setText( QString::number( mRenderer.nPages() ) );
mRenderer.setIPage( pageSpin->value() - 1 );
preview->update();
mBlocked = false;
}
}
///
/// Print Button Clicked handler
///
void PrintView::onPrintButtonClicked()
{
qDebug() << "Print!";
}
}