mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-15 00:02:52 -04:00
Setting field for QgsFieldComboBox should be case-insensitive
This commit is contained in:
parent
c5b9fa23cd
commit
b4a798e892
@ -47,7 +47,7 @@ QModelIndex QgsFieldModel::indexFromName( const QString &fieldName )
|
|||||||
if ( mAllowEmpty && fieldName.isEmpty() )
|
if ( mAllowEmpty && fieldName.isEmpty() )
|
||||||
return index( 0, 0 );
|
return index( 0, 0 );
|
||||||
|
|
||||||
int r = mFields.indexFromName( fldName );
|
int r = mFields.lookupField( fldName );
|
||||||
if ( r >= 0 )
|
if ( r >= 0 )
|
||||||
{
|
{
|
||||||
if ( mAllowEmpty )
|
if ( mAllowEmpty )
|
||||||
|
@ -69,6 +69,28 @@ class TestQgsFieldModel(unittest.TestCase):
|
|||||||
i = m.indexFromName('not a field')
|
i = m.indexFromName('not a field')
|
||||||
self.assertFalse(i.isValid())
|
self.assertFalse(i.isValid())
|
||||||
|
|
||||||
|
# test with alias
|
||||||
|
i = m.indexFromName('text field')
|
||||||
|
self.assertFalse(i.isValid())
|
||||||
|
l.setFieldAlias(0, 'text field')
|
||||||
|
i = m.indexFromName('text field')
|
||||||
|
self.assertTrue(i.isValid())
|
||||||
|
self.assertEqual(i.row(), 0)
|
||||||
|
i = m.indexFromName('int field')
|
||||||
|
self.assertFalse(i.isValid())
|
||||||
|
l.setFieldAlias(1, 'int field')
|
||||||
|
i = m.indexFromName('int field')
|
||||||
|
self.assertTrue(i.isValid())
|
||||||
|
self.assertEqual(i.row(), 1)
|
||||||
|
|
||||||
|
# should be case insensitive
|
||||||
|
i = m.indexFromName('FLDTXT')
|
||||||
|
self.assertTrue(i.isValid())
|
||||||
|
self.assertEqual(i.row(), 0)
|
||||||
|
i = m.indexFromName('FLDINT')
|
||||||
|
self.assertTrue(i.isValid())
|
||||||
|
self.assertEqual(i.row(), 1)
|
||||||
|
|
||||||
# try with expression
|
# try with expression
|
||||||
m.setAllowExpression(True)
|
m.setAllowExpression(True)
|
||||||
i = m.indexFromName('not a field')
|
i = m.indexFromName('not a field')
|
||||||
@ -90,6 +112,8 @@ class TestQgsFieldModel(unittest.TestCase):
|
|||||||
self.assertEqual(m.indexFromName('fldtxt').row(), 1)
|
self.assertEqual(m.indexFromName('fldtxt').row(), 1)
|
||||||
self.assertEqual(m.indexFromName('fldint').row(), 2)
|
self.assertEqual(m.indexFromName('fldint').row(), 2)
|
||||||
self.assertEqual(m.indexFromName('not a field').row(), 3)
|
self.assertEqual(m.indexFromName('not a field').row(), 3)
|
||||||
|
self.assertEqual(m.indexFromName('FLDTXT').row(), 1)
|
||||||
|
self.assertEqual(m.indexFromName('FLDINT').row(), 2)
|
||||||
|
|
||||||
def testIsField(self):
|
def testIsField(self):
|
||||||
l, m = create_model()
|
l, m = create_model()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user