Skip to content

Commit dcaaea9

Browse files
author
jef
committedDec 7, 2008
more qml fixes
git-svn-id: http://svn.osgeo.org/qgis/trunk@9748 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 270fe71 commit dcaaea9

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed
 

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -101,23 +101,9 @@ QgsVectorLayerProperties::QgsVectorLayerProperties(
101101
actionDialog = new QgsAttributeActionDialog( layer->actions(), fields, actionOptionsFrame );
102102
actionLayout->addWidget( actionDialog );
103103

104-
tblAttributes->setColumnCount( 8 );
105-
tblAttributes->setRowCount( fields.size() );
106-
tblAttributes->setHorizontalHeaderItem( 0, new QTableWidgetItem( tr( "id" ) ) );
107-
tblAttributes->setHorizontalHeaderItem( 1, new QTableWidgetItem( tr( "name" ) ) );
108-
tblAttributes->setHorizontalHeaderItem( 2, new QTableWidgetItem( tr( "type" ) ) );
109-
tblAttributes->setHorizontalHeaderItem( 3, new QTableWidgetItem( tr( "length" ) ) );
110-
tblAttributes->setHorizontalHeaderItem( 4, new QTableWidgetItem( tr( "precision" ) ) );
111-
tblAttributes->setHorizontalHeaderItem( 5, new QTableWidgetItem( tr( "comment" ) ) );
112-
tblAttributes->setHorizontalHeaderItem( 6, new QTableWidgetItem( tr( "edit widget" ) ) );
113-
tblAttributes->setHorizontalHeaderItem( 7, new QTableWidgetItem( tr( "values" ) ) );
114-
115-
tblAttributes->setSelectionBehavior( QAbstractItemView::SelectRows );
116-
tblAttributes->setSelectionMode( QAbstractItemView::MultiSelection );
117-
118-
loadRows();
119104

120105
reset();
106+
121107
if ( layer->dataProvider() )//enable spatial index button group if supported by provider
122108
{
123109
int capabilities = layer->dataProvider()->capabilities();
@@ -141,6 +127,22 @@ void QgsVectorLayerProperties::loadRows()
141127
{
142128
const QgsFieldMap &fields = layer->pendingFields();
143129

130+
tblAttributes->clear();
131+
132+
tblAttributes->setColumnCount( 8 );
133+
tblAttributes->setRowCount( fields.size() );
134+
tblAttributes->setHorizontalHeaderItem( 0, new QTableWidgetItem( tr( "id" ) ) );
135+
tblAttributes->setHorizontalHeaderItem( 1, new QTableWidgetItem( tr( "name" ) ) );
136+
tblAttributes->setHorizontalHeaderItem( 2, new QTableWidgetItem( tr( "type" ) ) );
137+
tblAttributes->setHorizontalHeaderItem( 3, new QTableWidgetItem( tr( "length" ) ) );
138+
tblAttributes->setHorizontalHeaderItem( 4, new QTableWidgetItem( tr( "precision" ) ) );
139+
tblAttributes->setHorizontalHeaderItem( 5, new QTableWidgetItem( tr( "comment" ) ) );
140+
tblAttributes->setHorizontalHeaderItem( 6, new QTableWidgetItem( tr( "edit widget" ) ) );
141+
tblAttributes->setHorizontalHeaderItem( 7, new QTableWidgetItem( tr( "values" ) ) );
142+
143+
tblAttributes->setSelectionBehavior( QAbstractItemView::SelectRows );
144+
tblAttributes->setSelectionMode( QAbstractItemView::MultiSelection );
145+
144146
int row = 0;
145147
for ( QgsFieldMap::const_iterator it = fields.begin(); it != fields.end(); it++, row++ )
146148
setRow( row, it.key(), it.value() );
@@ -450,6 +452,7 @@ void QgsVectorLayerProperties::reset( void )
450452
//update the transparency percentage label
451453
sliderTransparency_valueChanged( 255 - layer->getTransparency() );
452454

455+
loadRows();
453456
} // reset()
454457

455458

‎src/core/qgslabel.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -712,7 +712,9 @@ bool QgsLabel::readLabelField( QDomElement &el, int attr, QString prefix = "fiel
712712
}
713713
else if ( el.hasAttribute( prefix ) )
714714
{
715-
mLabelFieldIdx[attr] = el.attribute( prefix ).toInt();
715+
QString value = el.attribute( prefix );
716+
mLabelFieldIdx[attr] = value.isEmpty() ? -1 : value.toInt();
717+
return true;
716718
}
717719

718720
mLabelFieldIdx[attr] = -1;
@@ -768,7 +770,7 @@ void QgsLabel::readXML( const QDomNode& node )
768770
else
769771
{
770772
el = scratchNode.toElement();
771-
if ( !el.hasAttribute( "unitfieldname" ) )
773+
if ( !el.hasAttribute( "unitfield" ) && !el.hasAttribute( "unitfieldname" ) )
772774
{
773775
type = QgsLabelAttributes::unitsCode( el.attribute( "units", "" ) );
774776
mLabelAttributes->setSize( el.attribute( "value", "0.0" ).toDouble(), type );

0 commit comments

Comments
 (0)
Please sign in to comment.