Skip to content

Commit 55c4ae5

Browse files
committed
Remove the legend from the application completely.
1 parent d26bdf7 commit 55c4ae5

15 files changed

+42
-85
lines changed

src/app/gps/qgsgpsinformationwidget.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ class QgsGPSConnection;
3131
class QgsGPSTrackerThread;
3232
struct QgsGPSInformation;
3333

34-
class QgsLegend;
3534
class QFile;
3635
class QColor;
3736

src/app/legend/qgsapplegendinterface.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ void QgsAppLegendInterface::onAddedChildren(QgsLayerTreeNode* node, int indexFro
284284
emit itemAdded( mLayerTreeView->layerTreeModel()->node2index(child) );
285285

286286
// also notify about all children
287-
if (QgsLayerTree::isGroup(child))
288-
onAddedChildren(child, 0, child->children().count());
287+
if (QgsLayerTree::isGroup(child) && child->children().count())
288+
onAddedChildren(child, 0, child->children().count()-1);
289289
}
290290
}
291291

src/app/qgisapp.cpp

Lines changed: 29 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
#include "qgscredentialdialog.h"
114114
#include "qgscursors.h"
115115
#include "qgscustomization.h"
116+
#include "qgscustomlayerorderwidget.h"
116117
#include "qgscustomprojectiondialog.h"
117118
#include "qgsdatasourceuri.h"
118119
#include "qgsdatumtransformdialog.h"
@@ -142,10 +143,6 @@
142143
#include "qgslayertreeutils.h"
143144
#include "qgslayertreeview.h"
144145
#include "qgslayertreeviewdefaultactions.h"
145-
#include "qgslegend.h"
146-
#include "qgslegendgroup.h"
147-
#include "qgslayerorder.h"
148-
#include "qgslegendlayer.h"
149146
#include "qgslogger.h"
150147
#include "qgsmapcanvas.h"
151148
#include "qgsmaplayer.h"
@@ -556,11 +553,7 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent,
556553
mMapCanvas->setFocus();
557554

558555
mLayerTreeView = new QgsLayerTreeView( this );
559-
560-
// "theMapLegend" used to find this canonical instance later
561-
mMapLegend = new QgsLegend( mMapCanvas, this, "theMapLegend" );
562-
563-
mMapLayerOrder = new QgsLayerOrder( mMapLegend, this, "theMapLayerOrder" );
556+
mLayerTreeView->setObjectName("theLayerTreeView"); // "theLayerTreeView" used to find this canonical instance later
564557

565558
// create undo widget
566559
mUndoWidget = new QgsUndoWidget( NULL, mMapCanvas );
@@ -574,7 +567,6 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, QWidget * parent,
574567
createCanvasTools();
575568
mMapCanvas->freeze();
576569
initLayerTreeView();
577-
initLegend();
578570
createOverview();
579571
createMapTips();
580572
createDecorations();
@@ -822,7 +814,6 @@ QgisApp::QgisApp( )
822814
mMapCanvas = new QgsMapCanvas();
823815
mMapCanvas->freeze();
824816
mLayerTreeView = new QgsLayerTreeView( this );
825-
mMapLegend = new QgsLegend( mMapCanvas );
826817
mUndoWidget = new QgsUndoWidget( NULL, mMapCanvas );
827818
mInfoBar = new QgsMessageBar( centralWidget() );
828819
// More tests may need more members to be initialized
@@ -2216,8 +2207,10 @@ QgsMessageBar* QgisApp::messageBar()
22162207

22172208
void QgisApp::initLayerTreeView()
22182209
{
2219-
mLayerTreeDock = new QDockWidget( tr( "Layers NEW" ), this );
2220-
mLayerTreeDock->setObjectName( "LayersNEW" );
2210+
mLayerTreeView->setWhatsThis( tr( "Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties." ) );
2211+
2212+
mLayerTreeDock = new QDockWidget( tr( "Layers" ), this );
2213+
mLayerTreeDock->setObjectName( "Layers" );
22212214
mLayerTreeDock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
22222215

22232216
QgsLayerTreeModel* model = new QgsLayerTreeModel( QgsProject::instance()->layerTreeRoot(), this );
@@ -2233,8 +2226,28 @@ void QgisApp::initLayerTreeView()
22332226
mLayerTreeDock->setWidget( mLayerTreeView );
22342227
addDockWidget( Qt::LeftDockWidgetArea, mLayerTreeDock );
22352228

2236-
mLayerTreeCanvasBridge = new QgsLayerTreeMapCanvasBridge( QgsProject::instance()->layerTreeRoot(), mMapCanvas );
2237-
mLayerTreeCanvasBridge->setParent(this);
2229+
mLayerTreeCanvasBridge = new QgsLayerTreeMapCanvasBridge( QgsProject::instance()->layerTreeRoot(), mMapCanvas, this );
2230+
2231+
mMapLayerOrder = new QgsCustomLayerOrderWidget(mLayerTreeCanvasBridge, this);
2232+
mMapLayerOrder->setObjectName("theMapLayerOrder");
2233+
2234+
QCheckBox *orderCb = new QCheckBox( tr( "Control rendering order" ) );
2235+
orderCb->setChecked( false );
2236+
2237+
mMapLayerOrder->setWhatsThis( tr( "Map layer list that displays all layers in drawing order." ) );
2238+
mLayerOrderDock = new QDockWidget( tr( "Layer order" ), this );
2239+
mLayerOrderDock->setObjectName( "LayerOrder" );
2240+
mLayerOrderDock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
2241+
2242+
QWidget* w = new QWidget( this );
2243+
QVBoxLayout* l = new QVBoxLayout;
2244+
l->setMargin( 0 );
2245+
l->addWidget( mMapLayerOrder );
2246+
l->addWidget( orderCb );
2247+
w->setLayout( l );
2248+
mLayerOrderDock->setWidget( w );
2249+
addDockWidget( Qt::LeftDockWidgetArea, mLayerOrderDock );
2250+
mLayerOrderDock->hide();
22382251
}
22392252

22402253

@@ -2262,51 +2275,6 @@ void QgisApp::layerTreeViewCurrentChanged(const QModelIndex& current, const QMod
22622275
}
22632276

22642277

2265-
void QgisApp::initLegend()
2266-
{
2267-
mMapLegend->setWhatsThis( tr( "Map legend that displays all the layers currently on the map canvas. Click on the check box to turn a layer on or off. Double click on a layer in the legend to customize its appearance and set other properties." ) );
2268-
mLegendDock = new QDockWidget( tr( "Layers" ), this );
2269-
mLegendDock->setObjectName( "Legend" );
2270-
mLegendDock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
2271-
2272-
QCheckBox *orderCb = new QCheckBox( tr( "Control rendering order" ) );
2273-
orderCb->setChecked( false );
2274-
2275-
connect( orderCb, SIGNAL( toggled( bool ) ), mMapLegend, SLOT( unsetUpdateDrawingOrder( bool ) ) );
2276-
connect( mMapLegend, SIGNAL( updateDrawingOrderUnchecked( bool ) ), orderCb, SLOT( setChecked( bool ) ) );
2277-
2278-
QWidget *w = new QWidget( this );
2279-
QLayout *l = new QVBoxLayout;
2280-
l->setMargin( 0 );
2281-
l->addWidget( mMapLegend );
2282-
w->setLayout( l );
2283-
mLegendDock->setWidget( w );
2284-
addDockWidget( Qt::LeftDockWidgetArea, mLegendDock );
2285-
2286-
// add to the Panel submenu
2287-
mPanelMenu->addAction( mLegendDock->toggleViewAction() );
2288-
2289-
mMapLayerOrder->setWhatsThis( tr( "Map layer list that displays all layers in drawing order." ) );
2290-
mLayerOrderDock = new QDockWidget( tr( "Layer order" ), this );
2291-
mLayerOrderDock->setObjectName( "LayerOrder" );
2292-
mLayerOrderDock->setAllowedAreas( Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea );
2293-
2294-
w = new QWidget( this );
2295-
l = new QVBoxLayout;
2296-
l->setMargin( 0 );
2297-
l->addWidget( mMapLayerOrder );
2298-
l->addWidget( orderCb );
2299-
w->setLayout( l );
2300-
mLayerOrderDock->setWidget( w );
2301-
addDockWidget( Qt::LeftDockWidgetArea, mLayerOrderDock );
2302-
mLayerOrderDock->hide();
2303-
2304-
// add to the Panel submenu
2305-
mPanelMenu->addAction( mLayerOrderDock->toggleViewAction() );
2306-
2307-
return;
2308-
}
2309-
23102278
void QgisApp::createMapTips()
23112279
{
23122280
// Set up the timer for maptips. The timer is reset everytime the mouse is moved
@@ -9504,7 +9472,7 @@ void QgisApp::showLayerProperties( QgsMapLayer *ml )
95049472
else
95059473
{
95069474
vlp = new QgsVectorLayerProperties( vlayer, this );
9507-
connect( vlp, SIGNAL( refreshLegend( QString, QgsLegendItem::Expansion ) ), mLayerTreeView, SLOT( refreshLayerSymbology( QString ) ) );
9475+
connect( vlp, SIGNAL( refreshLegend( QString ) ), mLayerTreeView, SLOT( refreshLayerSymbology( QString ) ) );
95089476
}
95099477

95109478
if ( vlp->exec() )

src/app/qgisapp.h

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,11 @@ class QgsComposer;
4444
class QgsComposerView;
4545
class QgsComposerManager;
4646
class QgsContrastEnhancement;
47+
class QgsCustomLayerOrderWidget;
4748
class QgsGeometry;
4849
class QgsFeature;
4950
class QgsLayerTreeMapCanvasBridge;
5051
class QgsLayerTreeView;
51-
class QgsLegend;
52-
class QgsLayerOrder;
5352
class QgsMapCanvas;
5453
class QgsMapLayer;
5554
class QgsMapTip;
@@ -1327,7 +1326,6 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
13271326
void createStatusBar();
13281327
void setupConnections();
13291328
void initLayerTreeView();
1330-
void initLegend();
13311329
void createOverview();
13321330
void createCanvasTools();
13331331
void createMapTips();
@@ -1371,7 +1369,6 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
13711369

13721370
// docks ------------------------------------------
13731371
QDockWidget *mLayerTreeDock;
1374-
QDockWidget *mLegendDock;
13751372
QDockWidget *mLayerOrderDock;
13761373
QDockWidget *mOverviewDock;
13771374
QDockWidget *mpGpsDock;
@@ -1473,10 +1470,8 @@ class APP_EXPORT QgisApp : public QMainWindow, private Ui::MainWindow
14731470
QgsLayerTreeView* mLayerTreeView;
14741471
//! Helper class that connects layer tree with map canvas
14751472
QgsLayerTreeMapCanvasBridge* mLayerTreeCanvasBridge;
1476-
//! Table of contents (legend) for the map
1477-
QgsLegend *mMapLegend;
14781473
//! Table of contents (legend) to order layers of the map
1479-
QgsLayerOrder *mMapLayerOrder;
1474+
QgsCustomLayerOrderWidget* mMapLayerOrder;
14801475
//! Cursor for the overview map
14811476
QCursor *mOverviewMapCursor;
14821477
//! scale factor

src/app/qgisappinterface.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
#include "qgsmapcanvas.h"
3636
#include "qgsproject.h"
3737
#include "qgslayertreeview.h"
38-
#include "qgslegend.h"
3938
#include "qgsshortcutsmanager.h"
4039
#include "qgsattributedialog.h"
4140
#include "qgsfield.h"

src/app/qgsmaptoolpinlabels.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
#include "qgsapplication.h"
2222
#include "qgsmapcanvas.h"
2323
#include "qgsmaplayerregistry.h"
24-
#include "qgslegend.h"
2524
#include "qgsvectorlayer.h"
2625

2726
#include "qgsmaptoolselectutils.h"

src/app/qgsmaptoolpinlabels.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020

2121
#include "qgsmaptoollabel.h"
2222
#include "qgsrectangle.h"
23-
#include "qgslegend.h"
2423
#include "qgscoordinatetransform.h"
2524

2625
class QgsRubberBand;

src/app/qgsoptions.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#include "qgisapp.h"
2323
#include "qgisappstylesheet.h"
2424
#include "qgshighlight.h"
25-
#include "qgslegend.h"
2625
#include "qgsmapcanvas.h"
2726
#include "qgsmaprenderer.h"
2827
#include "qgsgenericprojectionselector.h"

src/app/qgsvectorlayerproperties.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@
3333
#include "qgslabeldialog.h"
3434
#include "qgslabelinggui.h"
3535
#include "qgslabel.h"
36-
#include "qgslegenditem.h"
3736
#include "qgsgenericprojectionselector.h"
3837
#include "qgslogger.h"
3938
#include "qgsmaplayerregistry.h"
@@ -573,7 +572,7 @@ void QgsVectorLayerProperties::apply()
573572
layer->setSimplifyMethod( simplifyMethod );
574573

575574
// update symbology
576-
emit refreshLegend( layer->id(), QgsLegendItem::DontChange );
575+
emit refreshLegend( layer->id() );
577576

578577
layer->triggerRepaint();
579578
// notify the project we've made a change

src/app/qgsvectorlayerproperties.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
#include "qgsdelattrdialog.h"
2828
#include "qgsattributetypedialog.h"
2929
#include "qgsfield.h"
30-
#include "qgslegenditem.h"
3130
#include "qgsmapcanvas.h"
3231
#include "qgscontexthelp.h"
3332
#include "qgsexpressionbuilderdialog.h"
@@ -123,7 +122,7 @@ class APP_EXPORT QgsVectorLayerProperties : public QgsOptionsDialogBase, private
123122

124123
/** emitted when changes to layer were saved to update legend */
125124
void refreshLegend( QString layerID, bool expandItem );
126-
void refreshLegend( QString layerID, QgsLegendItem::Expansion expandItem );
125+
void refreshLegend( QString layerID );
127126

128127
void toggleEditing( QgsMapLayer * );
129128

0 commit comments

Comments
 (0)