def setOutDirectory(self): outDir = QFileDialog.getExistingDirectory( self, self.tr("Select output directory"), ".") if not outDir: return self.leOutputDir.setText(outDir)
def on_output_data_dir_btn_clicked(self): default_dir = QSettings().value('irmt/output_data_dir', QDir.homePath()) path = QFileDialog.getExistingDirectory( self, self.tr('Choose output directory'), default_dir) if path: QSettings().setValue('irmt/output_data_dir', path) self.output_data_dir_le.setText(path)
def selectProjFolder(self): try: presetFolder = self.dlg.projFolderEdit.text() except (KeyError): presetFolder = '' caption = 'Please choose a project folder' folderName = QFileDialog.getExistingDirectory(self.dlg, caption, presetFolder) self.dlg.projFolderEdit.setText(toUnicode(folderName))
def run(self): self.dlg.show() self.updateLayers() self.registry.layersAdded.connect(self.updateLayers) self.registry.layerRemoved.connect(self.updateLayers) result = self.dlg.exec_() if result == 1: folder = QFileDialog.getExistingDirectory() self.exportItems(toUnicode(folder))
def browseForInput(self): """ Open a browse for files dialog - for the moment set to browse directory mode """ settings = QtCore.QSettings() startingDir = str(settings.value("OsTranslatorII/lastInputFolder", os.path.expanduser("~"))) d = str( QFileDialog.getExistingDirectory(None, 'Browse For Input', startingDir) ) if d != os.sep and d.lower() != 'c:\\' and d != '': settings.setValue("OsTranslatorII/lastInputFolder", d) self.inputLineEdit.setText(d)
def run(self): self.dlg.show() self.layerFromRegistry() self.registry.layersAdded.connect(self.layerFromRegistry) self.registry.layerRemoved.connect(self.layerFromRegistry) result = self.dlg.exec_() if result == 1: folder = QFileDialog.getExistingDirectory() folder = toUnicode(folder) self.setOutputDir(folder) self.exportContour()
def ask_for_download_destination_folder(parent, text='Download destination'): """ Open a dialog to ask for a download destination folder, initially pointing to the home directory. :param parent: the parent dialog :param text: the dialog's title text :returns: full path of the destination folder """ return QFileDialog.getExistingDirectory(parent, text, os.path.expanduser("~"))
def run(self): self.dlg.show() result = self.dlg.exec_() if result == 1: self.workingFolder = toUnicode( QFileDialog.getExistingDirectory( directory=self.settings.value('projFolder'))) self.settings.setValue('animeName', self.dlg.outputNameEdit.text()) self.settings.setValue('animeLapse', int(self.dlg.timeLapseEdit.text())) if self.workingFolder: # Load map export template from .qgs file # composer, mapSet = self.loadTemplate(template) self.renderLayers() if self.dlg.exportTypeCombo.currentText() == '.gif': self.genGif() elif self.dlg.exportTypeCombo.currentText() == '.mp4': self.genMp4()
def downloadContent(self, reply): self.stop() home = os.path.expanduser('~') downloads = os.path.join(home, 'Downloads') download = os.path.join(home, 'Download') if os.path.isdir(downloads): dest_dir = downloads if os.path.isdir(download): dest_dir = download if not dest_dir: dest_dir = QFileDialog.getExistingDirectory( self, tr("Select the destination folder"), home, QFileDialog.ShowDirsOnly) if not dest_dir: return try: file_name = reply.rawHeader('Content-Disposition').split('=')[1] file_name = str(file_name).strip('"') except Exception as exc: header_pairs = reply.rawHeaderPairs() self.gem_api.common.error( 'Unable to get the file name from headers: %s\n' 'Exception: %s' % (header_pairs, str(exc))) return file_content = str(reply.readAll()) # From # http://doc.qt.io/archives/qt-4.8/qwebpage.html#unsupportedContent # "The receiving slot is responsible for deleting the reply" reply.close() reply.deleteLater() file_fullpath = os.path.join(dest_dir, file_name) if os.path.exists(file_fullpath): name, ext = os.path.splitext(file_name) i = 1 while True: file_fullpath = os.path.join(dest_dir, '%s_%s%s' % (name, i, ext)) if not os.path.exists(file_fullpath): break i += 1 with open(file_fullpath, "w") as f: f.write(file_content) self.gem_api.common.info('File downloaded as: %s' % file_fullpath)
def batchExportPlot(self, layer): features = layer.selectedFeatures() mapTool = QgsMapTool(self.iface.mapCanvas()) FieldName = self.dlg.fieldCombo.currentField() projFolder = self.settings.value('projFolder') outputFolder = QFileDialog.getExistingDirectory( directory=projFolder, caption='Choose the folder to export profile plots') outputFolder = toUnicode(outputFolder) if outputFolder: for feature in features: title = feature[FieldName] if not title: title = 'profile' self.profiles = list() pointstoDraw = list() # Get feature geometry first_segment = True if first_segment: k = 0 first_segment = False else: k = 1 while not feature.geometry().vertexAt(k) == QgsPoint(0, 0): point2 = mapTool.toMapCoordinates( layer, QgsPoint(feature.geometry().vertexAt(k))) pointstoDraw += [[point2.x(), point2.y()]] k += 1 self.updateProfile(pointstoDraw, mapTool, False) if self.profiles: self.exportPlot(folder=outputFolder, name=str(feature.id()).zfill(3), title=str(title)) plotTool().clearData(self.dlg.plotWidget, self.profiles) self.dlg.activeLayerList.clear()
def selectProjectFolder(self): preSet = self.settings.value('projFolder') projFolder = QFileDialog.getExistingDirectory( directory=preSet, caption=toUnicode(MSG['msg01'])) projFolder = toUnicode(projFolder) self.projFolderEdit.setText(projFolder)