Incorporated merge printing in PrintView.

This commit is contained in:
Jim Evins
2016-05-21 22:17:46 -04:00
parent 18089d8635
commit 691353e27b
4 changed files with 63 additions and 312 deletions
+6
View File
@@ -95,6 +95,12 @@ void PageRenderer::setIPage( int iPage )
} }
int PageRenderer::nItems() const
{
return mLastLabel - mStartLabel;
}
int PageRenderer::nPages() const int PageRenderer::nPages() const
{ {
return mNPages; return mNPages;
+1
View File
@@ -57,6 +57,7 @@ public:
void setPrintCropMarks( bool printCropMarksFlag ); void setPrintCropMarks( bool printCropMarksFlag );
void setPrintReverse( bool printReverseFlag ); void setPrintReverse( bool printReverseFlag );
void setIPage( int iPage ); void setIPage( int iPage );
int nItems() const;
int nPages() const; int nPages() const;
QRectF pageRect() const; QRectF pageRect() const;
void printPage( QPainter* painter ) const; void printPage( QPainter* painter ) const;
+5 -32
View File
@@ -55,10 +55,6 @@ void PrintView::setModel( LabelModel* model )
{ {
mModel = model; 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(sizeChanged()), this, SLOT(onLabelSizeChanged()) );
connect( mModel, SIGNAL(changed()), this, SLOT(onLabelChanged()) ); connect( mModel, SIGNAL(changed()), this, SLOT(onLabelChanged()) );
@@ -72,16 +68,7 @@ void PrintView::setModel( LabelModel* model )
/// ///
void PrintView::onLabelSizeChanged() void PrintView::onLabelSizeChanged()
{ {
int nLabelsPerPage = mModel->frame()->nLabels(); copiesStartSpin->setRange( 1, mModel->frame()->nLabels() );
copiesFromSpin->setRange( 1, nLabelsPerPage );
copiesToSpin->setRange( copiesFromSpin->value(), nLabelsPerPage );
if ( copiesSheetsRadio->isChecked() )
{
mRenderer.setNCopies( copiesSheetsSpin->value()*nLabelsPerPage );
mRenderer.setStartLabel( 0 );
copiesFromSpin->setValue( 1 );
copiesToSpin->setValue( nLabelsPerPage );
}
preview->setModel( mModel ); preview->setModel( mModel );
mRenderer.setModel( mModel ); mRenderer.setModel( mModel );
@@ -106,24 +93,10 @@ void PrintView::onFormChanged()
{ {
mBlocked = true; mBlocked = true;
int nLabelsPerPage = mModel->frame()->nLabels(); mRenderer.setNCopies( copiesSpin->value() );
copiesFromSpin->setRange( 1, nLabelsPerPage ); mRenderer.setStartLabel( copiesStartSpin->value() - 1 );
copiesToSpin->setRange( copiesFromSpin->value(), nLabelsPerPage ); copiesDescriptionLabel->setText( tr("(Will print a total of %1 items on %2 pages.)")
.arg(mRenderer.nItems()).arg(mRenderer.nPages()) );
// TODO select between simple and merge
if ( copiesSheetsRadio->isChecked() )
{
mRenderer.setNCopies( copiesSheetsSpin->value()*nLabelsPerPage );
mRenderer.setStartLabel( 0 );
copiesFromSpin->setValue( 1 );
copiesToSpin->setValue( nLabelsPerPage );
}
else
{
mRenderer.setNCopies( copiesToSpin->value() - copiesFromSpin->value() + 1 );
mRenderer.setStartLabel( copiesFromSpin->value() - 1 );
copiesSheetsSpin->setValue( 1 );
}
mRenderer.setPrintOutlines( printOutlinesCheck->isChecked() ); mRenderer.setPrintOutlines( printOutlinesCheck->isChecked() );
mRenderer.setPrintCropMarks( printCropMarksCheck->isChecked() ); mRenderer.setPrintCropMarks( printCropMarksCheck->isChecked() );
+51 -280
View File
@@ -131,172 +131,7 @@
<property name="title"> <property name="title">
<string>Copies</string> <string>Copies</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="copiesLabelsRadio">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Labels from:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="copiesFromSpin">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>to:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="copiesToSpin">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QRadioButton" name="copiesSheetsRadio">
<property name="text">
<string>Sheets:</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="copiesSheetsSpin">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="1" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="mergeBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>350</width>
<height>16777215</height>
</size>
</property>
<property name="title">
<string>Merge options</string>
</property>
<layout class="QGridLayout" name="gridLayout_3"> <layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Start on label:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="mergeStartSpin">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>on 1st sheet</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="1" column="0"> <item row="1" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<item> <item>
@@ -307,7 +142,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QSpinBox" name="mergeCopiesSpin"> <widget class="QSpinBox" name="copiesSpin">
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
@@ -334,6 +169,54 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="3" column="0">
<widget class="QLabel" name="copiesDescriptionLabel">
<property name="text">
<string notr="true">(Will print a total of xx items on nn pages.)</string>
</property>
</widget>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Start on position:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="copiesStartSpin">
<property name="minimum">
<number>1</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>on 1st page</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@@ -480,103 +363,7 @@
</hints> </hints>
</connection> </connection>
<connection> <connection>
<sender>copiesSheetsRadio</sender> <sender>copiesStartSpin</sender>
<signal>toggled(bool)</signal>
<receiver>copiesSheetsSpin</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>114</x>
<y>199</y>
</hint>
<hint type="destinationlabel">
<x>141</x>
<y>205</y>
</hint>
</hints>
</connection>
<connection>
<sender>copiesLabelsRadio</sender>
<signal>toggled(bool)</signal>
<receiver>copiesFromSpin</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>68</x>
<y>239</y>
</hint>
<hint type="destinationlabel">
<x>172</x>
<y>236</y>
</hint>
</hints>
</connection>
<connection>
<sender>copiesLabelsRadio</sender>
<signal>toggled(bool)</signal>
<receiver>copiesToSpin</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>143</x>
<y>239</y>
</hint>
<hint type="destinationlabel">
<x>266</x>
<y>236</y>
</hint>
</hints>
</connection>
<connection>
<sender>copiesSheetsSpin</sender>
<signal>valueChanged(int)</signal>
<receiver>PrintView</receiver>
<slot>onFormChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>159</x>
<y>194</y>
</hint>
<hint type="destinationlabel">
<x>8</x>
<y>184</y>
</hint>
</hints>
</connection>
<connection>
<sender>copiesFromSpin</sender>
<signal>valueChanged(int)</signal>
<receiver>PrintView</receiver>
<slot>onFormChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>186</x>
<y>243</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
<y>236</y>
</hint>
</hints>
</connection>
<connection>
<sender>copiesToSpin</sender>
<signal>valueChanged(int)</signal>
<receiver>PrintView</receiver>
<slot>onFormChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>282</x>
<y>241</y>
</hint>
<hint type="destinationlabel">
<x>4</x>
<y>268</y>
</hint>
</hints>
</connection>
<connection>
<sender>mergeStartSpin</sender>
<signal>valueChanged(int)</signal> <signal>valueChanged(int)</signal>
<receiver>PrintView</receiver> <receiver>PrintView</receiver>
<slot>onFormChanged()</slot> <slot>onFormChanged()</slot>
@@ -592,7 +379,7 @@
</hints> </hints>
</connection> </connection>
<connection> <connection>
<sender>mergeCopiesSpin</sender> <sender>copiesSpin</sender>
<signal>valueChanged(int)</signal> <signal>valueChanged(int)</signal>
<receiver>PrintView</receiver> <receiver>PrintView</receiver>
<slot>onFormChanged()</slot> <slot>onFormChanged()</slot>
@@ -671,22 +458,6 @@
</hint> </hint>
</hints> </hints>
</connection> </connection>
<connection>
<sender>copiesSheetsRadio</sender>
<signal>toggled(bool)</signal>
<receiver>PrintView</receiver>
<slot>onFormChanged()</slot>
<hints>
<hint type="sourcelabel">
<x>55</x>
<y>207</y>
</hint>
<hint type="destinationlabel">
<x>3</x>
<y>213</y>
</hint>
</hints>
</connection>
</connections> </connections>
<slots> <slots>
<slot>onPrintButtonClicked()</slot> <slot>onPrintButtonClicked()</slot>