automatic indentation update (r10009-r10065)

git-svn-id: http://svn.osgeo.org/qgis/trunk@10066 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
jef 2009-01-31 16:26:56 +00:00
parent 0f0f38171b
commit ddd7c8b0b8
15 changed files with 104 additions and 102 deletions

View File

@ -801,7 +801,7 @@ void QgisApp::createActions()
mActionLayerSelectionSaveAs->setStatusTip( tr( "Save the selection as a shapefile" ) ); mActionLayerSelectionSaveAs->setStatusTip( tr( "Save the selection as a shapefile" ) );
connect( mActionLayerSelectionSaveAs, SIGNAL( triggered() ), this, SLOT( saveSelectionAsShapefile() ) ); connect( mActionLayerSelectionSaveAs, SIGNAL( triggered() ), this, SLOT( saveSelectionAsShapefile() ) );
mActionLayerSelectionSaveAs->setEnabled( false ); mActionLayerSelectionSaveAs->setEnabled( false );
mActionRemoveLayer = new QAction( getThemeIcon( "mActionRemoveLayer.png" ), tr( "Remove Layer" ), this ); mActionRemoveLayer = new QAction( getThemeIcon( "mActionRemoveLayer.png" ), tr( "Remove Layer" ), this );
mActionRemoveLayer->setShortcut( tr( "Ctrl+D", "Remove a Layer" ) ); mActionRemoveLayer->setShortcut( tr( "Ctrl+D", "Remove a Layer" ) );
mActionRemoveLayer->setStatusTip( tr( "Remove a Layer" ) ); mActionRemoveLayer->setStatusTip( tr( "Remove a Layer" ) );
@ -2173,15 +2173,16 @@ bool QgisApp::addVectorLayers( QStringList const & theLayerQStringList, const QS
// If the newly created layer has more than 1 layer of data available, we show the // If the newly created layer has more than 1 layer of data available, we show the
// sublayers selection dialog so the user can select the sublayers to actually load. // sublayers selection dialog so the user can select the sublayers to actually load.
if ( sublayers.count() > 1) if ( sublayers.count() > 1 )
{ {
askUserForSublayers(layer); askUserForSublayers( layer );
// The first layer loaded is not usefull in that case. The user can select it in // The first layer loaded is not usefull in that case. The user can select it in
// the list if he wants to load it. // the list if he wants to load it.
delete layer; delete layer;
}else // there is 1 layer of data available }
else // there is 1 layer of data available
{ {
// Register this layer with the layers registry // Register this layer with the layers registry
QgsMapLayerRegistry::instance()->addMapLayer( layer ); QgsMapLayerRegistry::instance()->addMapLayer( layer );
@ -2219,57 +2220,57 @@ bool QgisApp::addVectorLayers( QStringList const & theLayerQStringList, const QS
} // QgisApp::addVectorLayer() } // QgisApp::addVectorLayer()
// This method is the method that does the real job. If the layer given in // This method is the method that does the real job. If the layer given in
// parameter is NULL, then the method tries to act on the activeLayer. // parameter is NULL, then the method tries to act on the activeLayer.
void QgisApp::askUserForSublayers(QgsVectorLayer *layer) void QgisApp::askUserForSublayers( QgsVectorLayer *layer )
{ {
if (layer == NULL) if ( layer == NULL )
{ {
if (activeLayer() == NULL || activeLayer()->type() != QgsMapLayer::VectorLayer) if ( activeLayer() == NULL || activeLayer()->type() != QgsMapLayer::VectorLayer )
return; return;
layer = (QgsVectorLayer*) activeLayer(); layer = ( QgsVectorLayer* ) activeLayer();
if (layer->dataProvider()->name() != "ogr") if ( layer->dataProvider()->name() != "ogr" )
return; return;
} }
QStringList sublayers = layer->dataProvider()->subLayers(); QStringList sublayers = layer->dataProvider()->subLayers();
// We initialize a selection dialog and display it. // We initialize a selection dialog and display it.
QgsOGRSublayersDialog chooseSublayersDialog( this ); QgsOGRSublayersDialog chooseSublayersDialog( this );
chooseSublayersDialog.populateLayerTable( sublayers ); chooseSublayersDialog.populateLayerTable( sublayers );
if (chooseSublayersDialog.exec()) if ( chooseSublayersDialog.exec() )
{ {
QString uri = layer->source(); QString uri = layer->source();
if ( uri.contains('&', Qt::CaseSensitive) ) if ( uri.contains( '&', Qt::CaseSensitive ) )
{ {
// If we get here, there are some options added to the filename. // If we get here, there are some options added to the filename.
// A valid uri is of the form: filename&option1=value1&option2=value2,... // A valid uri is of the form: filename&option1=value1&option2=value2,...
// We want only the filename here, so we get the first part of the split. // We want only the filename here, so we get the first part of the split.
QStringList theURIParts = uri.split("&"); QStringList theURIParts = uri.split( "&" );
uri = theURIParts.at( 0 ); uri = theURIParts.at( 0 );
} }
// the user has done his choice // the user has done his choice
loadOGRSublayers(uri, chooseSublayersDialog.getSelection()); loadOGRSublayers( uri, chooseSublayersDialog.getSelection() );
} }
} }
// This method will load with OGR the layers in parameter. // This method will load with OGR the layers in parameter.
// This method has been conceived to use the new URI // This method has been conceived to use the new URI
// format of the ogrprovider so as to give precisions about which // format of the ogrprovider so as to give precisions about which
// sublayer to load into QGIS. It is normally triggered by the // sublayer to load into QGIS. It is normally triggered by the
// sublayer selection dialog. // sublayer selection dialog.
void QgisApp::loadOGRSublayers( QString uri, QStringList list) void QgisApp::loadOGRSublayers( QString uri, QStringList list )
{ {
// The uri must contain the actual uri of the vectorLayer from which we are // The uri must contain the actual uri of the vectorLayer from which we are
// going to load the sublayers. // going to load the sublayers.
QString fileName = QFileInfo(uri).baseName(); QString fileName = QFileInfo( uri ).baseName();
for (int i = 0; i < list.size(); i++) for ( int i = 0; i < list.size(); i++ )
{ {
QString composedURI=uri+"&layername="+list.at(i); QString composedURI = uri + "&layername=" + list.at( i );
QgsVectorLayer *layer=addVectorLayer(composedURI,fileName+":"+list.at(i),"ogr"); QgsVectorLayer *layer = addVectorLayer( composedURI, fileName + ":" + list.at( i ), "ogr" );
} }
} }
/** This helper checks to see whether the file name appears to be a valid vector file name */ /** This helper checks to see whether the file name appears to be a valid vector file name */

View File

@ -600,7 +600,7 @@ class QgisApp : public QMainWindow
/** This method will open a dialog so the user can select the sublayers /** This method will open a dialog so the user can select the sublayers
* to load * to load
*/ */
void askUserForSublayers(QgsVectorLayer *layer); void askUserForSublayers( QgsVectorLayer *layer );
/** Add a raster layer to the map (passed in as a ptr). /** Add a raster layer to the map (passed in as a ptr).
* It won't force a refresh. * It won't force a refresh.
*/ */

View File

@ -23,8 +23,8 @@ QgsOGRSublayersDialog::QgsOGRSublayersDialog( QWidget* parent, Qt::WFlags fl )
: QDialog( parent, fl ) : QDialog( parent, fl )
{ {
setupUi( this ); setupUi( this );
QStringList labels=QStringList() << "Layer ID" << "Layer name" << "Nb of features" << "Geometry type"; QStringList labels = QStringList() << "Layer ID" << "Layer name" << "Nb of features" << "Geometry type";
layersTable->setHeaderLabels(labels); layersTable->setHeaderLabels( labels );
} }
QgsOGRSublayersDialog::~QgsOGRSublayersDialog() QgsOGRSublayersDialog::~QgsOGRSublayersDialog()
@ -33,22 +33,23 @@ QgsOGRSublayersDialog::~QgsOGRSublayersDialog()
QStringList QgsOGRSublayersDialog::getSelection() QStringList QgsOGRSublayersDialog::getSelection()
{ {
QStringList list=QStringList(); QStringList list = QStringList();
for (int i = 0; i < layersTable-> selectedItems().size(); i++) for ( int i = 0; i < layersTable-> selectedItems().size(); i++ )
{ {
QString theItem =layersTable-> selectedItems().at(i)->text(1); QString theItem = layersTable-> selectedItems().at( i )->text( 1 );
list.append(theItem); list.append( theItem );
} }
return list; return list;
} }
void QgsOGRSublayersDialog::populateLayerTable (QStringList theList) void QgsOGRSublayersDialog::populateLayerTable( QStringList theList )
{ {
for (int i =0; i< theList.size(); i++){ for ( int i = 0; i < theList.size(); i++ )
QString ligne = theList.at(i); {
QStringList elements = ligne.split(":"); QString ligne = theList.at( i );
QStringList item=QStringList(); QStringList elements = ligne.split( ":" );
item << elements.at(0) << elements.at(1) << elements.at(2) << elements.at(3); QStringList item = QStringList();
layersTable -> addTopLevelItem(new QTreeWidgetItem(item)); item << elements.at( 0 ) << elements.at( 1 ) << elements.at( 2 ) << elements.at( 3 );
} layersTable -> addTopLevelItem( new QTreeWidgetItem( item ) );
}
} }

View File

@ -28,8 +28,8 @@ class QgsOGRSublayersDialog : public QDialog, private Ui::QgsOGRSublayersDialogB
public: public:
QgsOGRSublayersDialog( QWidget* parent = 0, Qt::WFlags fl = 0 ); QgsOGRSublayersDialog( QWidget* parent = 0, Qt::WFlags fl = 0 );
~QgsOGRSublayersDialog(); ~QgsOGRSublayersDialog();
void populateLayerTable(QStringList theList); void populateLayerTable( QStringList theList );
QStringList getSelection(); QStringList getSelection();
}; };

View File

@ -77,7 +77,7 @@ QgsServerSourceSelect::QgsServerSourceSelect( QWidget * parent, Qt::WFlags fl )
int i = 1; int i = 1;
while ( iter != m_PotentialFormats.end() ) while ( iter != m_PotentialFormats.end() )
{ {
QRadioButton* btn = new QRadioButton(iter.value().first); QRadioButton* btn = new QRadioButton( iter.value().first );
m_imageFormatGroup->addButton( btn, iter.value().second ); m_imageFormatGroup->addButton( btn, iter.value().second );
m_imageFormatLayout->addWidget( btn ); m_imageFormatLayout->addWidget( btn );
if ( i == 1 ) if ( i == 1 )
@ -584,7 +584,7 @@ QString QgsServerSourceSelect::selectedImageEncoding()
QString imageEncoding = m_PotentialFormats.key( qMakePair( label, id ) ); QString imageEncoding = m_PotentialFormats.key( qMakePair( label, id ) );
//substitute blanks with %20 (e.g. in "image/png; mode=24bit") //substitute blanks with %20 (e.g. in "image/png; mode=24bit")
imageEncoding.replace(QRegExp(" "), "%20"); imageEncoding.replace( QRegExp( " " ), "%20" );
return imageEncoding; return imageEncoding;
} }

View File

@ -372,7 +372,7 @@ void QgsComposerMap::setSceneRect( const QRectF& rectangle )
mExtent = QgsRectangle( mExtent.xMinimum(), mExtent.yMinimum(), mExtent.xMaximum(), mExtent.yMinimum() + newHeight ); mExtent = QgsRectangle( mExtent.xMinimum(), mExtent.yMinimum(), mExtent.xMaximum(), mExtent.yMinimum() + newHeight );
mCacheUpdated = false; mCacheUpdated = false;
emit extentChanged(); emit extentChanged();
if(mPreviewMode != Rectangle) if ( mPreviewMode != Rectangle )
{ {
cache(); cache();
} }

View File

@ -5453,29 +5453,29 @@ QList<QgsGeometry*> QgsGeometry::asGeometryCollection()
if ( mGeos == NULL ) if ( mGeos == NULL )
return QList<QgsGeometry*>(); return QList<QgsGeometry*>();
} }
int type = GEOSGeomTypeId( mGeos ); int type = GEOSGeomTypeId( mGeos );
QgsDebugMsg("geom type: "+QString::number(type)); QgsDebugMsg( "geom type: " + QString::number( type ) );
QList<QgsGeometry*> geomCollection; QList<QgsGeometry*> geomCollection;
if ( type != GEOS_MULTIPOINT && if ( type != GEOS_MULTIPOINT &&
type != GEOS_MULTILINESTRING && type != GEOS_MULTILINESTRING &&
type != GEOS_MULTIPOLYGON && type != GEOS_MULTIPOLYGON &&
type != GEOS_GEOMETRYCOLLECTION ) type != GEOS_GEOMETRYCOLLECTION )
{ {
// we have a single-part geometry - put there a copy of this one // we have a single-part geometry - put there a copy of this one
geomCollection.append( new QgsGeometry(*this) ); geomCollection.append( new QgsGeometry( *this ) );
return geomCollection; return geomCollection;
} }
int count = GEOSGetNumGeometries( mGeos ); int count = GEOSGetNumGeometries( mGeos );
QgsDebugMsg("geom count: "+QString::number(count)); QgsDebugMsg( "geom count: " + QString::number( count ) );
for ( int i = 0; i < count; ++i ) for ( int i = 0; i < count; ++i )
{ {
const GEOSGeometry * geometry = GEOSGetGeometryN( mGeos, i ); const GEOSGeometry * geometry = GEOSGetGeometryN( mGeos, i );
geomCollection.append( fromGeosGeom( GEOSGeom_clone(geometry) ) ); geomCollection.append( fromGeosGeom( GEOSGeom_clone( geometry ) ) );
} }
return geomCollection; return geomCollection;

View File

@ -2324,7 +2324,7 @@ bool QgsVectorLayer::readSymbology( const QDomNode& node, QString& errorMessage
if ( !renderer ) if ( !renderer )
{ {
errorMessage = tr("Unknown renderer"); errorMessage = tr( "Unknown renderer" );
return false; return false;
} }

View File

@ -122,11 +122,11 @@ void QgsDetailedItemDelegate::paintManually( QPainter * thepPainter,
if ( theOption.state & QStyle::State_Selected ) if ( theOption.state & QStyle::State_Selected )
{ {
drawHighlight( theOption, thepPainter, height( theOption, theData ) ); drawHighlight( theOption, thepPainter, height( theOption, theData ) );
thepPainter->setPen(theOption.palette.highlightedText().color()); thepPainter->setPen( theOption.palette.highlightedText().color() );
} }
else else
{ {
thepPainter->setPen(theOption.palette.text().color()); thepPainter->setPen( theOption.palette.text().color() );
} }

View File

@ -431,14 +431,14 @@ void QgsMapCanvas::saveAsImage( QString theFileName, QPixmap * theQPixmap, QStri
myHeader += QString::number( myRect.xMinimum() ) + "\r\n"; myHeader += QString::number( myRect.xMinimum() ) + "\r\n";
//Origin Y (top left corner) //Origin Y (top left corner)
myHeader += QString::number( myRect.yMaximum() ) + "\r\n"; myHeader += QString::number( myRect.yMaximum() ) + "\r\n";
QFileInfo myInfo = QFileInfo(theFileName); QFileInfo myInfo = QFileInfo( theFileName );
QString myWorldFileName = myInfo.absolutePath() + QDir::separator() + myInfo.baseName() + "." + theFormat + "w"; QString myWorldFileName = myInfo.absolutePath() + QDir::separator() + myInfo.baseName() + "." + theFormat + "w";
QFile myWorldFile(myWorldFileName); QFile myWorldFile( myWorldFileName );
if (!myWorldFile.open(QIODevice::WriteOnly | QIODevice::Text)) if ( !myWorldFile.open( QIODevice::WriteOnly | QIODevice::Text ) )
{ {
return; return;
} }
QTextStream myStream(&myWorldFile); QTextStream myStream( &myWorldFile );
myStream << myHeader; myStream << myHeader;
} // saveAsImage } // saveAsImage

View File

@ -74,30 +74,30 @@ QgsOgrProvider::QgsOgrProvider( QString const & uri )
// message if the file is read only, because we cope with that // message if the file is read only, because we cope with that
// ourselves. // ourselves.
// This part of the code parses the uri transmitted to the ogr provider to // This part of the code parses the uri transmitted to the ogr provider to
// get the options the client wants us to apply // get the options the client wants us to apply
QString mFilePath; QString mFilePath;
QString theLayerName; QString theLayerName;
int theLayerIndex=0; int theLayerIndex = 0;
// If there is no & in the uri, then the uri is just the filename. The loaded // If there is no & in the uri, then the uri is just the filename. The loaded
// layer will be layer 0. // layer will be layer 0.
if ( ! uri.contains('&', Qt::CaseSensitive)) if ( ! uri.contains( '&', Qt::CaseSensitive ) )
{ {
mFilePath = uri; mFilePath = uri;
} }
else else
{ {
// If we get here, there are some options added to the filename. We must parse // If we get here, there are some options added to the filename. We must parse
// the different parts separated by &, and among each option, the name and the // the different parts separated by &, and among each option, the name and the
// value around the =. // value around the =.
// A valid uri is of the form: filename&option1=value1&option2=value2,... // A valid uri is of the form: filename&option1=value1&option2=value2,...
QStringList theURIParts = uri.split("&"); QStringList theURIParts = uri.split( "&" );
mFilePath = theURIParts.at( 0 ); mFilePath = theURIParts.at( 0 );
for (int i = 1 ; i < theURIParts.size(); i++ ) for ( int i = 1 ; i < theURIParts.size(); i++ )
{ {
QStringList theInstruction = theURIParts.at( i ).split( "=" ); QStringList theInstruction = theURIParts.at( i ).split( "=" );
if ( theInstruction.at( 0 ) == QString( "layerid" ) ) if ( theInstruction.at( 0 ) == QString( "layerid" ) )
@ -112,14 +112,14 @@ QgsOgrProvider::QgsOgrProvider( QString const & uri )
if ( theInstruction.at( 0 ) == QString( "layername" ) ) if ( theInstruction.at( 0 ) == QString( "layername" ) )
{ {
theLayerName = theInstruction.at( 1 ); theLayerName = theInstruction.at( 1 );
} }
} }
} }
QgsDebugMsg("mFilePath: " + mFilePath); QgsDebugMsg( "mFilePath: " + mFilePath );
QgsDebugMsg("theLayerIndex: "+theLayerIndex); QgsDebugMsg( "theLayerIndex: " + theLayerIndex );
QgsDebugMsg("theLayerName: "+theLayerName); QgsDebugMsg( "theLayerName: " + theLayerName );
CPLPushErrorHandler( CPLQuietErrorHandler ); CPLPushErrorHandler( CPLQuietErrorHandler );
ogrDataSource = OGROpen( QFile::encodeName( mFilePath ).constData(), TRUE, &ogrDriver ); ogrDataSource = OGROpen( QFile::encodeName( mFilePath ).constData(), TRUE, &ogrDriver );
CPLPopErrorHandler(); CPLPopErrorHandler();
@ -142,7 +142,7 @@ QgsOgrProvider::QgsOgrProvider( QString const & uri )
valid = true; valid = true;
ogrDriverName = OGR_Dr_GetName( ogrDriver ); ogrDriverName = OGR_Dr_GetName( ogrDriver );
// We get the layer which was requested by the uri. The layername // We get the layer which was requested by the uri. The layername
// has precedence over the layerid if both are given. // has precedence over the layerid if both are given.
if ( theLayerName.isNull() ) if ( theLayerName.isNull() )
@ -151,7 +151,7 @@ QgsOgrProvider::QgsOgrProvider( QString const & uri )
} }
else else
{ {
ogrLayer = OGR_DS_GetLayerByName( ogrDataSource, (char*)(theLayerName.toLocal8Bit().data()) ); ogrLayer = OGR_DS_GetLayerByName( ogrDataSource, ( char* )( theLayerName.toLocal8Bit().data() ) );
} }
// get the extent_ (envelope) of the layer // get the extent_ (envelope) of the layer
@ -204,19 +204,19 @@ QgsOgrProvider::~QgsOgrProvider()
QStringList QgsOgrProvider::subLayers() const QStringList QgsOgrProvider::subLayers() const
{ {
QStringList theList = QStringList(); QStringList theList = QStringList();
if (! valid ) if ( ! valid )
{ {
return theList; return theList;
} }
for ( int i = 0; i < layerCount() ; i++ ) for ( int i = 0; i < layerCount() ; i++ )
{ {
QString theLayerName = QString(OGR_FD_GetName(OGR_L_GetLayerDefn(OGR_DS_GetLayer( ogrDataSource, i )))); QString theLayerName = QString( OGR_FD_GetName( OGR_L_GetLayerDefn( OGR_DS_GetLayer( ogrDataSource, i ) ) ) );
OGRwkbGeometryType layerGeomType = OGR_FD_GetGeomType(OGR_L_GetLayerDefn(OGR_DS_GetLayer( ogrDataSource, i ))); OGRwkbGeometryType layerGeomType = OGR_FD_GetGeomType( OGR_L_GetLayerDefn( OGR_DS_GetLayer( ogrDataSource, i ) ) );
int theLayerFeatureCount=OGR_L_GetFeatureCount(OGR_DS_GetLayer( ogrDataSource, i ),1) ; int theLayerFeatureCount = OGR_L_GetFeatureCount( OGR_DS_GetLayer( ogrDataSource, i ), 1 ) ;
QString geom; QString geom;
switch (layerGeomType) switch ( layerGeomType )
{ {
case wkbUnknown: geom = "Unknown"; break; case wkbUnknown: geom = "Unknown"; break;
case wkbPoint: geom="Point"; break; case wkbPoint: geom="Point"; break;
@ -232,9 +232,9 @@ QStringList QgsOgrProvider::subLayers() const
case wkbMultiPoint25D: geom="MultiPoint25D"; break; case wkbMultiPoint25D: geom="MultiPoint25D"; break;
case wkbMultiLineString25D: geom="MultiLineString25D"; break; case wkbMultiLineString25D: geom="MultiLineString25D"; break;
case wkbMultiPolygon25D: geom="MultiPolygon25D"; break; case wkbMultiPolygon25D: geom="MultiPolygon25D"; break;
default: geom="Unknown WKB: " + QString::number(layerGeomType); default: geom="Unknown WKB: " + QString::number( layerGeomType );
} }
theList.append(QString::number(i)+":"+ theLayerName+":"+QString::number(theLayerFeatureCount)+":"+geom); theList.append( QString::number( i ) + ":" + theLayerName + ":" + QString::number( theLayerFeatureCount ) + ":" + geom );
} }
return theList; return theList;
} }

View File

@ -47,7 +47,7 @@ class QgsOgrProvider : public QgsVectorDataProvider
virtual QgsCoordinateReferenceSystem crs(); virtual QgsCoordinateReferenceSystem crs();
/** /**
* Sub-layers handled by this provider, in order from bottom to top * Sub-layers handled by this provider, in order from bottom to top
* *
* Sub-layers are used when the provider's source can combine layers * Sub-layers are used when the provider's source can combine layers
@ -188,7 +188,7 @@ class QgsOgrProvider : public QgsVectorDataProvider
* @param index the index of the attribute * @param index the index of the attribute
* @param values reference to the list of unique values */ * @param values reference to the list of unique values */
virtual void uniqueValues( int index, QList<QVariant> &uniqueValues ); virtual void uniqueValues( int index, QList<QVariant> &uniqueValues );
/** return a provider name /** return a provider name
Essentially just returns the provider key. Should be used to build file Essentially just returns the provider key. Should be used to build file

View File

@ -305,7 +305,7 @@ bool QgsPythonUtilsImpl::getError( QString& errorClassName, QString& errorText )
{ {
if ( !PyErr_Occurred() ) if ( !PyErr_Occurred() )
return false; return false;
PyObject* obj_str; PyObject* obj_str;
PyObject* err_type; PyObject* err_type;
PyObject* err_value; PyObject* err_value;
@ -341,13 +341,13 @@ QString QgsPythonUtilsImpl::getResult()
QString QgsPythonUtilsImpl::PyObjectToQString( PyObject* obj ) QString QgsPythonUtilsImpl::PyObjectToQString( PyObject* obj )
{ {
QString result; QString result;
// is it None? // is it None?
if ( obj == Py_None ) if ( obj == Py_None )
{ {
return QString(); return QString();
} }
// check whether the object is already a unicode string // check whether the object is already a unicode string
if ( PyUnicode_Check( obj ) ) if ( PyUnicode_Check( obj ) )
{ {
@ -359,31 +359,31 @@ QString QgsPythonUtilsImpl::PyObjectToQString( PyObject* obj )
Py_XDECREF( utf8 ); Py_XDECREF( utf8 );
return result; return result;
} }
// check whether the object is a classical (8-bit) string // check whether the object is a classical (8-bit) string
if ( PyString_Check( obj ) ) if ( PyString_Check( obj ) )
{ {
return QString::fromUtf8( PyString_AS_STRING( obj ) ); return QString::fromUtf8( PyString_AS_STRING( obj ) );
} }
// it's some other type of object: // it's some other type of object:
// convert object to unicode string (equivalent to calling unicode(obj) ) // convert object to unicode string (equivalent to calling unicode(obj) )
PyObject* obj_uni = PyObject_Unicode( obj ); // obj_uni is new reference PyObject* obj_uni = PyObject_Unicode( obj ); // obj_uni is new reference
if ( obj_uni ) if ( obj_uni )
{ {
// get utf-8 representation of unicode string (new reference) // get utf-8 representation of unicode string (new reference)
PyObject* obj_utf8 = PyUnicode_AsUTF8String(obj_uni); PyObject* obj_utf8 = PyUnicode_AsUTF8String( obj_uni );
// convert from utf-8 to QString // convert from utf-8 to QString
if ( obj_utf8 ) if ( obj_utf8 )
result = QString::fromUtf8(PyString_AsString( obj_utf8 )); result = QString::fromUtf8( PyString_AsString( obj_utf8 ) );
else else
result = "(qgis error)"; result = "(qgis error)";
Py_XDECREF( obj_utf8 ); Py_XDECREF( obj_utf8 );
Py_XDECREF( obj_uni ); Py_XDECREF( obj_uni );
return result; return result;
} }
// if conversion to unicode failed, try to convert it to classic string, i.e. str(obj) // if conversion to unicode failed, try to convert it to classic string, i.e. str(obj)
PyObject* obj_str = PyObject_Str( obj ); // new reference PyObject* obj_str = PyObject_Str( obj ); // new reference
if ( obj_str ) if ( obj_str )
@ -392,9 +392,9 @@ QString QgsPythonUtilsImpl::PyObjectToQString( PyObject* obj )
Py_XDECREF( obj_str ); Py_XDECREF( obj_str );
return result; return result;
} }
// some problem with conversion to unicode string // some problem with conversion to unicode string
QgsDebugMsg("unable to convert PyObject to a QString!"); QgsDebugMsg( "unable to convert PyObject to a QString!" );
return "(qgis error)"; return "(qgis error)";
} }

View File

@ -118,7 +118,7 @@ class QgsPythonUtilsImpl : public QgsPythonUtils
//! convert python object to QString. If the object isn't unicode/str, it will be converted //! convert python object to QString. If the object isn't unicode/str, it will be converted
QString PyObjectToQString( PyObject* obj ); QString PyObjectToQString( PyObject* obj );
//! reference to module __main__ //! reference to module __main__
PyObject* mMainModule; PyObject* mMainModule;

View File

@ -196,7 +196,7 @@ bool TestQgsRenderers::setQml( QString theType )
QString error = mpPointsLayer->loadNamedStyle( myFileName, myStyleFlag ); QString error = mpPointsLayer->loadNamedStyle( myFileName, myStyleFlag );
if ( !myStyleFlag ) if ( !myStyleFlag )
{ {
qDebug(error.toLocal8Bit().data()); qDebug( error.toLocal8Bit().data() );
return false; return false;
} }
else else