@@ -67,6 +67,9 @@ QgsSymbolLevelsV2Dialog::QgsSymbolLevelsV2Dialog( QgsLegendSymbolList list, bool
67
67
{
68
68
setupUi ( this );
69
69
70
+ QSettings settings;
71
+ restoreGeometry ( settings.value ( " /Windows/symbolLevelsDlg/geometry" ).toByteArray () );
72
+
70
73
tableLevels->setItemDelegate ( new SpinBoxDelegate ( this ) );
71
74
72
75
chkEnable->setChecked ( usingSymbolLevels );
@@ -84,23 +87,23 @@ QgsSymbolLevelsV2Dialog::QgsSymbolLevelsV2Dialog( QgsLegendSymbolList list, bool
84
87
for ( int i = 0 ; i < mList .count (); i++ )
85
88
{
86
89
QgsSymbolV2* sym = mList [i].second ;
87
- QString label = mList [i].first ;
88
90
89
91
// set icons for the rows
90
92
QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon ( sym, QSize ( 16 , 16 ) );
91
- tableLevels->setVerticalHeaderItem ( i, new QTableWidgetItem ( icon, label ) );
93
+ tableLevels->setVerticalHeaderItem ( i, new QTableWidgetItem ( icon, QString () ) );
92
94
93
95
// find out max. number of layers per symbol
94
96
int layers = sym->symbolLayerCount ();
95
97
if ( layers > maxLayers )
96
98
maxLayers = layers;
97
99
}
98
100
99
- tableLevels->setColumnCount ( maxLayers );
101
+ tableLevels->setColumnCount ( maxLayers + 1 );
102
+ tableLevels->setHorizontalHeaderItem ( 0 , new QTableWidgetItem ( QString () ) );
100
103
for ( int i = 0 ; i < maxLayers; i++ )
101
104
{
102
105
QString name = tr ( " Layer %1" ).arg ( i );
103
- tableLevels->setHorizontalHeaderItem ( i, new QTableWidgetItem ( name ) );
106
+ tableLevels->setHorizontalHeaderItem ( i + 1 , new QTableWidgetItem ( name ) );
104
107
}
105
108
106
109
mMaxLayers = maxLayers;
@@ -115,11 +118,21 @@ QgsSymbolLevelsV2Dialog::QgsSymbolLevelsV2Dialog( QgsLegendSymbolList list, bool
115
118
connect ( tableLevels, SIGNAL ( cellChanged ( int , int ) ), this , SLOT ( renderingPassChanged ( int , int ) ) );
116
119
}
117
120
121
+ QgsSymbolLevelsV2Dialog::~QgsSymbolLevelsV2Dialog ()
122
+ {
123
+ QSettings settings;
124
+ settings.setValue ( " /Windows/symbolLevelsDlg/geometry" , saveGeometry () );
125
+ }
126
+
118
127
void QgsSymbolLevelsV2Dialog::populateTable ()
119
128
{
120
129
for ( int row = 0 ; row < mList .count (); row++ )
121
130
{
122
131
QgsSymbolV2* sym = mList [row].second ;
132
+ QString label = mList [row].first ;
133
+ QTableWidgetItem *itemLabel = new QTableWidgetItem ( label );
134
+ itemLabel->setFlags ( itemLabel->flags () ^ Qt::ItemIsEditable );
135
+ tableLevels->setItem ( row, 0 , itemLabel );
123
136
for ( int layer = 0 ; layer < mMaxLayers ; layer++ )
124
137
{
125
138
QTableWidgetItem* item;
@@ -134,7 +147,8 @@ void QgsSymbolLevelsV2Dialog::populateTable()
134
147
QIcon icon = QgsSymbolLayerV2Utils::symbolLayerPreviewIcon ( sl, QgsSymbolV2::MM, QSize ( 16 , 16 ) );
135
148
item = new QTableWidgetItem ( icon, QString::number ( sl->renderingPass () ) );
136
149
}
137
- tableLevels->setItem ( row, layer, item );
150
+ tableLevels->setItem ( row, layer + 1 , item );
151
+ tableLevels->resizeColumnToContents ( 0 );
138
152
}
139
153
}
140
154
@@ -157,7 +171,6 @@ void QgsSymbolLevelsV2Dialog::setDefaultLevels()
157
171
}
158
172
}
159
173
160
-
161
174
bool QgsSymbolLevelsV2Dialog::usingLevels () const
162
175
{
163
176
return chkEnable->isChecked ();
@@ -168,9 +181,9 @@ void QgsSymbolLevelsV2Dialog::renderingPassChanged( int row, int column )
168
181
if ( row < 0 || row >= mList .count () )
169
182
return ;
170
183
QgsSymbolV2* sym = mList [row].second ;
171
- if ( column < 0 || column >= sym->symbolLayerCount () )
184
+ if ( column < 0 || column > sym->symbolLayerCount () )
172
185
return ;
173
- sym->symbolLayer ( column )->setRenderingPass ( tableLevels->item ( row, column )->text ().toInt () );
186
+ sym->symbolLayer ( column - 1 )->setRenderingPass ( tableLevels->item ( row, column )->text ().toInt () );
174
187
}
175
188
176
189
void QgsSymbolLevelsV2Dialog::setForceOrderingEnabled ( bool enabled )
0 commit comments