@@ -17,36 +17,39 @@ def __init__(self, iface):
1717 # populate layer list
1818 self .progressBar .setValue (0 )
1919 mapCanvas = self .iface .mapCanvas ()
20+ self .buttonOk = self .buttonBox_2 .button ( QDialogButtonBox .Ok )
2021 layers = ftools_utils .getLayerNames ([QGis .Point , QGis .Line , QGis .Polygon ])
2122 self .inShape .addItems (layers )
2223
2324 def changed (self , inputLayer ):
24- changedLayer = ftools_utils .getVectorLayerByName (inputLayer )
25- changedProvider = changedLayer .dataProvider ()
26- upperVal = changedProvider .featureCount ()
27- self .spnNumber .setMaximum (upperVal )
25+ changedLayer = ftools_utils .getVectorLayerByName (inputLayer )
26+ changedProvider = changedLayer .dataProvider ()
27+ upperVal = changedProvider .featureCount ()
28+ self .spnNumber .setMaximum (upperVal )
2829
2930 def accept (self ):
30- if self .inShape .currentText () == "" :
31- QMessageBox .information (self , self .tr ("Random Selection Tool" ), self .tr ("No input shapefile specified" ))
32- else :
31+ self .buttonOk .setEnabled ( False )
32+ if self .inShape .currentText () == "" :
33+ QMessageBox .information (self , self .tr ("Random Selection Tool" ), self .tr ("No input shapefile specified" ))
34+ else :
3335 self .progressBar .setValue (10 )
3436 inName = self .inShape .currentText ()
35- self .progressBar .setValue (20 )
36- layer = ftools_utils .getVectorLayerByName (inName )
37- self .progressBar .setValue (30 )
38- if self .rdoNumber .isChecked ():
39- value = self .spnNumber .value ()
40- self .progressBar .setValue (60 )
41- else :
42- value = self .spnPercent .value ()
43- self .progressBar .setValue (50 )
44- value = int (round ((value / 100.0000 ), 4 ) * layer .featureCount ())
45- self .progressBar .setValue (60 )
46- selran = random .sample (xrange (0 , layer .featureCount ()), value )
47- self .progressBar .setValue (70 )
48- self .progressBar .setValue (80 )
49- self .progressBar .setValue (90 )
50- self .progressBar .setValue (100 )
51- layer .setSelectedFeatures (selran )
52- self .progressBar .setValue (0 )
37+ self .progressBar .setValue (20 )
38+ layer = ftools_utils .getVectorLayerByName (inName )
39+ self .progressBar .setValue (30 )
40+ if self .rdoNumber .isChecked ():
41+ value = self .spnNumber .value ()
42+ self .progressBar .setValue (60 )
43+ else :
44+ value = self .spnPercent .value ()
45+ self .progressBar .setValue (50 )
46+ value = int (round ((value / 100.0000 ), 4 ) * layer .featureCount ())
47+ self .progressBar .setValue (60 )
48+ selran = random .sample (xrange (0 , layer .featureCount ()), value )
49+ self .progressBar .setValue (70 )
50+ self .progressBar .setValue (80 )
51+ self .progressBar .setValue (90 )
52+ self .progressBar .setValue (100 )
53+ layer .setSelectedFeatures (selran )
54+ self .progressBar .setValue (0 )
55+ self .buttonOk .setEnabled ( True )
0 commit comments