Skip to content

Commit d85ed32

Browse files
committedDec 31, 2012
Updates to legend active layer
- Single click in blank, non-item space in legend unsets active layer (same behavior as clicking group) - Underline active layer (helpful when active layer, and no selection or multiple selected layers)
1 parent d814e19 commit d85ed32

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed
 

‎src/app/legend/qgslegend.cpp

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,15 @@ void QgsLegend::handleCurrentItemChanged( QTreeWidgetItem* current, QTreeWidgetI
183183
mMapCanvas->setCurrentLayer( layer );
184184
}
185185

186+
blockSignals( true ); // or itemChanged() emitted
187+
foreach ( QgsLegendLayer *ll, legendLayers() )
188+
{
189+
QFont itemFont = ll->font( 0 );
190+
itemFont.setUnderline( ll->layer() == layer );
191+
ll->setFont( 0, itemFont );
192+
}
193+
blockSignals( false );
194+
186195
emit currentLayerChanged( layer );
187196
}
188197

@@ -385,6 +394,10 @@ void QgsLegend::mousePressEvent( QMouseEvent * e )
385394
{
386395
mMousePressedFlag = true;
387396
mDropTarget = itemAt( e->pos() );
397+
if ( !mDropTarget )
398+
{
399+
setCurrentItem( 0 );
400+
}
388401
}
389402
else if ( e->button() == Qt::RightButton )
390403
{

‎src/app/legend/qgslegend.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ class QgsLegend : public QTreeWidget
465465
void collapseAll();
466466
/** toogle update drawing order */
467467
void toggleDrawingOrderUpdate();
468-
void handleItemChange( QTreeWidgetItem* item, int row );
468+
void handleItemChange( QTreeWidgetItem* item, int column );
469469
void handleCloseEditor( QWidget * editor, QAbstractItemDelegate::EndEditHint hint );
470470
/** delegates current layer to map canvas */
471471
void handleCurrentItemChanged( QTreeWidgetItem* current, QTreeWidgetItem* previous );

0 commit comments

Comments
 (0)
Please sign in to comment.