@@ -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
0 commit comments