[QGIS Commit] r13551 - trunk/qgis/src/app/attributetable
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Sat May 22 17:17:32 EDT 2010
Author: jef
Date: 2010-05-22 17:17:30 -0400 (Sat, 22 May 2010)
New Revision: 13551
Modified:
trunk/qgis/src/app/attributetable/qgsattributetabledialog.cpp
trunk/qgis/src/app/attributetable/qgsattributetablemodel.h
Log:
let attribute table follow canvas extent
Modified: trunk/qgis/src/app/attributetable/qgsattributetabledialog.cpp
===================================================================
--- trunk/qgis/src/app/attributetable/qgsattributetabledialog.cpp 2010-05-22 18:50:26 UTC (rev 13550)
+++ trunk/qgis/src/app/attributetable/qgsattributetabledialog.cpp 2010-05-22 21:17:30 UTC (rev 13551)
@@ -71,8 +71,7 @@
mColumnBox = columnBox;
columnBoxInit();
- QSettings mySettings;
- bool myDockFlag = mySettings.value( "/qgis/dockAttributeTable", false ).toBool();
+ bool myDockFlag = settings.value( "/qgis/dockAttributeTable", false ).toBool();
if ( myDockFlag )
{
mDock = new QgsAttributeTableDock( tr( "Attribute table - %1 (%n Feature(s))", "feature count", mModel->rowCount() ).arg( mLayer->name() ), QgisApp::instance() );
@@ -122,6 +121,11 @@
connect( mView->verticalHeader(), SIGNAL( sectionPressed( int ) ), this, SLOT( updateRowPressed( int ) ) );
connect( mModel, SIGNAL( modelChanged() ), this, SLOT( updateSelection() ) );
+ if ( settings.value( "/qgis/attributeTableBehaviour", 0 ).toInt() == 2 )
+ {
+ connect( QgisApp::instance()->mapCanvas(), SIGNAL( extentsChanged() ), mModel, SLOT( layerModified() ) );
+ }
+
mLastClickedHeaderIndex = 0;
mSelectionModel = new QItemSelectionModel( mFilterModel );
updateSelectionFromLayer();
@@ -221,7 +225,19 @@
void QgsAttributeTableDialog::on_mZoomMapToSelectedRowsButton_clicked()
{
+ QSettings settings;
+ bool canvasFeatures = settings.value( "/qgis/attributeTableBehaviour", 0 ).toInt() == 2;
+ if ( canvasFeatures )
+ {
+ disconnect( QgisApp::instance()->mapCanvas(), SIGNAL( extentsChanged() ), mModel, SLOT( layerModified() ) );
+ }
+
QgisApp::instance()->mapCanvas()->zoomToSelected( mLayer );
+
+ if ( canvasFeatures )
+ {
+ connect( QgisApp::instance()->mapCanvas(), SIGNAL( extentsChanged() ), mModel, SLOT( layerModified() ) );
+ }
}
void QgsAttributeTableDialog::on_mInvertSelectionButton_clicked()
Modified: trunk/qgis/src/app/attributetable/qgsattributetablemodel.h
===================================================================
--- trunk/qgis/src/app/attributetable/qgsattributetablemodel.h 2010-05-22 18:50:26 UTC (rev 13550)
+++ trunk/qgis/src/app/attributetable/qgsattributetablemodel.h 2010-05-22 21:17:30 UTC (rev 13551)
@@ -163,7 +163,7 @@
* Rebuilds the model
* @param onlyGeometry true if only geometry has changed
*/
- virtual void layerModified( bool onlyGeometry );
+ virtual void layerModified( bool onlyGeometry = false );
protected slots:
#if 0
More information about the QGIS-commit
mailing list