@@ -261,12 +261,11 @@ def getUniqueValues( provider, index ):
261
261
return values
262
262
263
263
# Generate a save file dialog with a dropdown box for choosing encoding style
264
- def saveDialog ( parent ):
264
+ def saveDialog ( parent , filtering = "Shapefiles (*.shp)" ):
265
265
settings = QSettings ()
266
266
dirName = settings .value ( "/UI/lastShapefileDir" ).toString ()
267
- filtering = QString ( "Shapefiles (*.shp)" )
268
267
encode = settings .value ( "/UI/encoding" ).toString ()
269
- fileDialog = QgsEncodingFileDialog ( parent , "Save output shapefile" , dirName , filtering , encode )
268
+ fileDialog = QgsEncodingFileDialog ( parent , "Save output shapefile" , dirName , QString ( filtering ) , encode )
270
269
fileDialog .setDefaultSuffix ( QString ( "shp" ) )
271
270
fileDialog .setFileMode ( QFileDialog .AnyFile )
272
271
fileDialog .setAcceptMode ( QFileDialog .AcceptSave )
@@ -277,6 +276,35 @@ def saveDialog( parent ):
277
276
settings .setValue ("/UI/lastShapefileDir" , QVariant ( QFileInfo ( unicode ( files .first () ) ).absolutePath () ) )
278
277
return ( unicode ( files .first () ), unicode ( fileDialog .encoding () ) )
279
278
279
+ # Generate a save file dialog with a dropdown box for choosing encoding style
280
+ def openDialog ( parent , filtering = "Shapefiles (*.shp)" ):
281
+ settings = QSettings ()
282
+ dirName = settings .value ( "/UI/lastShapefileDir" ).toString ()
283
+ encode = settings .value ( "/UI/encoding" ).toString ()
284
+ fileDialog = QgsEncodingFileDialog ( parent , "Save output shapefile" , dirName , QString (filtering ), encode )
285
+ fileDialog .setFileMode ( QFileDialog .AnyFile )
286
+ fileDialog .setAcceptMode ( QFileDialog .AcceptOpen )
287
+ if not fileDialog .exec_ () == QDialog .Accepted :
288
+ return None , None
289
+ files = fileDialog .selectedFiles ()
290
+ settings .setValue ("/UI/lastShapefileDir" , QVariant ( QFileInfo ( unicode ( files .first () ) ).absolutePath () ) )
291
+ return ( unicode ( files .first () ), unicode ( fileDialog .encoding () ) )
292
+
293
+ # Generate a select directory dialog with a dropdown box for choosing encoding style
294
+ def dirDialog ( parent ):
295
+ settings = QSettings ()
296
+ dirName = settings .value ( "/UI/lastShapefileDir" ).toString ()
297
+ encode = settings .value ( "/UI/encoding" ).toString ()
298
+ fileDialog = QgsEncodingFileDialog ( parent , "Save output shapefile" , dirName , encode )
299
+ fileDialog .setFileMode ( QFileDialog .DirectoryOnly )
300
+ fileDialog .setAcceptMode ( QFileDialog .AcceptSave )
301
+ fileDialog .setConfirmOverwrite ( False )
302
+ if not fileDialog .exec_ () == QDialog .Accepted :
303
+ return None , None
304
+ folders = fileDialog .selectedFiles ()
305
+ settings .setValue ("/UI/lastShapefileDir" , QVariant ( QFileInfo ( unicode ( folders .first () ) ) ) )
306
+ return ( unicode ( folders .first () ), unicode ( fileDialog .encoding () ) )
307
+
280
308
# Return field type from it's name
281
309
def getFieldType (vlayer , fieldName ):
282
310
fields = vlayer .dataProvider ().fields ()
0 commit comments