[QGIS Commit] r13842 - in trunk/qgis/src: app python
svn_qgis at osgeo.org
svn_qgis at osgeo.org
Tue Jun 29 10:04:34 EDT 2010
Author: jef
Date: 2010-06-29 14:04:34 +0000 (Tue, 29 Jun 2010)
New Revision: 13842
Modified:
trunk/qgis/src/app/qgsattributedialog.cpp
trunk/qgis/src/app/qgsattributedialog.h
trunk/qgis/src/python/qgspythonutilsimpl.cpp
Log:
fix python feature form identifier in case of non-ascii layer ids
Modified: trunk/qgis/src/app/qgsattributedialog.cpp
===================================================================
--- trunk/qgis/src/app/qgsattributedialog.cpp 2010-06-29 10:17:13 UTC (rev 13841)
+++ trunk/qgis/src/app/qgsattributedialog.cpp 2010-06-29 14:04:34 UTC (rev 13842)
@@ -42,12 +42,15 @@
#include <QVBoxLayout>
#include <QLineEdit>
+int QgsAttributeDialog::smFormCounter = 0;
+
QgsAttributeDialog::QgsAttributeDialog( QgsVectorLayer *vl, QgsFeature *thepFeature )
: mDialog( 0 )
, mSettingsPath( "/Windows/AttributeDialog/" )
, mLayer( vl )
, mpFeature( thepFeature )
, mRubberBand( 0 )
+ , mFormNr( -1 )
{
if ( mpFeature == NULL || vl->dataProvider() == NULL )
return;
@@ -227,9 +230,10 @@
QgisApp::instance()->runPythonString( QString( "import %1" ).arg( module.left( pos ) ) );
}
- QgisApp::instance()->runPythonString( QString( "_qgis_featureform_%1 = wrapinstance( %2, QtGui.QDialog )" ).arg( mLayer->getLayerID() ).arg(( unsigned long ) mDialog ) );
+ mFormNr = smFormCounter++;
+ QgisApp::instance()->runPythonString( QString( "_qgis_featureform_%1 = wrapinstance( %2, QtGui.QDialog )" ).arg( mFormNr ).arg(( unsigned long ) mDialog ) );
- QString expr = QString( "%1(_qgis_featureform_%2,'%2',%3)" ).arg( vl->editFormInit() ).arg( vl->getLayerID() ).arg( mpFeature->id() );
+ QString expr = QString( "%1(_qgis_featureform_%2,'%3',%4)" ).arg( vl->editFormInit() ).arg( mFormNr ).arg( vl->getLayerID() ).arg( mpFeature->id() );
QgsDebugMsg( QString( "running featureForm init: %1" ).arg( expr ) );
QgisApp::instance()->runPythonString( expr );
}
@@ -331,8 +335,11 @@
mLayer->setProperty( "featureForm.dialog", QVariant() );
mLayer->setProperty( "featureForm.id", QVariant() );
#endif
- QString expr = QString( "if locals().has_key('_qgis_featureform_%1'): del _qgis_featureform_%1\n" ).arg( mLayer->getLayerID() );
- QgisApp::instance()->runPythonString( expr );
+ if ( -1 < mFormNr )
+ {
+ QString expr = QString( "if locals().has_key('_qgis_featureform_%1'): del _qgis_featureform_%1\n" ).arg( mFormNr );
+ QgisApp::instance()->runPythonString( expr );
+ }
mDialog = NULL;
deleteLater();
Modified: trunk/qgis/src/app/qgsattributedialog.h
===================================================================
--- trunk/qgis/src/app/qgsattributedialog.h 2010-06-29 10:17:13 UTC (rev 13841)
+++ trunk/qgis/src/app/qgsattributedialog.h 2010-06-29 14:04:34 UTC (rev 13842)
@@ -68,6 +68,8 @@
QgsVectorLayer *mLayer;
QgsFeature *mpFeature;
QgsRubberBand *mRubberBand;
+ int mFormNr;
+ static int smFormCounter;
};
#endif
Modified: trunk/qgis/src/python/qgspythonutilsimpl.cpp
===================================================================
--- trunk/qgis/src/python/qgspythonutilsimpl.cpp 2010-06-29 10:17:13 UTC (rev 13841)
+++ trunk/qgis/src/python/qgspythonutilsimpl.cpp 2010-06-29 14:04:34 UTC (rev 13842)
@@ -161,7 +161,7 @@
evalString( "str(sys.path)", path );
evalString( "sys.version", version );
- QString str = "<font color=\"red\">" + msgOnError + "</font><br><br>" + traceback + "<br>"
+ QString str = "<font color=\"red\">" + msgOnError + "</font><br><pre>\n" + traceback + "\n</pre>"
+ QObject::tr( "Python version:" ) + "<br>" + version + "<br><br>"
+ QObject::tr( "QGIS version:" ) + "<br>" + QString( "%1 '%2', %3" ).arg( QGis::QGIS_VERSION ).arg( QGis::QGIS_RELEASE_NAME ).arg( QGis::QGIS_SVN_VERSION ) + "<br><br>"
+ QObject::tr( "Python path:" ) + "<br>" + path;
More information about the QGIS-commit
mailing list