Skip to content

Commit 3edab4f

Browse files
committedJan 7, 2018
Swap composers menu to show layouts instead
1 parent 4f825f8 commit 3edab4f

File tree

7 files changed

+40
-19
lines changed

7 files changed

+40
-19
lines changed
 

‎src/app/composer/qgscomposer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3570,7 +3570,7 @@ void QgsComposer::mActionPageSetup_triggered()
35703570

35713571
void QgsComposer::populatePrintComposersMenu()
35723572
{
3573-
mQgis->populateComposerMenu( mPrintComposersMenu );
3573+
mQgis->populateLayoutsMenu( mPrintComposersMenu );
35743574
}
35753575

35763576
void QgsComposer::populateWindowMenu()

‎src/app/layout/qgslayoutdesignerdialog.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -709,6 +709,9 @@ QgsLayoutDesignerDialog::QgsLayoutDesignerDialog( QWidget *parent, Qt::WindowFla
709709
mActionExportAtlasAsSVG->setEnabled( false );
710710
mActionExportAtlasAsPDF->setEnabled( false );
711711

712+
mLayoutsMenu->setObjectName( QStringLiteral( "mLayoutsMenu" ) );
713+
connect( mLayoutsMenu, &QMenu::aboutToShow, this, &QgsLayoutDesignerDialog::populateLayoutsMenu );
714+
712715
restoreWindowState();
713716

714717
//listen out to status bar updates from the view
@@ -3312,6 +3315,11 @@ void QgsLayoutDesignerDialog::pageOrientationChanged()
33123315
mSetPageOrientation = false;
33133316
}
33143317

3318+
void QgsLayoutDesignerDialog::populateLayoutsMenu()
3319+
{
3320+
QgisApp::instance()->populateLayoutsMenu( mLayoutsMenu );
3321+
}
3322+
33153323
void QgsLayoutDesignerDialog::paste()
33163324
{
33173325
QPointF pt = mView->mapFromGlobal( QCursor::pos() );

‎src/app/layout/qgslayoutdesignerdialog.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,9 @@ class QgsLayoutDesignerDialog: public QMainWindow, private Ui::QgsLayoutDesigner
340340
//! Sets the printer page orientation when the page orientation changes
341341
void pageOrientationChanged();
342342

343+
//! Populate layouts menu from main app's
344+
void populateLayoutsMenu();
345+
343346
private:
344347

345348
static bool sInitializedRegistry;

‎src/app/qgisapp.cpp

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3244,7 +3244,7 @@ void QgisApp::setupConnections()
32443244
// setup undo/redo actions
32453245
connect( mUndoWidget, &QgsUndoWidget::undoStackChanged, this, &QgisApp::updateUndoActions );
32463246

3247-
connect( mPrintComposersMenu, &QMenu::aboutToShow, this, &QgisApp::composerMenuAboutToShow );
3247+
connect( mLayoutsMenu, &QMenu::aboutToShow, this, &QgisApp::layoutsMenuAboutToShow );
32483248
connect( QgsProject::instance()->layoutManager(), &QgsLayoutManager::compositionAboutToBeRemoved, this, &QgisApp::compositionAboutToBeRemoved );
32493249
}
32503250

@@ -7535,21 +7535,22 @@ void QgisApp::setLayoutAtlasFeature( QgsPrintLayout *layout, QgsMapLayer *layer,
75357535
designer->setAtlasFeature( layer, feat );
75367536
}
75377537

7538-
void QgisApp::composerMenuAboutToShow()
7538+
void QgisApp::layoutsMenuAboutToShow()
75397539
{
7540-
populateComposerMenu( mPrintComposersMenu );
7540+
populateLayoutsMenu( mLayoutsMenu );
75417541
}
75427542

7543-
void QgisApp::populateComposerMenu( QMenu *menu )
7543+
void QgisApp::populateLayoutsMenu( QMenu *menu )
75447544
{
75457545
menu->clear();
75467546
QList<QAction *> acts;
7547-
Q_FOREACH ( QgsComposition *c, QgsProject::instance()->layoutManager()->compositions() )
7547+
const QList< QgsMasterLayoutInterface * > layouts = QgsProject::instance()->layoutManager()->layouts();
7548+
for ( QgsMasterLayoutInterface *layout : layouts )
75487549
{
7549-
QAction *a = new QAction( c->name(), menu );
7550-
connect( a, &QAction::triggered, this, [this, c]
7550+
QAction *a = new QAction( layout->name(), menu );
7551+
connect( a, &QAction::triggered, this, [this, layout]
75517552
{
7552-
openComposer( c );
7553+
openLayoutDesignerDialog( layout );
75537554
} );
75547555
acts << a;
75557556
}

‎src/app/qgisapp.h

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,8 @@ class QgsAuthManager;
4646
class QgsBookmarks;
4747
class QgsClipboard;
4848
class QgsComposer;
49-
class QgsComposerInterface;
5049
class QgsComposition;
5150
class QgsComposerManager;
52-
class QgsComposerView;
5351
class QgsContrastEnhancement;
5452
class QgsCoordinateReferenceSystem;
5553
class QgsCustomDropHandler;
@@ -302,7 +300,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
302300
QgisAppStyleSheet *styleSheetBuilder();
303301

304302
//! Populates a menu with actions for opening layout designers
305-
void populateComposerMenu( QMenu *menu );
303+
void populateLayoutsMenu( QMenu *menu );
306304

307305
//! Setup the toolbar popup menus for a given theme
308306
void setupToolbarPopups( QString themeName );
@@ -574,7 +572,6 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
574572
QMenu *firstRightStandardMenu() { return mHelpMenu; }
575573
QMenu *windowMenu() { return nullptr; }
576574
#endif
577-
QMenu *printComposersMenu() {return mPrintComposersMenu;}
578575
QMenu *helpMenu() { return mHelpMenu; }
579576

580577
//! Toolbars
@@ -1260,6 +1257,9 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
12601257
//! Create a new print layout
12611258
void newPrintLayout();
12621259

1260+
//! Slot to handle display of layouts menu, e.g. sorting
1261+
void layoutsMenuAboutToShow();
1262+
12631263
void showComposerManager();
12641264
//! Add all loaded layers into the overview - overrides qgisappbase method
12651265
void addAllToOverview();
@@ -1528,8 +1528,6 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
15281528

15291529
void showStyleManager();
15301530

1531-
//! Slot to handle display of composers menu, e.g. sorting
1532-
void composerMenuAboutToShow();
15331531
void compositionAboutToBeRemoved( const QString &name );
15341532

15351533
//! Toggles whether to show pinned labels
@@ -2037,7 +2035,7 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
20372035
//! Print composers of this project, accessible by id string
20382036
QSet<QgsComposer *> mPrintComposers;
20392037

2040-
//! Print composers of this project, accessible by id string
2038+
//! Currently open layout designer dialogs
20412039
QSet<QgsLayoutDesignerDialog *> mLayoutDesignerDialogs;
20422040

20432041
//! QGIS-internal vector feature clipboard

‎src/ui/layout/qgslayoutdesignerbase.ui

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,18 @@
106106
<property name="title">
107107
<string>&amp;Layout</string>
108108
</property>
109+
<widget class="QMenu" name="mLayoutsMenu">
110+
<property name="title">
111+
<string>Layouts</string>
112+
</property>
113+
</widget>
109114
<addaction name="mActionSaveProject"/>
110115
<addaction name="separator"/>
111116
<addaction name="mActionNewLayout"/>
112117
<addaction name="mActionDuplicateLayout"/>
113118
<addaction name="mActionRemoveLayout"/>
114119
<addaction name="mActionLayoutManager"/>
120+
<addaction name="mLayoutsMenu"/>
115121
<addaction name="separator"/>
116122
<addaction name="mActionLayoutProperties"/>
117123
<addaction name="mActionRenameLayout"/>
@@ -1487,6 +1493,11 @@
14871493
<string>Ctrl+Shift+P</string>
14881494
</property>
14891495
</action>
1496+
<action name="actiondsfg">
1497+
<property name="text">
1498+
<string>dsfg</string>
1499+
</property>
1500+
</action>
14901501
</widget>
14911502
<resources>
14921503
<include location="../../../images/images.qrc"/>

‎src/ui/qgisapp.ui

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
<string>Open &amp;Recent</string>
3333
</property>
3434
</widget>
35-
<widget class="QMenu" name="mPrintComposersMenu">
35+
<widget class="QMenu" name="mLayoutsMenu">
3636
<property name="title">
37-
<string>Print Composers</string>
37+
<string>Layouts</string>
3838
</property>
3939
</widget>
4040
<widget class="QMenu" name="mProjectFromTemplateMenu">
@@ -59,7 +59,7 @@
5959
<addaction name="mActionProjectProperties"/>
6060
<addaction name="separator"/>
6161
<addaction name="mActionShowComposerManager"/>
62-
<addaction name="mPrintComposersMenu"/>
62+
<addaction name="mLayoutsMenu"/>
6363
<addaction name="separator"/>
6464
<addaction name="mActionExit"/>
6565
</widget>

0 commit comments

Comments
 (0)
Please sign in to comment.