void QgsOfflineEditing::applyGeometryChanges( QgsVectorLayer* remoteLayer, sqlite3* db, int layerId, int commitNo ) { QString sql = QString( "SELECT \"fid\", \"geom_wkt\" FROM 'log_geometry_updates' WHERE \"layer_id\" = %1 AND \"commit_no\" = %2" ).arg( layerId ).arg( commitNo ); GeometryChanges values = sqlQueryGeometryChanges( db, sql ); emit progressModeSet( QgsOfflineEditing::UpdateGeometries, values.size() ); for ( int i = 0; i < values.size(); i++ ) { QgsFeatureId fid = remoteFid( db, layerId, values.at( i ).fid ); remoteLayer->changeGeometry( fid, QgsGeometry::fromWkt( values.at( i ).geom_wkt ) ); emit progressUpdated( i + 1 ); } }
void QgsOfflineEditing::applyGeometryChanges( QgsVectorLayer* remoteLayer, sqlite3* db, int layerId, int commitNo ) { QString sql = QString( "SELECT \"fid\", \"geom_wkt\" FROM 'log_geometry_updates' WHERE \"layer_id\" = %1 AND \"commit_no\" = %2" ).arg( layerId ).arg( commitNo ); GeometryChanges values = sqlQueryGeometryChanges( db, sql ); mProgressDialog->setupProgressBar( tr( "%v / %m feature geometry updates" ), values.size() ); for ( int i = 0; i < values.size(); i++ ) { int fid = remoteFid( db, layerId, values.at( i ).fid ); remoteLayer->changeGeometry( fid, QgsGeometry::fromWkt( values.at( i ).geom_wkt ) ); mProgressDialog->setProgressValue( i + 1 ); } }