@@ -808,7 +808,13 @@ void QgsComposer::on_mActionOptions_triggered()
808
808
void QgsComposer::toggleAtlasControls ( bool atlasEnabled )
809
809
{
810
810
// preview defaults to unchecked
811
+ mActionAtlasPreview ->blockSignals ( true );
811
812
mActionAtlasPreview ->setChecked ( false );
813
+ mActionAtlasFirst ->setEnabled ( false );
814
+ mActionAtlasLast ->setEnabled ( false );
815
+ mActionAtlasNext ->setEnabled ( false );
816
+ mActionAtlasPrev ->setEnabled ( false );
817
+ mActionAtlasPreview ->blockSignals ( false );
812
818
mActionAtlasPreview ->setEnabled ( atlasEnabled );
813
819
mActionPrintAtlas ->setEnabled ( atlasEnabled );
814
820
mActionExportAtlasAsImage ->setEnabled ( atlasEnabled );
@@ -841,7 +847,7 @@ void QgsComposer::on_mActionAtlasPreview_triggered( bool checked )
841
847
mActionAtlasNext ->setEnabled ( checked );
842
848
mActionAtlasPrev ->setEnabled ( checked );
843
849
844
- bool previewEnabled = mComposition ->setAtlasPreviewEnabled ( checked );
850
+ bool previewEnabled = mComposition ->setAtlasMode ( checked ? QgsComposition::PreviewAtlas : QgsComposition::AtlasOff );
845
851
if ( !previewEnabled )
846
852
{
847
853
// something went wrong, eg, no matching features
@@ -1082,9 +1088,12 @@ void QgsComposer::on_mActionAtlasSettings_triggered()
1082
1088
1083
1089
void QgsComposer::on_mActionExportAtlasAsPDF_triggered ()
1084
1090
{
1091
+ QgsComposition::AtlasMode previousMode = mComposition ->atlasMode ();
1092
+ mComposition ->setAtlasMode ( QgsComposition::ExportAtlas );
1085
1093
exportCompositionAsPDF ( QgsComposer::Atlas );
1094
+ mComposition ->setAtlasMode ( previousMode );
1086
1095
1087
- if ( mComposition ->atlasPreviewEnabled () )
1096
+ if ( mComposition ->atlasMode () == QgsComposition::PreviewAtlas )
1088
1097
{
1089
1098
// after atlas output, jump back to preview first feature
1090
1099
QgsAtlasComposition* atlasMap = &mComposition ->atlasComposition ();
@@ -1139,7 +1148,8 @@ void QgsComposer::exportCompositionAsPDF( QgsComposer::OutputMode mode )
1139
1148
QString lastUsedFile = myQSettings.value ( " /UI/lastSaveAsPdfFile" , " qgis.pdf" ).toString ();
1140
1149
QFileInfo file ( lastUsedFile );
1141
1150
1142
- if ( hasAnAtlas && !atlasOnASingleFile && ( mode == QgsComposer::Atlas || mComposition ->atlasPreviewEnabled () ) )
1151
+ if ( hasAnAtlas && !atlasOnASingleFile &&
1152
+ ( mode == QgsComposer::Atlas || mComposition ->atlasMode () == QgsComposition::PreviewAtlas ) )
1143
1153
{
1144
1154
outputFileName = QDir ( file.path () ).filePath ( atlasMap->currentFilename () ) + " .pdf" ;
1145
1155
}
@@ -1311,7 +1321,10 @@ void QgsComposer::on_mActionPrint_triggered()
1311
1321
void QgsComposer::on_mActionPrintAtlas_triggered ()
1312
1322
{
1313
1323
// print whole atlas
1324
+ QgsComposition::AtlasMode previousMode = mComposition ->atlasMode ();
1325
+ mComposition ->setAtlasMode ( QgsComposition::ExportAtlas );
1314
1326
printComposition ( QgsComposer::Atlas );
1327
+ mComposition ->setAtlasMode ( previousMode );
1315
1328
}
1316
1329
1317
1330
void QgsComposer::printComposition ( QgsComposer::OutputMode mode )
@@ -1425,9 +1438,13 @@ void QgsComposer::printComposition( QgsComposer::OutputMode mode )
1425
1438
1426
1439
void QgsComposer::on_mActionExportAtlasAsImage_triggered ()
1427
1440
{
1441
+ // print whole atlas
1442
+ QgsComposition::AtlasMode previousMode = mComposition ->atlasMode ();
1443
+ mComposition ->setAtlasMode ( QgsComposition::ExportAtlas );
1428
1444
exportCompositionAsImage ( QgsComposer::Atlas );
1445
+ mComposition ->setAtlasMode ( previousMode );
1429
1446
1430
- if ( mComposition ->atlasPreviewEnabled () )
1447
+ if ( mComposition ->atlasMode () == QgsComposition::PreviewAtlas )
1431
1448
{
1432
1449
// after atlas output, jump back to preview first feature
1433
1450
QgsAtlasComposition* atlasMap = &mComposition ->atlasComposition ();
@@ -1480,7 +1497,7 @@ void QgsComposer::exportCompositionAsImage( QgsComposer::OutputMode mode )
1480
1497
{
1481
1498
QString outputFileName = QString::null;
1482
1499
1483
- if ( atlasMap->enabled () && mComposition ->atlasPreviewEnabled () )
1500
+ if ( atlasMap->enabled () && mComposition ->atlasMode () == QgsComposition::PreviewAtlas )
1484
1501
{
1485
1502
QString lastUsedDir = settings.value ( " /UI/lastSaveAsImageDir" , " ." ).toString ();
1486
1503
outputFileName = QDir ( lastUsedDir ).filePath ( atlasMap->currentFilename () );
@@ -1702,9 +1719,12 @@ void QgsComposer::exportCompositionAsImage( QgsComposer::OutputMode mode )
1702
1719
1703
1720
void QgsComposer::on_mActionExportAtlasAsSVG_triggered ()
1704
1721
{
1722
+ QgsComposition::AtlasMode previousMode = mComposition ->atlasMode ();
1723
+ mComposition ->setAtlasMode ( QgsComposition::ExportAtlas );
1705
1724
exportCompositionAsSVG ( QgsComposer::Atlas );
1725
+ mComposition ->setAtlasMode ( previousMode );
1706
1726
1707
- if ( mComposition ->atlasPreviewEnabled () )
1727
+ if ( mComposition ->atlasMode () == QgsComposition::PreviewAtlas )
1708
1728
{
1709
1729
// after atlas output, jump back to preview first feature
1710
1730
QgsAtlasComposition* atlasMap = &mComposition ->atlasComposition ();
0 commit comments