def downloadOsmData(self): """Function shows up the "Download OSM data" dialog. After closing it, function calls the appropriate actions according to dialog's return code. """ if 'osm' not in QgsProviderRegistry.instance().providerList(): QMessageBox.critical( None, QCoreApplication.translate("OsmPlugin", "Sorry"), QCoreApplication.translate( "OsmPlugin", "You don't have OSM provider installed!")) return self.dlgDownload = OsmDownloadDlg(self) self.dlgDownload.exec_() if not self.dlgDownload.httpSuccess: return if not self.dlgDownload.autoLoadCheckBox.isChecked(): return # create loading dialog, submit it self.dlgLoad = OsmLoadDlg(self) self.dlgLoad.setModal(True) self.dlgLoad.show() self.dlgLoad.close() self.dlgLoad.OSMFileEdit.setText( self.dlgDownload.destdirLineEdit.text()) self.dlgLoad.styleCombo.setCurrentIndex( self.dlgDownload.styleCombo.currentIndex()) if self.dlgDownload.chkCustomRenderer.isChecked(): self.dlgLoad.chkCustomRenderer.setChecked(True) else: self.dlgLoad.chkCustomRenderer.setChecked(False) for row in xrange(self.dlgLoad.lstTags.count()): self.dlgLoad.lstTags.item(row).setCheckState(Qt.Checked) if self.dlgDownload.chkReplaceData.isChecked(): self.dlgLoad.chkReplaceData.setChecked(True) else: self.dlgLoad.chkReplaceData.setChecked(False) self.dlgLoad.onOK() self.fname = self.dlgLoad.OSMFileEdit.text() self.dbFileName = self.fname + ".db" self.dbm.addDatabase(self.dbFileName, self.dlgLoad.pointLayer, self.dlgLoad.lineLayer, self.dlgLoad.polygonLayer)