From 624754d4f84519498627f2e0a5d11dce0b047ec4 Mon Sep 17 00:00:00 2001 From: Jim Evins Date: Fri, 21 Aug 2015 19:35:26 -0400 Subject: [PATCH] Hooked up print view controls. --- glabels/PageRenderer.cpp | 1 + glabels/PrintView.cpp | 71 +++++++++- glabels/PrintView.h | 6 +- glabels/ui/PrintView.ui | 275 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 339 insertions(+), 14 deletions(-) diff --git a/glabels/PageRenderer.cpp b/glabels/PageRenderer.cpp index 74e6bf6..ba48c9c 100644 --- a/glabels/PageRenderer.cpp +++ b/glabels/PageRenderer.cpp @@ -163,6 +163,7 @@ namespace glabels printCropMarks( painter ); + qDebug() << "ipage = " << iPage << ", iStart = " << iStart << ", iEnd = " << iEnd; for ( int i = iStart; i < iEnd; i++ ) { painter->save(); diff --git a/glabels/PrintView.cpp b/glabels/PrintView.cpp index 80c0800..abc3aa1 100644 --- a/glabels/PrintView.cpp +++ b/glabels/PrintView.cpp @@ -22,6 +22,8 @@ #include "LabelModel.h" +#include + 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!"; + } + } diff --git a/glabels/PrintView.h b/glabels/PrintView.h index 1a907d1..75f2891 100644 --- a/glabels/PrintView.h +++ b/glabels/PrintView.h @@ -57,15 +57,19 @@ namespace glabels private slots: void onLabelChanged(); void onLabelSizeChanged(); + void onFormChanged(); + void onPrintButtonClicked(); ///////////////////////////////// // Private Data ///////////////////////////////// private: - LabelModel* mModel; + LabelModel* mModel; PageRenderer mRenderer; + bool mBlocked; + }; } diff --git a/glabels/ui/PrintView.ui b/glabels/ui/PrintView.ui index 317e489..884e457 100644 --- a/glabels/ui/PrintView.ui +++ b/glabels/ui/PrintView.ui @@ -203,14 +203,21 @@ - + Labels from: - + + + false + + + 1 + + @@ -220,7 +227,14 @@ - + + + false + + + 1 + + @@ -231,10 +245,17 @@ Sheets: + + true + - + + + 1 + + @@ -301,7 +322,11 @@ - + + + 1 + + @@ -335,7 +360,14 @@ - + + + 1 + + + 96 + + @@ -468,5 +500,234 @@ - + + + printButton + clicked() + PrintView + onPrintButtonClicked() + + + 45 + 56 + + + 4 + 50 + + + + + copiesSheetsRadio + toggled(bool) + copiesSheetsSpin + setEnabled(bool) + + + 114 + 199 + + + 141 + 205 + + + + + copiesLabelsRadio + toggled(bool) + copiesFromSpin + setEnabled(bool) + + + 68 + 239 + + + 172 + 236 + + + + + copiesLabelsRadio + toggled(bool) + copiesToSpin + setEnabled(bool) + + + 143 + 239 + + + 266 + 236 + + + + + copiesSheetsSpin + valueChanged(int) + PrintView + onFormChanged() + + + 159 + 194 + + + 8 + 184 + + + + + copiesFromSpin + valueChanged(int) + PrintView + onFormChanged() + + + 186 + 243 + + + 3 + 236 + + + + + copiesToSpin + valueChanged(int) + PrintView + onFormChanged() + + + 282 + 241 + + + 4 + 268 + + + + + mergeStartSpin + valueChanged(int) + PrintView + onFormChanged() + + + 170 + 317 + + + 4 + 309 + + + + + mergeCopiesSpin + valueChanged(int) + PrintView + onFormChanged() + + + 126 + 347 + + + 2 + 341 + + + + + printOutlinesCheck + toggled(bool) + PrintView + onFormChanged() + + + 87 + 407 + + + 2 + 409 + + + + + printCropMarksCheck + toggled(bool) + PrintView + onFormChanged() + + + 57 + 436 + + + 6 + 445 + + + + + printReverseCheck + toggled(bool) + PrintView + onFormChanged() + + + 61 + 466 + + + 6 + 485 + + + + + pageSpin + valueChanged(int) + PrintView + onFormChanged() + + + 569 + 536 + + + 1 + 532 + + + + + copiesSheetsRadio + toggled(bool) + PrintView + onFormChanged() + + + 55 + 207 + + + 3 + 213 + + + + + + onPrintButtonClicked() + onFormChanged() +