37
37
38
38
#include < osg/DisplaySettings>
39
39
40
- QList<DataSource> elevationsDataSources ;
40
+ QList<DataSource> elevationsDatasources ;
41
41
42
42
// constructor
43
43
QgsGlobePluginDialog::QgsGlobePluginDialog ( QWidget* parent, Qt::WFlags fl )
@@ -48,7 +48,7 @@ QgsGlobePluginDialog::QgsGlobePluginDialog( QWidget* parent, Qt::WFlags fl )
48
48
setStereoConfig (); // overwrite with values from QSettings
49
49
updateStereoDialog (); // update the dialog gui
50
50
51
- readElevationDataSourcesFromSettings ();
51
+ readElevationDatasourcesFromSettings ();
52
52
}
53
53
54
54
// destructor
@@ -143,37 +143,28 @@ void QgsGlobePluginDialog::on_buttonBox_accepted()
143
143
restartGlobe ();
144
144
}
145
145
146
- settings.beginGroup (" Plugin-Globe" );
147
- settings.beginWriteArray (" ElevationsDataSources" );
148
- for (int i = 0 ; i < elevationsDataSources.size (); ++i)
149
- {
150
- settings.setArrayIndex (i);
151
- settings.setValue (" type" , elevationsDataSources.at (i).type );
152
- settings.setValue (" uri" , elevationsDataSources.at (i).uri );
153
- }
154
- settings.endArray ();
155
- settings.endGroup ();
156
-
146
+ saveElevationDatasources ();
157
147
accept ();
158
148
}
159
149
160
- void QgsGlobePluginDialog::on_showDataSources_clicked (){
161
- QString txt;
162
- foreach (DataSource source, elevationsDataSources)
163
- {
164
- txt += source.type + " :\t " + source.uri + " \n " ;
165
- }
166
- showMessageBox ( txt );
167
- }
168
-
169
150
void QgsGlobePluginDialog::on_buttonBox_rejected ()
170
151
{
171
152
loadStereoConfig ();
172
153
setStereoConfig ();
173
- readElevationDataSourcesFromSettings ();
154
+ readElevationDatasourcesFromSettings ();
174
155
reject ();
175
156
}
176
157
158
+
159
+ void QgsGlobePluginDialog::on_showDatasources_clicked (){
160
+ QString txt;
161
+ foreach (DataSource source, elevationsDatasources)
162
+ {
163
+ txt += source.type + " :\t " + source.uri + " \n " ;
164
+ }
165
+ showMessageBox ( txt );
166
+ }
167
+
177
168
// ELEVATION
178
169
void QgsGlobePluginDialog::on_elevationCombo_currentIndexChanged (QString type)
179
170
{
@@ -196,7 +187,6 @@ void QgsGlobePluginDialog::on_elevationBrowse_clicked()
196
187
}
197
188
}
198
189
199
-
200
190
void QgsGlobePluginDialog::on_elevationAdd_clicked ()
201
191
{
202
192
QString errorText;
@@ -214,31 +204,62 @@ void QgsGlobePluginDialog::on_elevationAdd_clicked()
214
204
DataSource ds;
215
205
ds.uri = elevationPath->text ();
216
206
ds.type = elevationCombo->currentText ();
217
- elevationsDataSources.append (ds);
207
+ elevationsDatasources.append (ds);
208
+
209
+ int i = elevationDatasourcesWidget->rowCount ();
210
+ QTableWidgetItem *type = new QTableWidgetItem (ds.type );
211
+ QTableWidgetItem *uri = new QTableWidgetItem (ds.uri );
212
+ elevationDatasourcesWidget->setRowCount (1 +i);
213
+ elevationDatasourcesWidget->setItem (i, 0 , type);
214
+ elevationDatasourcesWidget->setItem (i, 1 , uri);
218
215
}
219
216
}
220
217
221
218
void QgsGlobePluginDialog::on_elevationRemove_clicked ()
222
219
{
223
- elevationDatasets->clear ();
220
+ QList< QTableWidgetItem* > si = elevationDatasourcesWidget->selectedItems ();
221
+ for (int i = 0 ; i < si.count (); i++)
222
+ {
223
+ elevationDatasourcesWidget->removeRow ( elevationDatasourcesWidget->row (si.at (i)) );
224
+ }
224
225
}
225
226
226
- void QgsGlobePluginDialog::readElevationDataSourcesFromSettings ()
227
+ void QgsGlobePluginDialog::readElevationDatasourcesFromSettings ()
227
228
{
228
- elevationsDataSources .clear ();
229
+ elevationsDatasources .clear ();
229
230
settings.beginGroup (" Plugin-Globe" );
230
- int size = settings.beginReadArray (" ElevationsDataSources " );
231
+ int size = settings.beginReadArray (" ElevationsDatasources " );
231
232
for (int i = 0 ; i < size; ++i) {
232
233
settings.setArrayIndex (i);
233
234
DataSource ds;
234
235
ds.type = settings.value (" type" ).toString ();
235
236
ds.uri = settings.value (" uri" ).toString ();
236
- elevationsDataSources.append (ds);
237
+ elevationsDatasources.append (ds);
238
+
239
+ QTableWidgetItem *type = new QTableWidgetItem (ds.type );
240
+ QTableWidgetItem *uri = new QTableWidgetItem (ds.uri );
241
+ elevationDatasourcesWidget->setRowCount (1 +i);
242
+ elevationDatasourcesWidget->setItem (i, 0 , type);
243
+ elevationDatasourcesWidget->setItem (i, 1 , uri);
237
244
}
238
245
settings.endArray ();
239
246
settings.endGroup ();
240
247
}
241
248
249
+ void QgsGlobePluginDialog::saveElevationDatasources ()
250
+ {
251
+ settings.beginGroup (" Plugin-Globe" );
252
+ settings.beginWriteArray (" ElevationsDatasources" );
253
+ for (int i = 0 ; i < elevationsDatasources.size (); ++i)
254
+ {
255
+ settings.setArrayIndex (i);
256
+ settings.setValue (" type" , elevationsDatasources.at (i).type );
257
+ settings.setValue (" uri" , elevationsDatasources.at (i).uri );
258
+ }
259
+ settings.endArray ();
260
+ settings.endGroup ();
261
+ }
262
+ // END ELEVATION
242
263
void QgsGlobePluginDialog::on_resetStereoDefaults_clicked ()
243
264
{
244
265
// http://www.openscenegraph.org/projects/osg/wiki/Support/UserGuides/StereoSettings
0 commit comments