Exemple #1
0
 def on_bTest_clicked(self):
     """
     Private method to test the selected options.
     """
     if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rOpenFile.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getOpenFileName(None, self.eCaption.text(),
                                         self.eStartWith.text(),
                                         self.eFilters.text(), options)
         else:
             QFileDialog.getOpenFileNameAndFilter(
                 None, self.eCaption.text(), self.eStartWith.text(),
                 self.eFilters.text(), self.eInitialFilter.text(), options)
     elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rOpenFiles.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getOpenFileNames(None, self.eCaption.text(),
                                          self.eStartWith.text(),
                                          self.eFilters.text(), options)
         else:
             QFileDialog.getOpenFileNamesAndFilter(
                 None, self.eCaption.text(), self.eStartWith.text(),
                 self.eFilters.text(), self.eInitialFilter.text(), options)
     elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rSaveFile.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getSaveFileName(None, self.eCaption.text(),
                                         self.eStartWith.text(),
                                         self.eFilters.text(), options)
         else:
             QFileDialog.getSaveFileNameAndFilter(
                 None, self.eCaption.text(), self.eStartWith.text(),
                 self.eFilters.text(), self.eInitialFilter.text(), options)
     elif self.rDirectory.isChecked():
         options = QFileDialog.Options()
         if not self.cSymlinks.isChecked():
             options |= QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         if self.cDirOnly.isChecked():
             options |= QFileDialog.Options(QFileDialog.ShowDirsOnly)
         else:
             options |= QFileDialog.Options(QFileDialog.Option(0))
         options = self.__adjustOptions(options)
         QFileDialog.getExistingDirectory(None, self.eCaption.text(),
                                          self.eWorkDir.text(), options)
Exemple #2
0
def getSaveFileNameAndFilter(parent=None,
                             caption="",
                             directory="",
                             filter="",
                             initialFilter="",
                             options=QFileDialog.Options()):
    """
    Module function to get the name of a file for saving it and the selected
    file name filter.
    
    @param parent parent widget of the dialog (QWidget)
    @param caption window title of the dialog (string)
    @param directory working directory of the dialog (string)
    @param filter filter string for the dialog (string)
    @param initialFilter initial filter for the dialog (string)
    @param options various options for the dialog (QFileDialog.Options)
    @return name of file to be saved and selected filter (string, string)
    """
    if Globals.isLinuxPlatform():
        options |= QFileDialog.DontUseNativeDialog
    newfilter = __reorderFilter(filter, initialFilter)
    if PYQT_VERSION_STR >= "5.0.0":
        return QFileDialog.getSaveFileName(parent, caption, directory,
                                           newfilter, initialFilter, options)
    else:
        return QFileDialog.getSaveFileNameAndFilter(parent, caption, directory,
                                                    newfilter, initialFilter,
                                                    options)
Exemple #3
0
 def inquireSaveFilename(self):
     '''
     Prompt the user for the name of the file into which to save the scene.
     The file format will be determined from the filename extension.
     '''
     formattypes = [
         ("png", self.tr("PNG - Portable Networks Graphics (*.png)")),
         ("jpeg",
          self.
          tr("JPEG - Joint Photographic Experts Group (*.jpeg *.jpg *.jpe)")
          ),
         ("tiff",
          self.tr("TIFF - Tagged Image File Format (*.tiff *.tif)")),
         ("bmp", self.tr("BMP - Windows Bitmap (*.bmp)")),
         ("ppm", self.tr("PPM - Portable Pixmap (*.ppm)")),
         ("xpm", self.tr("XPM - X11 Pixmap (*.xpm)")),
         ("xbm", self.tr("XBM - X11 Bitmap (*.xbm)")),
     ]
     if QT_VERSION == 5:
         # tr returns Python unicode strings in PyQt5/Python3
         filters = self.tr(";;").join([t[1] for t in formattypes])
         for (fmt, fmtQName) in formattypes:
             if self.__lastformat == fmt:
                 dfltfilter = fmtQName
                 break
         else:
             dfltfilter = formattypes[0][1]
         (fileName, fileFilter) = QFileDialog.getSaveFileName(
             self, self.tr("Save the current image as "),
             self.__lastfilename, filters, dfltfilter)
         if fileName:
             for (fmt, fmtQName) in formattypes:
                 if fmtQName == fileFilter:
                     fileFormat = fmt
                     break
             else:
                 raise RuntimeError("Unexpected file format name '%s'" %
                                    fileFilter)
     else:
         # tr returns QStrings in PyQt4
         filters = formattypes[0][1]
         for typePair in formattypes[1:]:
             filters.append(";;")
             filters.append(typePair[1])
         (fileName, fileFilter) = QFileDialog.getSaveFileNameAndFilter(
             self, self.tr("Save the current image as "),
             self.__lastfilename, filters)
         if fileName:
             for (fmt, fmtQName) in formattypes:
                 if fmtQName.compare(fileFilter) == 0:
                     fileFormat = fmt
                     break
             else:
                 raise RuntimeError("Unexpected file format name '%s'" %
                                    fileFilter)
     if fileName:
         self.saveSceneToFile(fileName, fileFormat, None, None)
         self.__lastfilename = fileName
         self.__lastformat = fileFormat
Exemple #4
0
 def SaveModelDialogSlot(self):
     type_sbml = 'SBML'
     filters = {'SBML(*.xml)': type_sbml}
     filename, filter_ = QFileDialog.getSaveFileNameAndFilter(
         None, 'Save File', '', ';;'.join(filters))
     extension = ""
     if str(filename).rfind('.') != -1:
         filename = filename[:str(filename).rfind('.')]
         if str(filter_).rfind('.') != -1:
             extension = filter_[str(filter_).rfind('.'):len(filter_) - 1]
     if filename:
         filename = filename + extension
         if filters[str(filter_)] == 'SBML':
             moose.writeSBML(str(filename), self.plugin.modelRoot)
Exemple #5
0
    def save_figure(self,
                    caption="Choose a filename to save to",
                    filename=None,
                    default_filetype=None):
        filetypes = self.canvas.get_supported_filetypes_grouped()
        sorted_filetypes = sorted(six.iteritems(filetypes))
        #  if not default_filetype in self.canvas.get_supported_filetypes():
        if not default_filetype:
            default_filetype = self.canvas.get_default_filetype()

        if not filename:
            startpath = os.path.expanduser(
                matplotlib.rcParams['savefig.directory'])
            filename = os.path.join(startpath,
                                    self.canvas.get_default_filename())
        filters = []
        selectedFilter = None
        for name, exts in sorted_filetypes:
            exts_list = " ".join(['*.%s' % ext for ext in exts])
            filter = '%s (%s) ' % (name, exts_list)
            #  filter = '(*.%s) %s' % (exts_list, name)
            if default_filetype in exts:
                selectedFilter = filter
            filters.append(filter)
        filters = ';;'.join(filters)

        # for future update to pyqt5, change it to getSaveFileName
        if use_pyqt5:
            fname, filter = QFileDialog.getSaveFileName(
                self.parent(), caption, filename, filters, selectedFilter)
        else:
            fname, filter = QFileDialog.getSaveFileNameAndFilter(
                self.parent(), caption, filename, filters, selectedFilter)
        if fname:
            try:
                self.canvas.figure.savefig(six.text_type(fname),
                                           dpi=300,
                                           bbox_inches='tight')
            except Exception as e:
                QMessageBox.critical(self.parent(),
                                     "Error saving band diagram",
                                     six.text_type(e), QMessageBox.Ok,
                                     QMessageBox.NoButton)
Exemple #6
0
    def save_array(self):
        """"""

        filename, extension = QFileDialog.getSaveFileNameAndFilter(
            self,
            'Save file',
            "",
            "Image PNG File (*.png);; Image BMP File (*.bmp);; JSON File (.json)")

        if len(filename)>0:
            filename = os.path.abspath(filename)

            ext = extension.split("(")[1].replace(")", "")\
                                         .replace("*", "").strip()
            if not filename.endswith(ext):
                filename = filename + ext

            if ext == ".json":
                self.dot_array.save(filename)

            elif ext == ".png" or ext == ".bmp":
                self.image().save(filename)
Exemple #7
0
def getSaveFileNameAndFilter(parent=None, caption="", directory="",
                             filter="", initialFilter="",
                             options=QFileDialog.Options()):
    """
    Module function to get the name of a file for saving it and the selected
    file name filter.
    
    @param parent parent widget of the dialog (QWidget)
    @param caption window title of the dialog (string)
    @param directory working directory of the dialog (string)
    @param filter filter string for the dialog (string)
    @param initialFilter initial filter for the dialog (string)
    @param options various options for the dialog (QFileDialog.Options)
    @return name of file to be saved and selected filter (string, string)
    """
    if Globals.isLinuxPlatform():
        options |= QFileDialog.DontUseNativeDialog
    newfilter = __reorderFilter(filter, initialFilter)
    if PYQT_VERSION_STR >= "5.0.0":
        return QFileDialog.getSaveFileName(
            parent, caption, directory, newfilter, initialFilter, options)
    else:
        return QFileDialog.getSaveFileNameAndFilter(
            parent, caption, directory, newfilter, initialFilter, options)
 def on_bTest_clicked(self):
     """
     Private method to test the selected options.
     """
     if self.rOpenFile.isChecked() or self.rfOpenFile.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rOpenFile.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getOpenFileName(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 options)
         else:
             QFileDialog.getOpenFileNameAndFilter(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 self.eInitialFilter.text(),
                 options)
     elif self.rOpenFiles.isChecked() or self.rfOpenFiles.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rOpenFiles.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getOpenFileNames(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 options)
         else:
             QFileDialog.getOpenFileNamesAndFilter(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 self.eInitialFilter.text(),
                 options)
     elif self.rSaveFile.isChecked() or self.rfSaveFile.isChecked():
         if not self.cSymlinks.isChecked():
             options = QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         else:
             options = QFileDialog.Options()
         options = self.__adjustOptions(options)
         if self.rSaveFile.isChecked() and self.__pyqtVariant == 4:
             QFileDialog.getSaveFileName(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 options)
         else:
             QFileDialog.getSaveFileNameAndFilter(
                 None,
                 self.eCaption.text(),
                 self.eStartWith.text(),
                 self.eFilters.text(),
                 self.eInitialFilter.text(),
                 options)
     elif self.rDirectory.isChecked():
         options = QFileDialog.Options()
         if not self.cSymlinks.isChecked():
             options |= QFileDialog.Options(QFileDialog.DontResolveSymlinks)
         if self.cDirOnly.isChecked():
             options |= QFileDialog.Options(QFileDialog.ShowDirsOnly)
         else:
             options |= QFileDialog.Options(QFileDialog.Option(0))
         options = self.__adjustOptions(options)
         QFileDialog.getExistingDirectory(
             None,
             self.eCaption.text(),
             self.eWorkDir.text(),
             options)