Skip to content

Commit 4a21d66

Browse files
author
timlinux
committed
UI updates for compositionwidget
git-svn-id: http://svn.osgeo.org/qgis/trunk@12070 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent abaf4fb commit 4a21d66

File tree

3 files changed

+137
-207
lines changed

3 files changed

+137
-207
lines changed

src/app/composer/qgscompositionwidget.cpp

+51-65
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c )
4343
if ( mComposition )
4444
{
4545
//read printout resolution from composition
46-
mResolutionLineEdit->setText( QString::number( mComposition->printResolution() ) );
46+
mResolutionSpinBox->setValue( mComposition->printResolution() );
4747

4848
//print as raster
4949
if ( mComposition->printAsRaster() )
@@ -64,7 +64,7 @@ QgsCompositionWidget::QgsCompositionWidget( QWidget* parent, QgsComposition* c )
6464
{
6565
mSnapToGridCheckBox->setCheckState( Qt::Unchecked );
6666
}
67-
mResolutionSpinBox->setValue( mComposition->snapGridResolution() );
67+
mGridResolutionSpinBox->setValue( mComposition->snapGridResolution() );
6868
mOffsetXSpinBox->setValue( mComposition->snapGridOffsetX() );
6969
mOffsetYSpinBox->setValue( mComposition->snapGridOffsetY() );
7070

@@ -154,20 +154,21 @@ void QgsCompositionWidget::createPaperEntries()
154154
}
155155

156156
mPaperSizeComboBox->blockSignals( false );
157+
mPaperSizeComboBox->setCurrentIndex( 2 ); //A4
157158
}
158159

159160
void QgsCompositionWidget::on_mPaperSizeComboBox_currentIndexChanged( const QString& text )
160161
{
161162
if ( mPaperSizeComboBox->currentText() == tr( "Custom" ) )
162163
{
163-
mPaperWidthLineEdit->setEnabled( true );
164-
mPaperHeightLineEdit->setEnabled( true );
164+
mPaperWidthDoubleSpinBox->setEnabled( true );
165+
mPaperHeightDoubleSpinBox->setEnabled( true );
165166
mPaperUnitsComboBox->setEnabled( true );
166167
}
167168
else
168169
{
169-
mPaperWidthLineEdit->setEnabled( false );
170-
mPaperHeightLineEdit->setEnabled( false );
170+
mPaperWidthDoubleSpinBox->setEnabled( false );
171+
mPaperHeightDoubleSpinBox->setEnabled( false );
171172
mPaperUnitsComboBox->setEnabled( false );
172173
}
173174
applyCurrentPaperSettings();
@@ -189,8 +190,8 @@ void QgsCompositionWidget::on_mPaperOrientationComboBox_currentIndexChanged( con
189190

190191
void QgsCompositionWidget::on_mPaperUnitsComboBox_currentIndexChanged( const QString& text )
191192
{
192-
double width = size( mPaperWidthLineEdit );
193-
double height = size( mPaperHeightLineEdit );
193+
double width = size( mPaperWidthDoubleSpinBox );
194+
double height = size( mPaperHeightDoubleSpinBox );
194195

195196
if ( mPaperUnitsComboBox->currentIndex() == 0 )
196197
{
@@ -205,8 +206,8 @@ void QgsCompositionWidget::on_mPaperUnitsComboBox_currentIndexChanged( const QSt
205206
height /= 25.4;
206207
}
207208

208-
setSize( mPaperWidthLineEdit, width );
209-
setSize( mPaperHeightLineEdit, height );
209+
setSize( mPaperWidthDoubleSpinBox, width );
210+
setSize( mPaperHeightDoubleSpinBox, height );
210211

211212
if ( mPaperSizeComboBox->currentText() == tr( "Custom" ) )
212213
{
@@ -222,8 +223,8 @@ void QgsCompositionWidget::on_mPaperUnitsComboBox_currentIndexChanged( const QSt
222223

223224
void QgsCompositionWidget::adjustOrientation()
224225
{
225-
double width = size( mPaperWidthLineEdit );
226-
double height = size( mPaperHeightLineEdit );
226+
double width = size( mPaperWidthDoubleSpinBox );
227+
double height = size( mPaperHeightDoubleSpinBox );
227228

228229
if ( width < 0 || height < 0 )
229230
{
@@ -237,45 +238,41 @@ void QgsCompositionWidget::adjustOrientation()
237238
height = tmp;
238239
}
239240

240-
bool lineEditsEnabled = mPaperWidthLineEdit->isEnabled();
241+
bool lineEditsEnabled = mPaperWidthDoubleSpinBox->isEnabled();
241242

242-
mPaperWidthLineEdit->setEnabled( true );
243-
mPaperHeightLineEdit->setEnabled( true );
243+
mPaperWidthDoubleSpinBox->setEnabled( true );
244+
mPaperHeightDoubleSpinBox->setEnabled( true );
244245
if ( mPaperOrientationComboBox->currentText() == tr( "Landscape" ) )
245246
{
246-
setSize( mPaperWidthLineEdit, width );
247-
setSize( mPaperHeightLineEdit, height );
247+
setSize( mPaperWidthDoubleSpinBox, width );
248+
setSize( mPaperHeightDoubleSpinBox, height );
248249
}
249250
else
250251
{
251-
setSize( mPaperWidthLineEdit, height );
252-
setSize( mPaperHeightLineEdit, width );
252+
setSize( mPaperWidthDoubleSpinBox, height );
253+
setSize( mPaperHeightDoubleSpinBox, width );
253254
}
254-
mPaperWidthLineEdit->setEnabled( lineEditsEnabled );
255-
mPaperHeightLineEdit->setEnabled( lineEditsEnabled );
255+
mPaperWidthDoubleSpinBox->setEnabled( lineEditsEnabled );
256+
mPaperHeightDoubleSpinBox->setEnabled( lineEditsEnabled );
256257
}
257258

258-
void QgsCompositionWidget::setSize( QLineEdit *le, double v )
259+
void QgsCompositionWidget::setSize( QDoubleSpinBox *spin, double v )
259260
{
260261
if ( mPaperUnitsComboBox->currentIndex() == 0 )
261262
{
262263
// mm
263-
le->setText( QString( "%1" ).arg( v ) );
264+
spin->setValue( v );
264265
}
265266
else
266267
{
267268
// inch (show width in inch)
268-
le->setText( QString( "%1" ).arg( v / 25.4 ) );
269+
spin->setValue( v / 25.4 );
269270
}
270271
}
271272

272-
double QgsCompositionWidget::size( QLineEdit *le )
273+
double QgsCompositionWidget::size( QDoubleSpinBox *spin )
273274
{
274-
bool conversionSuccess;
275-
276-
double size = le->text().toDouble( &conversionSuccess );
277-
if ( !conversionSuccess )
278-
return -1.0;
275+
double size = spin->value();
279276

280277
if ( mPaperUnitsComboBox->currentIndex() == 0 )
281278
{
@@ -300,12 +297,12 @@ void QgsCompositionWidget::applyCurrentPaperSettings()
300297
return;
301298
}
302299

303-
mPaperWidthLineEdit->setEnabled( true );
304-
mPaperHeightLineEdit->setEnabled( true );
305-
setSize( mPaperWidthLineEdit, it->mWidth );
306-
setSize( mPaperHeightLineEdit, it->mHeight );
307-
mPaperWidthLineEdit->setEnabled( false );
308-
mPaperHeightLineEdit->setEnabled( false );
300+
mPaperWidthDoubleSpinBox->setEnabled( true );
301+
mPaperHeightDoubleSpinBox->setEnabled( true );
302+
setSize( mPaperWidthDoubleSpinBox, it->mWidth );
303+
setSize( mPaperHeightDoubleSpinBox, it->mHeight );
304+
mPaperWidthDoubleSpinBox->setEnabled( false );
305+
mPaperHeightDoubleSpinBox->setEnabled( false );
309306

310307
adjustOrientation();
311308
applyWidthHeight();
@@ -314,21 +311,21 @@ void QgsCompositionWidget::applyCurrentPaperSettings()
314311

315312
void QgsCompositionWidget::applyWidthHeight()
316313
{
317-
double width = size( mPaperWidthLineEdit );
318-
double height = size( mPaperHeightLineEdit );
314+
double width = size( mPaperWidthDoubleSpinBox );
315+
double height = size( mPaperHeightDoubleSpinBox );
319316

320317
if ( width < 0 || height < 0 )
321318
return;
322319

323320
mComposition->setPaperSize( width, height );
324321
}
325322

326-
void QgsCompositionWidget::on_mPaperWidthLineEdit_editingFinished()
323+
void QgsCompositionWidget::on_mPaperWidthDoubleSpinBox_editingFinished()
327324
{
328325
applyWidthHeight();
329326
}
330327

331-
void QgsCompositionWidget::on_mPaperHeightLineEdit_editingFinished()
328+
void QgsCompositionWidget::on_mPaperHeightDoubleSpinBox_editingFinished()
332329
{
333330
applyWidthHeight();
334331
}
@@ -343,16 +340,16 @@ void QgsCompositionWidget::displayCompositionWidthHeight()
343340
//block all signals to avoid infinite recursion
344341
mPaperSizeComboBox->blockSignals( true );
345342
mPaperUnitsComboBox->blockSignals( true );
346-
mPaperWidthLineEdit->blockSignals( true );
347-
mPaperHeightLineEdit->blockSignals( true );
343+
mPaperWidthDoubleSpinBox->blockSignals( true );
344+
mPaperHeightDoubleSpinBox->blockSignals( true );
348345
mPaperOrientationComboBox->blockSignals( true );
349-
mResolutionLineEdit->blockSignals( true );
346+
mResolutionSpinBox->blockSignals( true );
350347

351348
double paperWidth = mComposition->paperWidth();
352-
setSize( mPaperWidthLineEdit, paperWidth );
349+
setSize( mPaperWidthDoubleSpinBox, paperWidth );
353350

354351
double paperHeight = mComposition->paperHeight();
355-
setSize( mPaperHeightLineEdit, paperHeight );
352+
setSize( mPaperHeightDoubleSpinBox, paperHeight );
356353

357354
//set orientation
358355
if ( paperWidth > paperHeight )
@@ -389,10 +386,10 @@ void QgsCompositionWidget::displayCompositionWidthHeight()
389386

390387
mPaperSizeComboBox->blockSignals( false );
391388
mPaperUnitsComboBox->blockSignals( false );
392-
mPaperWidthLineEdit->blockSignals( false );
393-
mPaperHeightLineEdit->blockSignals( false );
389+
mPaperWidthDoubleSpinBox->blockSignals( false );
390+
mPaperHeightDoubleSpinBox->blockSignals( false );
394391
mPaperOrientationComboBox->blockSignals( false );
395-
mResolutionLineEdit->blockSignals( false );
392+
mResolutionSpinBox->blockSignals( false );
396393
}
397394

398395
void QgsCompositionWidget::displaySnapingSettings()
@@ -403,7 +400,7 @@ void QgsCompositionWidget::displaySnapingSettings()
403400
}
404401

405402
mSnapToGridCheckBox->blockSignals( true );
406-
mResolutionSpinBox->blockSignals( true );
403+
mGridResolutionSpinBox->blockSignals( true );
407404
mOffsetXSpinBox->blockSignals( true );
408405
mOffsetYSpinBox->blockSignals( true );
409406

@@ -416,30 +413,19 @@ void QgsCompositionWidget::displaySnapingSettings()
416413
mSnapToGridCheckBox->setCheckState( Qt::Unchecked );
417414
}
418415

419-
mResolutionSpinBox->setValue( mComposition->snapGridResolution() );
416+
mGridResolutionSpinBox->setValue( mComposition->snapGridResolution() );
420417
mOffsetXSpinBox->setValue( mComposition->snapGridOffsetX() );
421418
mOffsetYSpinBox->setValue( mComposition->snapGridOffsetY() );
422419

423420
mSnapToGridCheckBox->blockSignals( false );
424-
mResolutionSpinBox->blockSignals( false );
421+
mGridResolutionSpinBox->blockSignals( false );
425422
mOffsetXSpinBox->blockSignals( false );
426423
mOffsetYSpinBox->blockSignals( false );
427424
}
428425

429-
void QgsCompositionWidget::on_mResolutionLineEdit_textChanged( const QString& text )
426+
void QgsCompositionWidget::on_mResolutionSpinBox_valueChanged( const int value )
430427
{
431-
bool conversionOk;
432-
int resolution = text.toInt( &conversionOk );
433-
if ( conversionOk && mComposition )
434-
{
435-
mComposition->setPrintResolution( resolution );
436-
}
437-
else if ( mComposition )
438-
{
439-
//set screen resolution per default
440-
QPrinter resolutionInfo( QPrinter::ScreenResolution );
441-
mComposition->setPrintResolution( resolutionInfo.resolution() );
442-
}
428+
mComposition->setPrintResolution( value );
443429
}
444430

445431
void QgsCompositionWidget::on_mPrintAsRasterCheckBox_stateChanged( int state )
@@ -474,7 +460,7 @@ void QgsCompositionWidget::on_mSnapToGridCheckBox_stateChanged( int state )
474460
}
475461
}
476462

477-
void QgsCompositionWidget::on_mResolutionSpinBox_valueChanged( double d )
463+
void QgsCompositionWidget::on_mGridResolutionSpinBox_valueChanged( double d )
478464
{
479465
if ( mComposition )
480466
{

src/app/composer/qgscompositionwidget.h

+6-6
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ class QgsCompositionWidget: public QWidget, private Ui::QgsCompositionWidgetBase
4343
void on_mPaperSizeComboBox_currentIndexChanged( const QString& text );
4444
void on_mPaperUnitsComboBox_currentIndexChanged( const QString& text );
4545
void on_mPaperOrientationComboBox_currentIndexChanged( const QString& text );
46-
void on_mPaperWidthLineEdit_editingFinished();
47-
void on_mPaperHeightLineEdit_editingFinished();
48-
void on_mResolutionLineEdit_textChanged( const QString& text );
46+
void on_mPaperWidthDoubleSpinBox_editingFinished();
47+
void on_mPaperHeightDoubleSpinBox_editingFinished();
48+
void on_mResolutionSpinBox_valueChanged( const int value );
4949
void on_mPrintAsRasterCheckBox_stateChanged( int state );
5050

5151
void on_mSnapToGridCheckBox_stateChanged( int state );
52-
void on_mResolutionSpinBox_valueChanged( double d );
52+
void on_mGridResolutionSpinBox_valueChanged( double d );
5353
void on_mOffsetXSpinBox_valueChanged( double d );
5454
void on_mOffsetYSpinBox_valueChanged( double d );
5555
void on_mGridColorButton_clicked();
@@ -75,6 +75,6 @@ class QgsCompositionWidget: public QWidget, private Ui::QgsCompositionWidgetBase
7575
void createPaperEntries();
7676
void insertPaperEntries();
7777

78-
double size( QLineEdit *le );
79-
void setSize( QLineEdit *le, double v );
78+
double size( QDoubleSpinBox *spin );
79+
void setSize( QDoubleSpinBox *spin, double v );
8080
};

0 commit comments

Comments
 (0)