Skip to content

Commit 6206903

Browse files
author
mhugent
committed
Fix for restoring paper settings in compositionwidget
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@12086 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 9359070 commit 6206903

File tree

2 files changed

+23
-38
lines changed

2 files changed

+23
-38
lines changed

src/app/composer/qgscompositionwidget.cpp

Lines changed: 21 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,16 @@
2424
QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c ): QWidget( parent ), mComposition( c )
2525
{
2626
setupUi( this );
27+
blockSignals( true );
2728
createPaperEntries();
2829

2930
//unit
3031
mPaperUnitsComboBox->addItem( tr( "mm" ) );
3132
mPaperUnitsComboBox->addItem( tr( "inch" ) );
3233

3334
//orientation
34-
mPaperOrientationComboBox->blockSignals( true );
3535
mPaperOrientationComboBox->insertItem( 0, tr( "Landscape" ) );
3636
mPaperOrientationComboBox->insertItem( 1, tr( "Portrait" ) );
37-
mPaperOrientationComboBox->blockSignals( false );
3837
mPaperOrientationComboBox->setCurrentIndex( 0 );
3938

4039
//read with/height from composition and find suitable entries to display
@@ -70,16 +69,11 @@ QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c )
7069

7170

7271
//grid pen width
73-
mPenWidthSpinBox->blockSignals( true );
7472
mPenWidthSpinBox->setValue( mComposition->gridPen().widthF() );
75-
mPenWidthSpinBox->blockSignals( false );
7673

7774
//grid pen color
78-
mGridColorButton->blockSignals( true );
7975
mGridColorButton->setColor( mComposition->gridPen().color() );
80-
mGridColorButton->blockSignals( false );
8176

82-
mGridStyleComboBox->blockSignals( true );
8377
mGridStyleComboBox->insertItem( 0, tr( "Solid" ) );
8478
mGridStyleComboBox->insertItem( 1, tr( "Dots" ) );
8579
mGridStyleComboBox->insertItem( 2, tr( "Crosses" ) );
@@ -97,8 +91,8 @@ QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c )
9791
{
9892
mGridStyleComboBox->setCurrentIndex( 2 );
9993
}
100-
mGridStyleComboBox->blockSignals( false );
10194
}
95+
blockSignals( false );
10296
}
10397

10498
QgsCompositionWidget::QgsCompositionWidget(): QWidget( 0 ), mComposition( 0 )
@@ -143,17 +137,13 @@ void QgsCompositionWidget::createPaperEntries()
143137
<< QgsCompositionPaper( tr( "Arch E (36x48 inches)" ), 914.4, 1219.2 )
144138
<< QgsCompositionPaper( tr( "Arch E1 (30x42 inches)" ), 762, 1066.8 )
145139
;
146-
147-
mPaperSizeComboBox->blockSignals( true );
148140
mPaperSizeComboBox->addItem( tr( "Custom" ) );
149141

150142
for ( QList<QgsCompositionPaper>::const_iterator it = formats.begin(); it != formats.end(); it++ )
151143
{
152144
mPaperSizeComboBox->addItem( it->mName );
153145
mPaperMap.insert( it->mName, *it );
154146
}
155-
156-
mPaperSizeComboBox->blockSignals( false );
157147
mPaperSizeComboBox->setCurrentIndex( 2 ); //A4
158148
}
159149

@@ -266,7 +256,7 @@ void QgsCompositionWidget::setSize( QDoubleSpinBox *spin, double v )
266256
else
267257
{
268258
// inch (show width in inch)
269-
spin->setValue( v / 25.4 );
259+
spin->setValue( v / 25.4 );
270260
}
271261
}
272262

@@ -337,14 +327,6 @@ void QgsCompositionWidget::displayCompositionWidthHeight()
337327
return;
338328
}
339329

340-
//block all signals to avoid infinite recursion
341-
mPaperSizeComboBox->blockSignals( true );
342-
mPaperUnitsComboBox->blockSignals( true );
343-
mPaperWidthDoubleSpinBox->blockSignals( true );
344-
mPaperHeightDoubleSpinBox->blockSignals( true );
345-
mPaperOrientationComboBox->blockSignals( true );
346-
mResolutionSpinBox->blockSignals( true );
347-
348330
double paperWidth = mComposition->paperWidth();
349331
setSize( mPaperWidthDoubleSpinBox, paperWidth );
350332

@@ -383,13 +365,6 @@ void QgsCompositionWidget::displayCompositionWidthHeight()
383365
//custom
384366
mPaperSizeComboBox->setCurrentIndex( 0 );
385367
}
386-
387-
mPaperSizeComboBox->blockSignals( false );
388-
mPaperUnitsComboBox->blockSignals( false );
389-
mPaperWidthDoubleSpinBox->blockSignals( false );
390-
mPaperHeightDoubleSpinBox->blockSignals( false );
391-
mPaperOrientationComboBox->blockSignals( false );
392-
mResolutionSpinBox->blockSignals( false );
393368
}
394369

395370
void QgsCompositionWidget::displaySnapingSettings()
@@ -399,11 +374,6 @@ void QgsCompositionWidget::displaySnapingSettings()
399374
return;
400375
}
401376

402-
mSnapToGridCheckBox->blockSignals( true );
403-
mGridResolutionSpinBox->blockSignals( true );
404-
mOffsetXSpinBox->blockSignals( true );
405-
mOffsetYSpinBox->blockSignals( true );
406-
407377
if ( mComposition->snapToGridEnabled() )
408378
{
409379
mSnapToGridCheckBox->setCheckState( Qt::Checked );
@@ -416,11 +386,6 @@ void QgsCompositionWidget::displaySnapingSettings()
416386
mGridResolutionSpinBox->setValue( mComposition->snapGridResolution() );
417387
mOffsetXSpinBox->setValue( mComposition->snapGridOffsetX() );
418388
mOffsetYSpinBox->setValue( mComposition->snapGridOffsetY() );
419-
420-
mSnapToGridCheckBox->blockSignals( false );
421-
mGridResolutionSpinBox->blockSignals( false );
422-
mOffsetXSpinBox->blockSignals( false );
423-
mOffsetYSpinBox->blockSignals( false );
424389
}
425390

426391
void QgsCompositionWidget::on_mResolutionSpinBox_valueChanged( const int value )
@@ -529,3 +494,21 @@ void QgsCompositionWidget::on_mPenWidthSpinBox_valueChanged( double d )
529494
mComposition->setGridPen( pen );
530495
}
531496
}
497+
498+
void QgsCompositionWidget::blockSignals( bool block )
499+
{
500+
mPaperSizeComboBox->blockSignals( block );
501+
mPaperUnitsComboBox->blockSignals( block );
502+
mPaperWidthDoubleSpinBox->blockSignals( block );
503+
mPaperHeightDoubleSpinBox->blockSignals( block );
504+
mPaperOrientationComboBox->blockSignals( block );
505+
mResolutionSpinBox->blockSignals( block );
506+
mPrintAsRasterCheckBox->blockSignals( block );
507+
mSnapToGridCheckBox->blockSignals( block );
508+
mGridResolutionSpinBox->blockSignals( block );
509+
mOffsetXSpinBox->blockSignals( block );
510+
mOffsetYSpinBox->blockSignals( block );
511+
mPenWidthSpinBox->blockSignals( block );
512+
mGridColorButton->blockSignals( block );
513+
mGridStyleComboBox->blockSignals( block );
514+
}

src/app/composer/qgscompositionwidget.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,6 @@ class QgsCompositionWidget: public QWidget, private Ui::QgsCompositionWidgetBase
7777

7878
double size( QDoubleSpinBox *spin );
7979
void setSize( QDoubleSpinBox *spin, double v );
80+
/**Blocks / unblocks the signals of all items*/
81+
void blockSignals( bool block );
8082
};

0 commit comments

Comments
 (0)