@@ -94,14 +94,6 @@ QgsComposer::QgsComposer( QgisApp *qgis, const QString& title )
94
94
int size = settings.value ( " /IconSize" , QGIS_ICON_SIZE ).toInt ();
95
95
setIconSize ( QSize ( size, size ) );
96
96
97
- // ability to save parent project from composer
98
- mSaveProjectAction = mQgis ->actionSaveProject ();
99
- QToolButton* saveProjectToolButton = new QToolButton ( this );
100
- saveProjectToolButton->addAction ( mSaveProjectAction );
101
- saveProjectToolButton->setDefaultAction ( mSaveProjectAction );
102
- mComposerToolbar ->insertWidget ( mActionLoadFromTemplate , saveProjectToolButton );
103
- mComposerToolbar ->insertSeparator ( mActionLoadFromTemplate );
104
-
105
97
QToolButton* orderingToolButton = new QToolButton ( this );
106
98
orderingToolButton->setPopupMode ( QToolButton::InstantPopup );
107
99
orderingToolButton->setAutoRaise ( true );
@@ -171,10 +163,11 @@ QgsComposer::QgsComposer( QgisApp *qgis, const QString& title )
171
163
#endif
172
164
173
165
QMenu *composerMenu = menuBar ()->addMenu ( tr ( " Composer" ) );
174
- composerMenu->addAction ( mSaveProjectAction );
166
+ composerMenu->addAction ( mActionSaveProject );
175
167
composerMenu->addSeparator ();
176
- composerMenu->addAction ( mQgis ->actionNewPrintComposer () );
177
- composerMenu->addAction ( mQgis ->actionShowComposerManager () );
168
+ composerMenu->addAction ( mActionNewComposer );
169
+ composerMenu->addAction ( mActionDuplicateComposer );
170
+ composerMenu->addAction ( mActionComposerManager );
178
171
179
172
mPrintComposersMenu = new QMenu ( tr ( " Print Composers" ), this );
180
173
mPrintComposersMenu ->setObjectName ( " mPrintComposersMenu" );
@@ -360,6 +353,10 @@ void QgsComposer::setupTheme()
360
353
// now set all the icons - getThemeIcon will fall back to default theme if its
361
354
// missing from active theme
362
355
mActionQuit ->setIcon ( QgsApplication::getThemeIcon ( " /mActionFileExit.png" ) );
356
+ mActionSaveProject ->setIcon ( QgsApplication::getThemeIcon ( " /mActionFileSave.png" ) );
357
+ mActionNewComposer ->setIcon ( QgsApplication::getThemeIcon ( " /mActionNewComposer.png" ) );
358
+ mActionDuplicateComposer ->setIcon ( QgsApplication::getThemeIcon ( " /mActionDuplicateComposer.png" ) );
359
+ mActionComposerManager ->setIcon ( QgsApplication::getThemeIcon ( " /mActionComposerManager.png" ) );
363
360
mActionLoadFromTemplate ->setIcon ( QgsApplication::getThemeIcon ( " /mActionFileOpen.png" ) );
364
361
mActionSaveAsTemplate ->setIcon ( QgsApplication::getThemeIcon ( " /mActionFileSaveAs.png" ) );
365
362
mActionExportAsImage ->setIcon ( QgsApplication::getThemeIcon ( " /mActionSaveMapAsImage.png" ) );
@@ -1337,6 +1334,26 @@ void QgsComposer::on_mActionAddArrow_triggered()
1337
1334
}
1338
1335
}
1339
1336
1337
+ void QgsComposer::on_mActionSaveProject_triggered ()
1338
+ {
1339
+ mQgis ->actionSaveProject ()->trigger ();
1340
+ }
1341
+
1342
+ void QgsComposer::on_mActionNewComposer_triggered ()
1343
+ {
1344
+ mQgis ->actionNewPrintComposer ()->trigger ();
1345
+ }
1346
+
1347
+ void QgsComposer::on_mActionDuplicateComposer_triggered ()
1348
+ {
1349
+ mQgis ->duplicateComposer ( this , this );
1350
+ }
1351
+
1352
+ void QgsComposer::on_mActionComposerManager_triggered ()
1353
+ {
1354
+ mQgis ->actionShowComposerManager ()->trigger ();
1355
+ }
1356
+
1340
1357
void QgsComposer::on_mActionSaveAsTemplate_triggered ()
1341
1358
{
1342
1359
// show file dialog
@@ -1366,7 +1383,7 @@ void QgsComposer::on_mActionSaveAsTemplate_triggered()
1366
1383
}
1367
1384
1368
1385
QDomDocument saveDocument;
1369
- writeXML ( saveDocument, saveDocument );
1386
+ templateXML ( saveDocument );
1370
1387
1371
1388
if ( templateFile.write ( saveDocument.toByteArray () ) == -1 )
1372
1389
{
@@ -1633,6 +1650,11 @@ void QgsComposer::writeXML( QDomNode& parentNode, QDomDocument& doc )
1633
1650
mComposition ->atlasComposition ().writeXML ( composerElem, doc );
1634
1651
}
1635
1652
1653
+ void QgsComposer::templateXML ( QDomDocument& doc )
1654
+ {
1655
+ writeXML ( doc, doc );
1656
+ }
1657
+
1636
1658
void QgsComposer::readXML ( const QDomDocument& doc )
1637
1659
{
1638
1660
QDomNodeList composerNodeList = doc.elementsByTagName ( " Composer" );
0 commit comments