80
80
QgsComposer::QgsComposer ( QgisApp *qgis, const QString& title )
81
81
: QMainWindow()
82
82
, mTitle( title )
83
+ , mQgis( qgis )
83
84
, mUndoView( 0 )
84
85
{
85
86
setupUi ( this );
@@ -88,13 +89,13 @@ QgsComposer::QgsComposer( QgisApp *qgis, const QString& title )
88
89
connect ( mButtonBox , SIGNAL ( rejected () ), this , SLOT ( close () ) );
89
90
90
91
QSettings settings;
91
- setStyleSheet ( QgisApp::instance () ->styleSheet () );
92
+ setStyleSheet ( mQgis ->styleSheet () );
92
93
93
94
int size = settings.value ( " /IconSize" , QGIS_ICON_SIZE ).toInt ();
94
95
setIconSize ( QSize ( size, size ) );
95
96
96
97
// ability to save parent project from composer
97
- mSaveProjectAction = QgisApp::instance () ->actionSaveProject ();
98
+ mSaveProjectAction = mQgis ->actionSaveProject ();
98
99
QToolButton* saveProjectToolButton = new QToolButton ( this );
99
100
saveProjectToolButton->addAction ( mSaveProjectAction );
100
101
saveProjectToolButton->setDefaultAction ( mSaveProjectAction );
@@ -165,15 +166,21 @@ QgsComposer::QgsComposer( QgisApp *qgis, const QString& title )
165
166
166
167
#ifdef Q_WS_MAC
167
168
QMenu *appMenu = menuBar ()->addMenu ( tr ( " QGIS" ) );
168
- appMenu->addAction ( QgisApp::instance () ->actionAbout () );
169
- appMenu->addAction ( QgisApp::instance () ->actionOptions () );
169
+ appMenu->addAction ( mQgis ->actionAbout () );
170
+ appMenu->addAction ( mQgis ->actionOptions () );
170
171
#endif
171
172
172
173
QMenu *composerMenu = menuBar ()->addMenu ( tr ( " Composer" ) );
173
174
composerMenu->addAction ( mSaveProjectAction );
174
175
composerMenu->addSeparator ();
175
- composerMenu->addAction ( QgisApp::instance ()->actionNewPrintComposer () );
176
- composerMenu->addAction ( QgisApp::instance ()->actionShowComposerManager () );
176
+ composerMenu->addAction ( mQgis ->actionNewPrintComposer () );
177
+ composerMenu->addAction ( mQgis ->actionShowComposerManager () );
178
+
179
+ mPrintComposersMenu = new QMenu ( tr ( " Print Composers" ), this );
180
+ mPrintComposersMenu ->setObjectName ( " mPrintComposersMenu" );
181
+ QObject::connect ( mPrintComposersMenu , SIGNAL ( aboutToShow () ), this , SLOT ( populatePrintComposersMenu () ) );
182
+ composerMenu->addMenu ( mPrintComposersMenu );
183
+
177
184
composerMenu->addSeparator ();
178
185
composerMenu->addAction ( mActionLoadFromTemplate );
179
186
composerMenu->addAction ( mActionSaveAsTemplate );
@@ -233,13 +240,12 @@ QgsComposer::QgsComposer( QgisApp *qgis, const QString& title )
233
240
234
241
#ifdef Q_WS_MAC
235
242
#ifndef Q_WS_MAC64 /* assertion failure in NSMenuItem setSubmenu (Qt 4.5.0-snapshot-20080830) */
236
- menuBar ()->addMenu ( QgisApp::instance () ->windowMenu () );
243
+ menuBar ()->addMenu ( mQgis ->windowMenu () );
237
244
238
- menuBar ()->addMenu ( QgisApp::instance () ->helpMenu () );
245
+ menuBar ()->addMenu ( mQgis ->helpMenu () );
239
246
#endif
240
247
#endif
241
248
242
- mQgis = qgis;
243
249
mFirstTime = true ;
244
250
245
251
// Create action to select this window
@@ -914,7 +920,7 @@ void QgsComposer::on_mActionExportAsImage_triggered()
914
920
dlg.setOption ( QFileDialog::ShowDirsOnly, true );
915
921
916
922
//
917
- // Build an augmented FialeDialog with a combo box to select the output format
923
+ // Build an augmented FileDialog with a combo box to select the output format
918
924
QComboBox *box = new QComboBox ();
919
925
QHBoxLayout* hlayout = new QHBoxLayout ();
920
926
QWidget* widget = new QWidget ();
@@ -1547,7 +1553,7 @@ void QgsComposer::showEvent( QShowEvent* event )
1547
1553
// add to menu if (re)opening window (event not due to unminimize)
1548
1554
if ( !event->spontaneous () )
1549
1555
{
1550
- QgisApp::instance () ->addWindow ( mWindowAction );
1556
+ mQgis ->addWindow ( mWindowAction );
1551
1557
}
1552
1558
#endif
1553
1559
}
@@ -1986,3 +1992,9 @@ void QgsComposer::initialiseComposerPicturePreviews()
1986
1992
}
1987
1993
mPicturePreviews .clear ();
1988
1994
}
1995
+
1996
+ void QgsComposer::populatePrintComposersMenu ()
1997
+ {
1998
+ mPrintComposersMenu ->clear ();
1999
+ mPrintComposersMenu ->addActions ( mQgis ->printComposersMenu ()->actions () );
2000
+ }
0 commit comments