Skip to content

Commit 86ce859

Browse files
author
Sergey Yakushev
committedJan 17, 2012
Merge branch 'master' of https://github.com/qgis/Quantum-GIS
2 parents c56d02f + 3ba2fe9 commit 86ce859

27 files changed

+758
-649
lines changed
 

‎i18n/qgis_de.ts

Lines changed: 469 additions & 379 deletions
Large diffs are not rendered by default.

‎python/core/conversions.sip

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,109 @@ template<TYPE>
820820
%End
821821
};
822822

823+
%MappedType QMap<QString, int>
824+
{
825+
%TypeHeaderCode
826+
#include <QMap>
827+
#if (SIP_VERSION >= 0x040900)
828+
#define sipClass_QString ((sipWrapperType *) sipTypeAsPyTypeObject (sipType_QString))
829+
#endif
830+
%End
831+
832+
%ConvertFromTypeCode
833+
// Create the dictionary.
834+
PyObject *d = PyDict_New();
835+
836+
if (!d)
837+
return NULL;
838+
839+
// Set the dictionary elements.
840+
QMap<QString, int>::const_iterator i = sipCpp->constBegin();
841+
842+
while (i != sipCpp->constEnd())
843+
{
844+
QString *t1 = new QString(i.key());
845+
846+
PyObject *t1obj = sipConvertFromNewInstance(t1, sipClass_QString, sipTransferObj);
847+
PyObject *t2obj = PyInt_FromLong( (long) i.value() );
848+
849+
if (t1obj == NULL || t2obj == NULL || PyDict_SetItem(d, t1obj, t2obj) < 0)
850+
{
851+
Py_DECREF(d);
852+
853+
if (t1obj) {
854+
Py_DECREF(t1obj);
855+
} else {
856+
delete t1;
857+
}
858+
859+
if (t2obj) {
860+
Py_DECREF(t2obj);
861+
}
862+
863+
return NULL;
864+
}
865+
866+
Py_DECREF(t1obj);
867+
Py_DECREF(t2obj);
868+
869+
++i;
870+
}
871+
872+
return d;
873+
%End
874+
875+
%ConvertToTypeCode
876+
PyObject *t1obj, *t2obj;
877+
#if PY_VERSION_HEX >= 0x02050000
878+
Py_ssize_t i = 0;
879+
#else
880+
int i = 0;
881+
#endif
882+
883+
884+
// Check the type if that is all that is required.
885+
if (sipIsErr == NULL)
886+
{
887+
if (!PyDict_Check(sipPy))
888+
return 0;
889+
890+
while (PyDict_Next(sipPy, &i, &t1obj, &t2obj))
891+
{
892+
if (!sipCanConvertToInstance(t1obj, sipClass_QString, SIP_NOT_NONE))
893+
return 0;
894+
}
895+
896+
return 1;
897+
}
898+
899+
QMap<QString, int> *qm = new QMap<QString, int>;
900+
901+
while (PyDict_Next(sipPy, &i, &t1obj, &t2obj))
902+
{
903+
int state;
904+
905+
QString *t1 = reinterpret_cast<QString *>(sipConvertToInstance(t1obj, sipClass_QString, sipTransferObj, SIP_NOT_NONE, &state, sipIsErr));
906+
int t2 = PyInt_AsLong(t1obj);
907+
908+
if (*sipIsErr)
909+
{
910+
sipReleaseInstance(t1, sipClass_QString, state);
911+
delete qm;
912+
return 0;
913+
}
914+
915+
qm->insert(*t1, t2);
916+
917+
sipReleaseInstance(t1, sipClass_QString, state);
918+
}
919+
920+
*sipCppPtr = qm;
921+
922+
return sipGetState(sipTransferObj);
923+
%End
924+
};
925+
823926
template<TYPE1, TYPE2>
824927
%MappedType QMap<TYPE1, TYPE2*>
825928
{

‎python/core/qgscoordinatereferencesystem.sip

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,11 +159,11 @@ class QgsCoordinateReferenceSystem
159159
/*! Overloaded == operator used to compare to CRS's.
160160
* Internally it will delegate to the equals method described below
161161
*/
162-
bool operator==(const QgsCoordinateReferenceSystem &theSrs);
162+
bool operator==(const QgsCoordinateReferenceSystem &theSrs) const;
163163
/*! Overloaded != operator used to compare to CRS's.
164164
* Returns opposite bool value to operator ==
165165
*/
166-
bool operator!=(const QgsCoordinateReferenceSystem &theSrs);
166+
bool operator!=(const QgsCoordinateReferenceSystem &theSrs) const;
167167
/*! Overloaded == operator used to compare to CRS's.
168168
* Internally it will use OGR isSameCRS() or isSameGeoCRS() methods as appropriate.
169169
* Additionally logic may also be applied if the result from the OGR methods

‎python/core/qgsvectordataprovider.sip

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,9 @@ class QgsVectorDataProvider : QgsDataProvider
261261
* Returns the index of a field name or -1 if the field does not exist
262262
*/
263263
int fieldNameIndex(const QString& fieldName) const;
264+
265+
/**Return a map where the key is the name of the field and the value is its index*/
266+
QMap<QString, int> fieldNameMap() const;
264267

265268
/**
266269
* Return list of indexes to fetch all attributes in nextFeature()

‎src/app/composer/qgscomposer.cpp

Lines changed: 0 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -1342,142 +1342,6 @@ void QgsComposer::readXML( const QDomElement& composerElem, const QDomDocument&
13421342
mComposition->addItemsFromXML( composerElem, doc );
13431343
}
13441344

1345-
#if 0
1346-
//composer labels
1347-
QDomNodeList composerLabelList = composerElem.elementsByTagName( "ComposerLabel" );
1348-
for ( int i = 0; i < composerLabelList.size(); ++i )
1349-
{
1350-
QDomElement currentComposerLabelElem = composerLabelList.at( i ).toElement();
1351-
QgsComposerLabel* newLabel = new QgsComposerLabel( mComposition );
1352-
newLabel->readXML( currentComposerLabelElem, doc );
1353-
addComposerLabel( newLabel );
1354-
mComposition->addItem( newLabel );
1355-
mComposition->update();
1356-
mComposition->clearSelection();
1357-
newLabel->setSelected( true );
1358-
showItemOptions( newLabel );
1359-
}
1360-
1361-
//composer maps
1362-
QDomNodeList composerMapList = composerElem.elementsByTagName( "ComposerMap" );
1363-
for ( int i = 0; i < composerMapList.size(); ++i )
1364-
{
1365-
QDomElement currentComposerMapElem = composerMapList.at( i ).toElement();
1366-
QgsComposerMap* newMap = new QgsComposerMap( mComposition );
1367-
newMap->readXML( currentComposerMapElem, doc );
1368-
1369-
if ( fromTemplate ) //show map directly if loaded from template
1370-
{
1371-
newMap->updateItem();
1372-
}
1373-
else //show map only on demand if loaded from project
1374-
{
1375-
if ( newMap->previewMode() != QgsComposerMap::Rectangle )
1376-
{
1377-
mMapsToRestore.insert( newMap, newMap->previewMode() );
1378-
newMap->setPreviewMode( QgsComposerMap::Rectangle );
1379-
}
1380-
}
1381-
1382-
addComposerMap( newMap );
1383-
mComposition->addItem( newMap );
1384-
mComposition->update();
1385-
mComposition->clearSelection();
1386-
newMap->setSelected( true );
1387-
showItemOptions( newMap );
1388-
}
1389-
1390-
//composer scalebars
1391-
QDomNodeList composerScaleBarList = composerElem.elementsByTagName( "ComposerScaleBar" );
1392-
for ( int i = 0; i < composerScaleBarList.size(); ++i )
1393-
{
1394-
QDomElement currentScaleBarElem = composerScaleBarList.at( i ).toElement();
1395-
QgsComposerScaleBar* newScaleBar = new QgsComposerScaleBar( mComposition );
1396-
newScaleBar->readXML( currentScaleBarElem, doc );
1397-
addComposerScaleBar( newScaleBar );
1398-
mComposition->addItem( newScaleBar );
1399-
mComposition->update();
1400-
mComposition->clearSelection();
1401-
newScaleBar->setSelected( true );
1402-
showItemOptions( newScaleBar );
1403-
}
1404-
1405-
//composer legends
1406-
QDomNodeList composerLegendList = composerElem.elementsByTagName( "ComposerLegend" );
1407-
for ( int i = 0; i < composerLegendList.size(); ++i )
1408-
{
1409-
QDomElement currentLegendElem = composerLegendList.at( i ).toElement();
1410-
QgsComposerLegend* newLegend = new QgsComposerLegend( mComposition );
1411-
newLegend->readXML( currentLegendElem, doc );
1412-
addComposerLegend( newLegend );
1413-
mComposition->addItem( newLegend );
1414-
mComposition->update();
1415-
mComposition->clearSelection();
1416-
newLegend->setSelected( true );
1417-
showItemOptions( newLegend );
1418-
}
1419-
1420-
//composer pictures
1421-
QDomNodeList composerPictureList = composerElem.elementsByTagName( "ComposerPicture" );
1422-
for ( int i = 0; i < composerPictureList.size(); ++i )
1423-
{
1424-
QDomElement currentPictureElem = composerPictureList.at( i ).toElement();
1425-
QgsComposerPicture* newPicture = new QgsComposerPicture( mComposition );
1426-
newPicture->readXML( currentPictureElem, doc );
1427-
addComposerPicture( newPicture );
1428-
mComposition->addItem( newPicture );
1429-
mComposition->update();
1430-
mComposition->clearSelection();
1431-
newPicture->setSelected( true );
1432-
showItemOptions( newPicture );
1433-
}
1434-
1435-
//composer shapes
1436-
QDomNodeList composerShapeList = composerElem.elementsByTagName( "ComposerShape" );
1437-
for ( int i = 0; i < composerShapeList.size(); ++i )
1438-
{
1439-
QDomElement currentShapeElem = composerShapeList.at( i ).toElement();
1440-
QgsComposerShape* newShape = new QgsComposerShape( mComposition );
1441-
newShape->readXML( currentShapeElem, doc );
1442-
addComposerShape( newShape );
1443-
mComposition->addItem( newShape );
1444-
mComposition->update();
1445-
mComposition->clearSelection();
1446-
newShape->setSelected( true );
1447-
showItemOptions( newShape );
1448-
}
1449-
1450-
//composer arrows
1451-
QDomNodeList composerArrowList = composerElem.elementsByTagName( "ComposerArrow" );
1452-
for ( int i = 0; i < composerArrowList.size(); ++i )
1453-
{
1454-
QDomElement currentArrowElem = composerArrowList.at( i ).toElement();
1455-
QgsComposerArrow* newArrow = new QgsComposerArrow( mComposition );
1456-
newArrow->readXML( currentArrowElem, doc );
1457-
addComposerArrow( newArrow );
1458-
mComposition->addItem( newArrow );
1459-
mComposition->update();
1460-
mComposition->clearSelection();
1461-
newArrow->setSelected( true );
1462-
showItemOptions( newArrow );
1463-
}
1464-
1465-
//composer tables
1466-
QDomNodeList composerTableList = composerElem.elementsByTagName( "ComposerAttributeTable" );
1467-
for ( int i = 0; i < composerTableList.size(); ++i )
1468-
{
1469-
QDomElement currentTableElem = composerTableList.at( i ).toElement();
1470-
QgsComposerAttributeTable* newTable = new QgsComposerAttributeTable( mComposition );
1471-
newTable->readXML( currentTableElem, doc );
1472-
addComposerTable( newTable );
1473-
mComposition->addItem( newTable );
1474-
mComposition->update();
1475-
mComposition->clearSelection();
1476-
newTable->setSelected( true );
1477-
showItemOptions( newTable );
1478-
}
1479-
#endif //0
1480-
14811345
mComposition->sortZList();
14821346
mView->setComposition( mComposition );
14831347

‎src/app/qgsattributetabledialog.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,13 @@ QgsAttributeTableDialog::QgsAttributeTableDialog( QgsVectorLayer *theLayer, QWid
6363
QSettings settings;
6464
restoreGeometry( settings.value( "/Windows/BetterAttributeTable/geometry" ).toByteArray() );
6565

66+
connect( mView, SIGNAL( progress( int, bool & ) ), this, SLOT( progress( int, bool & ) ) );
67+
connect( mView, SIGNAL( finished() ), this, SLOT( finished() ) );
6668
mView->setCanvasAndLayer( QgisApp::instance()->mapCanvas(), mLayer );
6769

6870
mFilterModel = ( QgsAttributeTableFilterModel * ) mView->model();
6971
mModel = qobject_cast<QgsAttributeTableModel * >( dynamic_cast<QgsAttributeTableFilterModel *>( mView->model() )->sourceModel() );
7072

71-
connect( mModel, SIGNAL( progress( int, bool & ) ), this, SLOT( progress( int, bool & ) ) );
72-
connect( mModel, SIGNAL( finished() ), this, SLOT( finished() ) );
73-
mModel->loadLayer();
74-
7573
mQuery = query;
7674
mColumnBox = columnBox;
7775
columnBoxInit();
@@ -834,7 +832,7 @@ void QgsAttributeTableDialog::progress( int i, bool &cancel )
834832

835833
mProgress->setValue( i );
836834

837-
if ( i > 0 && i % 1000 == 0 )
835+
if ( i > 0 && i % 5000 == 0 )
838836
{
839837
mProgress->setLabelText( tr( "%1 features loaded." ).arg( i ) );
840838
}

‎src/core/composer/qgscomposition.cpp

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -989,7 +989,6 @@ void QgsComposition::addComposerArrow( QgsComposerArrow* arrow )
989989
clearSelection();
990990
arrow->setSelected( true );
991991
emit selectedItemChanged( arrow );
992-
//pushAddRemoveCommand( arrow, tr( "Arrow added" ) );
993992
}
994993

995994
void QgsComposition::addComposerLabel( QgsComposerLabel* label )
@@ -999,7 +998,6 @@ void QgsComposition::addComposerLabel( QgsComposerLabel* label )
999998
clearSelection();
1000999
label->setSelected( true );
10011000
emit selectedItemChanged( label );
1002-
//pushAddRemoveCommand( label, tr( "Label added" ) );
10031001
}
10041002

10051003
void QgsComposition::addComposerMap( QgsComposerMap* map )
@@ -1012,7 +1010,6 @@ void QgsComposition::addComposerMap( QgsComposerMap* map )
10121010
clearSelection();
10131011
map->setSelected( true );
10141012
emit selectedItemChanged( map );
1015-
//pushAddRemoveCommand( map, tr( "Map added" ) );
10161013
}
10171014

10181015
void QgsComposition::addComposerScaleBar( QgsComposerScaleBar* scaleBar )
@@ -1023,13 +1020,11 @@ void QgsComposition::addComposerScaleBar( QgsComposerScaleBar* scaleBar )
10231020
{
10241021
scaleBar->setComposerMap( mapItemList.at( 0 ) );
10251022
}
1026-
scaleBar->applyDefaultSize(); //4 segments, 1/5 of composer map width
10271023
addItem( scaleBar );
10281024
emit composerScaleBarAdded( scaleBar );
10291025
clearSelection();
10301026
scaleBar->setSelected( true );
10311027
emit selectedItemChanged( scaleBar );
1032-
//pushAddRemoveCommand( scaleBar, tr( "Scale bar added" ) );
10331028
}
10341029

10351030
void QgsComposition::addComposerLegend( QgsComposerLegend* legend )
@@ -1045,7 +1040,6 @@ void QgsComposition::addComposerLegend( QgsComposerLegend* legend )
10451040
clearSelection();
10461041
legend->setSelected( true );
10471042
emit selectedItemChanged( legend );
1048-
//pushAddRemoveCommand( legend, tr( "Legend added" ) );
10491043
}
10501044

10511045
void QgsComposition::addComposerPicture( QgsComposerPicture* picture )
@@ -1055,7 +1049,6 @@ void QgsComposition::addComposerPicture( QgsComposerPicture* picture )
10551049
clearSelection();
10561050
picture->setSelected( true );
10571051
emit selectedItemChanged( picture );
1058-
//pushAddRemoveCommand( picture, tr( "Picture added" ) );
10591052
}
10601053

10611054
void QgsComposition::addComposerShape( QgsComposerShape* shape )
@@ -1065,7 +1058,6 @@ void QgsComposition::addComposerShape( QgsComposerShape* shape )
10651058
clearSelection();
10661059
shape->setSelected( true );
10671060
emit selectedItemChanged( shape );
1068-
//pushAddRemoveCommand( shape, tr( "Shape added" ) );
10691061
}
10701062

10711063
void QgsComposition::addComposerTable( QgsComposerAttributeTable* table )
@@ -1075,7 +1067,6 @@ void QgsComposition::addComposerTable( QgsComposerAttributeTable* table )
10751067
clearSelection();
10761068
table->setSelected( true );
10771069
emit selectedItemChanged( table );
1078-
//pushAddRemoveCommand( table, tr( "Table added" ) );
10791070
}
10801071

10811072
void QgsComposition::removeComposerItem( QgsComposerItem* item )

‎src/core/qgscoordinatereferencesystem.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -979,12 +979,12 @@ long QgsCoordinateReferenceSystem::findMatchingProj()
979979
return 0;
980980
}
981981

982-
bool QgsCoordinateReferenceSystem::operator==( const QgsCoordinateReferenceSystem &theSrs )
982+
bool QgsCoordinateReferenceSystem::operator==( const QgsCoordinateReferenceSystem &theSrs ) const
983983
{
984984
return mIsValidFlag && theSrs.mIsValidFlag && toWkt() == theSrs.toWkt();
985985
}
986986

987-
bool QgsCoordinateReferenceSystem::operator!=( const QgsCoordinateReferenceSystem &theSrs )
987+
bool QgsCoordinateReferenceSystem::operator!=( const QgsCoordinateReferenceSystem &theSrs ) const
988988
{
989989
return !( *this == theSrs );
990990
}

0 commit comments

Comments
 (0)
Please sign in to comment.