def openClicked(self):
     dlg = QFileDialog(self)
     dlg.setDefaultSuffix("json")
     dlg.setFileMode(QFileDialog.ExistingFile)
     dlg.setAcceptMode(QFileDialog.AcceptOpen)
     dlg.setNameFilters(("JSON files (*.json)", "All files (*)"))
     if dlg.exec():
         path = dlg.selectedFiles()[0]
         try:
             with WaitCursor():
                 with open(path, 'r') as f:
                     d = json.load(f)
                     warn = None
                     if 'version' not in d:
                         warn = "The JSON configuration file does not contain a version number. It may be incompatible with this program."
                     else:
                         cversion = StrictVersion(d['version'])
                         if cversion.version[0] != jsonversion.version[0]:
                             raise BaseException("The JSON configuration file format is not compatible with this version of %s" % QApplication.applicationDisplayName())
                         elif cversion.version[1] != jsonversion.version[1]:
                             warn = "The JSON configuration file format version does not match this version of %s. Incompatibilites should be handled gracefully, but unexpected results may occur." % QApplication.applicationDisplayName()
                     if warn:
                         with TempDefaultCursor():
                             QMessageBox.warning(self, "Warning", warn)
                     self.ui.settingsTab.unserialize(d)
                     self.ui.experimentsTab.unserialize(d['experiments'])
                 self.setModified(False)
                 self.currentFileChanged.emit(path)
         except BaseException as e:
             QMessageBox.critical(self, "Error", str(e))
    def load_obs(self):
        load = QFileDialog()
        load.setDefaultSuffix(".json")
        load.setNameFilter("JSON files (*.json)")
        load.setAcceptMode(QFileDialog.AcceptOpen)
        load.setOption(QFileDialog.DontUseNativeDialog)
        if load.exec_() == QFileDialog.Accepted:
            filename = load.selectedFiles()[0]
            with open(filename) as json_file:
                obs_dict = json.load(json_file)
                self.observationList.clear()
                for key in obs_dict:
                    if key in self.targetsDict:
                        targetName = key
                        ra = self.targetsDict[targetName]["ra"]
                        dec = self.targetsDict[targetName]["dec"]
                        coord = SkyCoord(frame='icrs', ra=ra, dec=dec, obstime="J2000")
                        target = FixedTarget(coord=coord, name=targetName)
                        for date in obs_dict[key]['times']:
                            print(date)

                            # TODO Te pielikt date parbaudes, vai atkekset ja ir vai iznemt ja nav

                        data = PlannedObs(target, int(obs_dict[key]['priority']), int(obs_dict[key]['obs_per_week']),
                                          int(obs_dict[key]['scans_per_obs']), obs_dict[key]['times'],
                                          obs_dict[key]['global_time'])
                        item = QListWidgetItem(str(data), self.observationList)
                        item.setData(Qt.UserRole, data)
                        self.observationList.addItem(item)
                        self.plannedTargets.append(target.name)
                    else:
                        self.show_error("Target error", key + " not in targets, skipping it")
        else:
            print("Something went wrong")
Exemple #3
0
def FileDialog(directory='', forOpen=True, fmt='', isFolder=False):
    options = QFileDialog.Options()
    options |= QFileDialog.DontUseNativeDialog
    options |= QFileDialog.DontUseCustomDirectoryIcons
    dialog = QFileDialog()
    dialog.setOptions(options)

    dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden)

    # ARE WE TALKING ABOUT FILES OR FOLDERS
    if isFolder:
        dialog.setFileMode(QFileDialog.DirectoryOnly)
    else:
        dialog.setFileMode(QFileDialog.AnyFile)
    # OPENING OR SAVING
    dialog.setAcceptMode(QFileDialog.AcceptOpen) if forOpen else dialog.setAcceptMode(QFileDialog.AcceptSave)

    # SET FORMAT, IF SPECIFIED
    if fmt != '' and isFolder is False:
        dialog.setDefaultSuffix(fmt)
        dialog.setNameFilters([f'{fmt} (*.{fmt})'])

    # SET THE STARTING DIRECTORY
    if directory != '':
        dialog.setDirectory(str(directory))
    else:
        dialog.setDirectory(str(ROOT_DIR))


    if dialog.exec_() == QDialog.Accepted:
        path = dialog.selectedFiles()[0]  # returns a list
        return path
    else:
        return ''
Exemple #4
0
    def on_template_save_as(self):
        template_file = self.mainwindow.template_view_controller.selected_template
        if template_file is not None:
            fd = QFileDialog(self.mainwindow, "Save template",
                             self.template_dialog_path)
            fd.setDefaultSuffix("template")
            filters = [
                "Template files (*.template)", "JSON files (*.json)",
                "Any files (*)"
            ]
            fd.setNameFilters(filters)
            fd.setAcceptMode(QFileDialog.AcceptSave)
            if fd.exec():
                filename = fd.selectedFiles()[0]
                file = open(filename, "w")
                template_file.file = file

                self.save_file(file, template_file.template)

                templates = self.mainwindow.template_list_controller.templates
                filename = template_file.file.name
                if filename not in templates:
                    templates.append(filename)
                    self.mainwindow.template_list_controller.templates = templates
                    index = self.ui.templateListView.selectionModel().model(
                    ).createIndex(templates.index(filename), 0)
                    self.ui.templateListView.selectionModel().select(
                        index, QItemSelectionModel.Select)
                    self.mainwindow.template_view_controller.selected_template = file.name
 def on_btnExportLog_clicked(self):
     """
     Export the contents of the log tab to .csv file
     """
     # get filename to save as
     dlg = QFileDialog()
     dlg.setAcceptMode(QFileDialog.AcceptSave)
     dlg.setDefaultSuffix("csv")
     dlg.setNameFilters(["Log File (*.csv)", "all files (*.*)"])
     dlg.setDirectory(self.parent.settings.value("Default/ProjPath"))
     if dlg.exec_():
         fileNames = dlg.selectedFiles()
         try:
             if fileNames:
                 self.fileName = fileNames[0]
                 # save the file
                 with open(self.fileName, 'w', newline='') as csvfile:
                     csvWriter = csv.writer(csvfile,
                                            delimiter=',',
                                            quotechar='"',
                                            quoting=csv.QUOTE_MINIMAL)
                     for row in range(self.gridLog.model().rowCount()):
                         rowItems = []
                         for col in range(
                                 self.gridLog.model().columnCount()):
                             value = self.gridLog.model().index(
                                 row, col,
                                 QModelIndex()).data(Qt.DisplayRole)
                             rowItems.append(value)
                         csvWriter.writerow(c for c in rowItems)
         except BaseException as e:
             msg = "{} - {} failed.".format("Write CSV", repr(e))
             self.helper.displayErrMsg("Export CSV Error", msg)
Exemple #6
0
 def file_dlg(self, text):
     msg_box = QMessageBox()
     msg_box.setIcon(QMessageBox.Question)
     try:
         msg_box.setWindowIcon(
             QtGui.QIcon(os.path.join("misc", "archerrank2.svg")))
     except FileNotFoundError:
         msg_box.setWindowIcon(
             QtGui.QIcon(
                 os.path.abspath(
                     os.path.join(os.path.dirname(sys.argv[0]), "misc",
                                  "archerrank2.svg"))))
     msg_box.setText(self.tr("Question"))
     msg_box.setInformativeText(text)
     msg_box.addButton(self.tr('Load'), QMessageBox.AcceptRole)
     msg_box.addButton(self.tr('New'), QMessageBox.AcceptRole)
     msg_box.addButton(self.tr('Exit'), QMessageBox.NoRole)
     reply = msg_box.exec_()
     if reply == 0:
         fileName, _ = QFileDialog.getOpenFileName(
             None, "QFileDialog.getOpenFileName()", "",
             "Acherrang2 Files (*.sqlite)")
         return fileName
     elif reply == 1:
         filedialog = QFileDialog(msg_box)
         filedialog.setFilter(filedialog.filter() | QtCore.QDir.Hidden)
         filedialog.setDefaultSuffix('sqlite')
         filedialog.setAcceptMode(QFileDialog.AcceptSave)
         filedialog.setNameFilters(["Acherrang2 Files (*.sqlite)"])
         if filedialog.exec_() == QFileDialog.Accepted:
             return filedialog.selectedFiles()[0]
         return
     else:
         return "exit"
Exemple #7
0
 def dumpXML(self):
     browser = QFileDialog(self, "Pick a file to save the XML to.")
     browser.setAcceptMode(QFileDialog.AcceptSave)
     browser.setDefaultSuffix("xml")
     if browser.exec_() == QDialog.Accepted:
         exportXML(self._model, self.libraryPath,
                   browser.selectedFiles()[0])
    def save_displayed_data(self):

        # Bring up save dialog
        save_dialog = QFileDialog(self)
        save_dialog.setDefaultSuffix(".pkl")
        file_types = "Python pickle (*.pkl);;Matlab (*.mat)"
        save_path = save_dialog.getSaveFileName(self, 'Save displayed data',
                                                get_home_dir(),
                                                file_types)

        # Get the data from visuals
        names = []
        data = []
        for pc in self.get_plot_containers():
            names.append(pc.container.item_widget.label.text())
            data.append(self.data_array[pc.data_array_pos][0])

        data = np.vstack(data)

        dict_out = {'channel_names': names,
                    'data': data}

        path = save_path[0]
        # Evaluate the extension and save
        if save_path[1] == "Python pickle (*.pkl)":
            if '.pkl' not in path:
                path += '.pkl'
            with open(path, 'wb') as fid:
                pickle.dump(dict_out, fid)
        elif save_path[1] == "Matlab (*.mat)":
            if '.mat' not in path:
                path += '.mat'
            savemat(path, dict_out)

        return
Exemple #9
0
    def replay(self):
        self.gradient = None
        dialog = QFileDialog()
        dialog.setDefaultSuffix(".pkl")
        fname = dialog.getOpenFileName(self, 'Select Trial to Open',
                                       os.getcwd(), '(*.log)')[0]
        self.playback = []
        self.times = []
        with open(fname) as f:
            for idx, row in enumerate(f.read().split("\n")):
                if idx == 0:
                    pass
                else:
                    try:
                        time, toks = row.split(" -- ")[0], row.split(" -- ")[1]
                        time = time.split("-")[1]
                        self.times.append(time)
                        toks = toks.split(', ')

                        # posx, posy, mfc1, mfc2, mfc3
                        self.playback.append([
                            float(toks[1]),
                            float(toks[2]),
                            float(toks[4]),
                            float(toks[5]),
                            float(toks[6])
                        ])
                    except IndexError:
                        pass
        server.run_fictrac_client(self.config_dict,
                                  self.gradient,
                                  replay=[self.times, self.playback])
Exemple #10
0
 def getLoadSaveFileName(self,
                         title,
                         filter=None,
                         settingname=None,
                         savesuffix=None,
                         multiple=False,
                         settingdefault=None):
     "Show a file dialog and select one or more files"
     setting = self.settings.value(
         settingname, settingdefault) if settingname is not None else None
     directory = setting if type(setting) is str else None
     dialog = QFileDialog(parent=self,
                          caption=title,
                          directory=directory,
                          filter=filter)
     #        if setting and type(setting) is not str:
     #            dialog.restoreState(setting)
     dialog.setOption(QFileDialog.DontUseNativeDialog, True)
     if savesuffix is not None:
         dialog.setAcceptMode(QFileDialog.AcceptSave)
         dialog.setDefaultSuffix(savesuffix)
     elif multiple:
         dialog.setFileMode(QFileDialog.ExistingFiles)
     else:
         dialog.setFileMode(QFileDialog.ExistingFile)
     dialog.exec()
     files = dialog.selectedFiles()
     if not dialog.result() or not files:
         return None
     self.settings.setValue(settingname, os.path.dirname(files[0]))
     return files if multiple else files[0]
Exemple #11
0
def conv_save_pressed(P, W):
    head = _translate('HandlerClass', 'Save Error')
    with open(P.fNgc, 'r') as inFile:
        for line in inFile:
            if '(new conversational file)' in line:
                msg0 = _translate('HandlerClass',
                                  'An empty file cannot be saved')
                P.dialog_show_ok(QMessageBox.Warning, '{}'.format(head),
                                 '{}\n'.format(msg0))
                return
    P.vkb_show()
    dlg = QFileDialog(W)
    dlg.setOptions(QFileDialog.DontUseNativeDialog)
    dlg.setAcceptMode(QFileDialog.AcceptSave)
    dlg.setNameFilters(['G-Code Files (*.ngc *.nc *.tap)', 'All Files (*)'])
    dlg.setDefaultSuffix('ngc')
    dlg.setDirectory(P.programPrefix)
    name = ''
    if dlg.exec_():
        name = dlg.selectedFiles()[0]
    if name:
        COPY(P.fNgc, name)
        W.conv_save.setEnabled(False)
        conv_enable_tabs(P, W)
    P.vkb_show(True)
Exemple #12
0
 def on_btnExportTrace_clicked(self):
     """
     Export the contents of the trace tab to .txt file
     """
     # get filename to save as
     dlg = QFileDialog()
     dlg.setAcceptMode(QFileDialog.AcceptSave)
     dlg.setDefaultSuffix("txt")
     dlg.setNameFilters(["Trace File (*.txt)", "all files (*.*)"])
     dlg.setDirectory(self.parent.settings.value("Default/ProjPath"))
     if dlg.exec_():
         fileNames = dlg.selectedFiles()
         if fileNames:
             self.fileName = fileNames[0]
             # save the file
             file = QFile(self.fileName)
             if not file.open(QFile.WriteOnly | QFile.Text):
                 self.helper.displayErrMsg(
                     "Export Trace Error", "Cannot write file {} {}".format(
                         self.fileName, file.errorString()))
                 return
             outstr = QTextStream(file)
             QApplication.setOverrideCursor(Qt.WaitCursor)
             outstr << self.textTrace.toPlainText()
             QApplication.restoreOverrideCursor()
Exemple #13
0
def getSaveFileName(
        *,
        parent,
        title,
        filename,
        filter="",
        default_extension: str = None,
        default_filter: str = None,
        config: 'SimpleConfig',
) -> Optional[str]:
    """Custom wrapper for getSaveFileName that remembers the path selected by the user."""
    directory = config.get('io_dir', os.path.expanduser('~'))
    path = os.path.join(directory, filename)

    file_dialog = QFileDialog(parent, title, path, filter)
    file_dialog.setAcceptMode(QFileDialog.AcceptSave)
    if default_extension:
        # note: on MacOS, the selected filter's first extension seems to have priority over this...
        file_dialog.setDefaultSuffix(default_extension)
    if default_filter:
        assert default_filter in filter, f"default_filter={default_filter!r} does not appear in filter={filter!r}"
        file_dialog.selectNameFilter(default_filter)
    if file_dialog.exec() != QDialog.Accepted:
        return None

    selected_path = file_dialog.selectedFiles()[0]
    if selected_path and directory != os.path.dirname(selected_path):
        config.set_key('io_dir', os.path.dirname(selected_path), True)
    return selected_path
Exemple #14
0
    def export_csv(self):
        """
        Creates and saves a csv file with the table data.
        """
        file_dialog = QFileDialog()
        file_dialog.setWindowTitle('Save File')
        file_dialog.setDirectory(os.getcwd())
        file_dialog.setAcceptMode(QFileDialog.AcceptSave)
        file_dialog.setNameFilter('Csv files (*.csv)')
        file_dialog.setDefaultSuffix('csv')

        if file_dialog.exec_() == QFileDialog.Accepted:
            path = file_dialog.selectedFiles()[0]

            if path:
                with open(path, mode="w", newline='',
                          encoding='utf8') as csv_file:
                    field_names = ["", "Unit", "Vap", "Liq", "Overall"]
                    writer = csv.DictWriter(csv_file, fieldnames=field_names)
                    writer.writeheader()

                    for row in range(self.table.rowCount()):
                        row_data = {}
                        row_data[""] = self.table.verticalHeaderItem(
                            row).text()

                        for col in range(self.table.columnCount()):
                            item = self.table.item(row, col)

                            if item is not None:
                                row_data[field_names[col + 1]] = item.text()
                            else:
                                row_data[field_names[col + 1]] = ''

                        writer.writerow(row_data)
Exemple #15
0
    def save_file(self):
        try:
            save_window = QFileDialog()
            save_window.setDefaultSuffix('.png')
            save_window.setWindowTitle("Save Image")
            filters = "Image files (*.bmp *.dib *.jpeg *.jpg *.jpe *.jp2 *.png *.pgm *.ppm *.sr *.ras *tiff *.tif)"
            save_window.setNameFilter(filters)
            save_window.setAcceptMode(QFileDialog.AcceptSave)

            save_window.exec()
            # No file selected
            if len(save_window.selectedFiles()) == 0:
                return 0
            file = save_window.selectedFiles()[0]

            extension = file.split('.')[-1]
            if extension == 'pgm':
                cv2.imwrite(
                    file,
                    cv2.cvtColor(self.image_box.filtered_image,
                                 cv2.COLOR_RGB2GRAY))
            elif extension == 'png':
                cv2.imwrite(file, self.image_box.filtered_image,
                            [cv2.IMWRITE_PNG_COMPRESSION, 9])
            else:
                cv2.imwrite(file, self.image_box.filtered_image)

        except:
            error_message = QMessageBox()
            error_message.setWindowTitle("Error")
            error_message.setText("Error: file " + file + " failed to save")
            error_message.exec()
Exemple #16
0
    def importAction(self):
        fileDialog = QFileDialog(self)
        fileDialog.setWindowTitle("Import VisualStates File")
        fileDialog.setViewMode(QFileDialog.Detail)
        fileDialog.setNameFilters(['VisualStates File (*.xml)'])
        fileDialog.setDefaultSuffix('.xml')
        fileDialog.setAcceptMode(QFileDialog.AcceptOpen)
        if fileDialog.exec_():
            tempPath = self.fileManager.getFullPath()
            file = self.fileManager.open(fileDialog.selectedFiles()[0])
            if file[0] is not None:
                self.fileManager.setPath(tempPath)
                # if the current active state already has an initial state make sure that
                # there will not be any initial state in the imported state
                if self.activeState.getInitialChild() is not None:
                    for childState in file[0].getChildren():
                        childState.setInitial(False)

                # Update importing Namespaces
                importedState, self.config, self.libraries, self.globalNamespace = self.importManager.updateAuxiliaryData(file, self)
                self.treeModel.loadFromRoot(importedState, self.activeState)
                self.automataScene.displayState(self.activeState)
                self.automataScene.setLastIndexes(self.rootState)
            else:
                self.showWarning("Wrong file selected",
                                 "The selected file is not a valid VisualStates file")
Exemple #17
0
 def write_csv(self):
     dialog = QFileDialog(self, 'Write csv file', '.', '*.csv')
     dialog.setDefaultSuffix('csv')
     dialog.setAcceptMode(QFileDialog.AcceptSave)
     dialog.setOptions(QFileDialog.DontConfirmOverwrite)
     if dialog.exec() == QDialog.Accepted:
         name = dialog.selectedFiles()
         fh = open(name[0], 'w')
         f = self.dut.freq
         o = np.interp(f,
                       self.open.freq,
                       self.open.data,
                       period=self.open.period)
         s = np.interp(f,
                       self.short.freq,
                       self.short.data,
                       period=self.short.period)
         l = np.interp(f,
                       self.load.freq,
                       self.load.data,
                       period=self.load.period)
         d = self.dut.data
         fh.write(
             'frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n'
         )
         for i in range(f.size):
             fh.write(
                 '0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n'
                 % (f[i] * 1000, o.real[i], o.imag[i], s.real[i], s.imag[i],
                    l.real[i], l.imag[i], d.real[i], d.imag[i]))
         fh.close()
Exemple #18
0
    def saveAsFile(self):
        widget = self.tab_widget.currentWidget()
        assert isinstance(widget, NodeEditorSpace)

        dialogue = QFileDialog(self, caption="Save Hivemap")
        dialogue.setDefaultSuffix(self._hivemapExtension)
        dialogue.setNameFilter(dialogue.tr("Hivemaps (*.{})".format(self._hivemapExtension)))
        dialogue.setFileMode(QFileDialog.AnyFile)
        dialogue.setAcceptMode(QFileDialog.AcceptSave)

        if not dialogue.exec_():
            return

        file_path = dialogue.selectedFiles()[0]

        widget.save(file_path=file_path)
        widget.setFilePath(file_path)

        # Update tab name
        name = self._getDisplayName(file_path, allow_untitled=False)
        index = self.tab_widget.currentIndex()
        self.tab_widget.setTabText(index, name)

        # Update save UI elements (filename may have changed) filename
        self._updateMenuOptions()

        # Refresh hives
        if self._projectDirectory is not None:
            self.updateLoadedHives()
Exemple #19
0
    def handlebuttonbrowse(self):
        dlg = QFileDialog()
        dlg.setFileMode(QFileDialog.AnyFile)
        dlg.setAcceptMode(QFileDialog.AcceptSave)
        dlg.setLabelText(QFileDialog.Accept, "Save comparison")
        dlg.setDefaultSuffix(self.expected_extension.strip('.'))

        inputfilename = self.settings.get_object('inputfilename')
        dirname = os.path.dirname(inputfilename)
        suggested_filename = os.path.splitext(
            os.path.basename(inputfilename))[0] + self.expected_extension
        dlg.setDirectory(dirname)
        dlg.selectFile(suggested_filename)

        filternames = [
            "%s files (*%s)" % (ext.strip('.'), ext)
            for ext in [self.expected_extension]
        ]
        filternames += ["all files (*)"]
        dlg.setNameFilters(filternames)

        if dlg.exec_():
            self.outputfilename = str(dlg.selectedFiles()[0])
        self.settings.register('outputfilename', self)
        self.outputfile.setText(shorten_path(self.outputfilename))

        if self.outputfilename:
            self.compare()
            self.issaved = True

            print('Complete!')

            self.buttonshow.setEnabled(True)
Exemple #20
0
 def saveCvImage(self):
     global fileSelected
     global videoState
     videoState = 'pause'
     if fileSelected != "":
         dlg = QFileDialog()
         #dlg.setNameFilter('PNG files (*.png)')
         dlg.setDefaultSuffix('.png')
         fileNameImage, filter = dlg.getSaveFileName(
             self.w,
             'Navigate to Directory and Choose a File Name to Save To',
             fileSelected + '_f' + str(frame) + '_PNG.png',
             'PNG Image (*.png)')
         if fileNameImage != "":
             try:
                 print(fileNameImage)
                 cv2.imwrite(str(fileNameImage), self.grabDataFrame())
                 print('Saved frame ' + str(frame) + ' as .png')
                 self.history.insertPlainText('SUCCESS: Saved Frame: ' +
                                              str(frame) + ' as PNG\n')
                 self.history.moveCursor(QTextCursor.End)
             except:
                 self.history.insertPlainText(
                     'No PNG Image Generated\n Did Not Specify Proper FileName\n'
                 )
                 self.history.moveCursor(QTextCursor.End)
                 print('Did Not Specify Proper FileName')
                 print('No PNG Image Generated')
         else:
             self.history.insertPlainText(
                 'No PNG Image Generated\n Did Not Specify Proper FileName\n'
             )
             self.history.moveCursor(QTextCursor.End)
             print('Did Not Specify Proper FileName')
             print('No PNG Image Generated')
Exemple #21
0
    def exportToCSV(self):
        # Specify default CSV export option
        fd = QFileDialog()
        fd.setDefaultSuffix("csv")

        saveTo = fd.getSaveFileName(filter="*.csv")[0]

        # No file is selected, abort export routine
        if not saveTo:
            return

        # Retrieve information from table
        items = []

        for i in range(self.table.rowCount()):
            row = {}

            for j in range(self.table.columnCount()):
                item = self.table.item(i, j)

                if item != None:
                    row[self.headers[j]] = item.text()

            items.append(row)

        # Create pandas DataFrame and export to CSV
        df = pd.DataFrame(items)
        df.to_csv(saveTo, index=False)

        QMessageBox.information(
            self, "Data exported",
            f"Table was successfully exported to \n{saveTo}.")
Exemple #22
0
def getSaveFileNameWithSuffix(parent,
                              caption,
                              directory,
                              filter,
                              options=None,
                              selectedFilter=None,
                              defaultSuffix=None):
    """
    A reimplemented version of QFileDialog.getSaveFileName() because we would like to make use
    of the QFileDialog.defaultSuffix property that getSaveFileName() does not let us adjust.

    Note: knowing the selected filter is not an invitation to change the chosen filename later.
    """
    dialog = QFileDialog(parent=parent,
                         caption=caption,
                         directory=directory,
                         filter=filter)
    if options:
        dialog.setOptions(options)
    if defaultSuffix:
        dialog.setDefaultSuffix(defaultSuffix)
    dialog.setFileMode(QFileDialog.AnyFile)
    if hasattr(dialog, 'setSupportedSchemes'):  # Pre-Qt5.6 lacks this.
        dialog.setSupportedSchemes(("file", ))
    dialog.setAcceptMode(QFileDialog.AcceptSave)
    if selectedFilter:
        dialog.selectNameFilter(selectedFilter)
    if (dialog.exec() == QFileDialog.Accepted):
        return dialog.selectedFiles()[0], dialog.selectedNameFilter()
    return None, None
Exemple #23
0
 def openProjectDialog(self):
     fileDialog = QFileDialog()
     fileDialog.setDefaultSuffix("pyr")
     fileDialog.setFileMode(QFileDialog.ExistingFile)
     fileDialog.setNameFilters(["Pyree Project Files (*.pyr)", "Any files (*)"])
     if fileDialog.exec():
         self.openProject(fileDialog.selectedFiles()[0])
Exemple #24
0
def file_dialog(dir='', for_open=True, fmt='', is_folder=False):
    """Dialog z eksploratorem Windows. Otwieranie/tworzenie folderów i plików."""
    options = QFileDialog.Options()
    options |= QFileDialog.DontUseNativeDialog
    options |= QFileDialog.DontUseCustomDirectoryIcons
    dialog = QFileDialog()
    dialog.setOptions(options)
    dialog.setFilter(dialog.filter() | QDir.Hidden)
    if is_folder:  # Otwieranie folderu
        dialog.setFileMode(QFileDialog.DirectoryOnly)
    else:  # Otwieranie pliku
        dialog.setFileMode(QFileDialog.AnyFile)
    # Otwieranie / zapisywanie:
    dialog.setAcceptMode(
        QFileDialog.AcceptOpen) if for_open else dialog.setAcceptMode(
            QFileDialog.AcceptSave)
    # Ustawienie filtrowania rozszerzeń plików:
    if fmt != '' and not is_folder:
        dialog.setDefaultSuffix(fmt)
        dialog.setNameFilters([f'{fmt} (*.{fmt})'])
    # Ścieżka startowa:
    if dir != '':
        dialog.setDirectory(str(dir))
    else:
        dialog.setDirectory(str(os.environ["HOMEPATH"]))
    # Przekazanie ścieżki folderu/pliku:
    if dialog.exec_() == QDialog.Accepted:
        path = dialog.selectedFiles()[0]
        return path
    else:
        return ''
 def _save_copter_as(self):
     dialog = QFileDialog()
     dialog.setAcceptMode(QFileDialog.AcceptSave)
     dialog.setNameFilters(["JSON files (*.json)", "All Files (*)"])
     dialog.selectNameFilter("JSON files (*.json)")
     dialog.setDefaultSuffix("*.json")
     dialog.setDirectory(os.path.dirname(__copter_dir__))
     save = dialog.exec_()
     if save:
         copter_file = dialog.selectedFiles()
         copter_name = copter_file[0].split("/")[-1]
         copter_name = copter_name.split(".")[0]
         if not self.copter.name == copter_name:
             rename_msg = "Rename current copter to '{}'?".format(
                 copter_name)
             reply = QMessageBox.question(self, 'Message', rename_msg,
                                          QMessageBox.Yes, QMessageBox.No)
             if reply == QMessageBox.Yes:
                 self.copter.name = copter_name
                 self._init_copter_settings()
         json_serializer.writefile(copter_file[0], self.copter)
         self.settings.current_copter = copter_file[0]
         self.settings.save()
         self._open_copter_settings()
     return
Exemple #26
0
 def saveAllAnnotationsToFile(self):
     file_dialog = QFileDialog()
     file_dialog.setDefaultSuffix('mat')
     video_name = self.path_to_video.split('.')[0].split('Videos/')[1]
     saved_file_name = file_dialog.getSaveFileName(
         self, 'Save File',
         '{}.mat'.format('Saved_Results/' + video_name))[0]
     self.saveToFile(saved_file_name)
Exemple #27
0
 def on_layout_save(self):
     dialog = QFileDialog()
     dialog.setDefaultSuffix("vil")
     dialog.setAcceptMode(QFileDialog.AcceptSave)
     dialog.setNameFilters(["Vial layout (*.vil)"])
     if dialog.exec_() == QDialog.Accepted:
         with open(dialog.selectedFiles()[0], "wb") as outf:
             outf.write(self.keymap_editor.save_layout())
Exemple #28
0
 def openProjectDialog(self):
     fileDialog = QFileDialog()
     fileDialog.setDefaultSuffix("pyr")
     fileDialog.setFileMode(QFileDialog.ExistingFile)
     fileDialog.setNameFilters(
         ["Pyree Project Files (*.pyr)", "Any files (*)"])
     if fileDialog.exec():
         self.openProject(fileDialog.selectedFiles()[0])
Exemple #29
0
 def read_cfg(self):
   dialog = QFileDialog(self, 'Read configuration settings', '.', '*.ini')
   dialog.setDefaultSuffix('ini')
   dialog.setAcceptMode(QFileDialog.AcceptOpen)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     settings = QSettings(name[0], QSettings.IniFormat)
     self.read_cfg_settings(settings)
Exemple #30
0
 def file_chooser(self):
     dialog = QFileDialog()
     dialog.setFilter(dialog.filter() | QtCore.QDir.Hidden)
     dialog.setDefaultSuffix("mp4")
     dialog.setAcceptMode(QFileDialog.AcceptSave)
     dialog.setNameFilters(["H.264 (*.mp4)", "MKV (*.mkv)"])
     if dialog.exec_() == QDialog.Accepted:
         self.a6c1.setText(dialog.selectedFiles()[0])
 def dialog_file_select(self):
     dlg = QFileDialog()
     dlg.setDefaultSuffix('.HDF5')
     path, filter = dlg.getOpenFileName(self, 'Open File', "",
                                        'HDF5 (*.HDF5);; All Files (*)')
     print(path)
     self.dispSelectedFile.setText(path)
     self.open_file(path)
Exemple #32
0
 def on_button_clicked(self):
     caption = 'Vyberte výstupní soubor'
     dialog = QFileDialog(self, caption)
     dialog.setFileMode(QFileDialog.AnyFile)
     dialog.setAcceptMode(QFileDialog.AcceptSave)
     dialog.setNameFilter('CSV soubory (*.csv)')
     dialog.setDefaultSuffix('csv')
     if dialog.exec_():
         self.setFilename(dialog.selectedFiles()[0])
Exemple #33
0
 def write_cfg(self):
   dialog = QFileDialog(self, 'Write configuration settings', '.', '*.ini')
   dialog.setDefaultSuffix('ini')
   dialog.setAcceptMode(QFileDialog.AcceptSave)
   dialog.setOptions(QFileDialog.DontConfirmOverwrite)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     settings = QSettings(name[0], QSettings.IniFormat)
     self.write_cfg_settings(settings)
Exemple #34
0
 def saveFileDialog(self):
     saveDialog = QFileDialog()
     saveDialog.setAcceptMode(QFileDialog.AcceptSave)
     saveDialog.setFileMode(QFileDialog.AnyFile)
     saveDialog.setDefaultSuffix('sgf')  # TODO this does not work
     fileName, _ = saveDialog.getSaveFileName(
             self, "Save Game SGF",
             "", "Smart Game Files (*.sgf)",)
     if fileName:
         self.gameW.save(fileName)
Exemple #35
0
 def saveProjectDialog(self, saveAs = False):
     if saveAs or self.currentProject.filePath is None:
         fileDialog = QFileDialog()
         fileDialog.setDefaultSuffix("pyr")
         fileDialog.setFileMode(QFileDialog.AnyFile)
         fileDialog.setNameFilters(["Pyree Project Files (*.pyr)", "Any files (*)"])
         if fileDialog.exec():
             self.currentProject.saveToFile(fileDialog.selectedFiles()[0])
     else:
         self.currentProject.saveToFile(self.currentProject.filePath)
Exemple #36
0
 def open_file(self):
     dlg = QFileDialog(self)
     dlg.setWindowTitle('Open image')
     dlg.setViewMode(QFileDialog.Detail)
     dlg.setNameFilters([self.tr('Image Files (*.bmp)'), self.tr('All Files (*)')])
     dlg.setDefaultSuffix('.bmp')
     functions.set_style_sheet(dlg, STYLE_SHEET)
             
     if dlg.exec_() :
         self.piximage = piximage2.PixImage(dlg.selectedFiles()[0])
         self.display()
Exemple #37
0
    def open_text(self):
        # Show loading page
        self.taggedTextWidget.stop()
        self.taggedTextWidget.showLoading()

        self.taggedDocumentWidget.stop()
        self.taggedDocumentWidget.showLoading()

        dialog = QFileDialog(self)
        dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')])
        dialog.setDefaultSuffix('.txt')
        file_name = dialog.getOpenFileName(self, 'Open file')
        self.progressBar.setVisible(True)
        self.progressBar_2.setVisible(True)
        self.progressBar_3.setVisible(True)
        if file_name[0] != '':
            text = codecs.open(file_name[0], "r", "utf-8").read()
            # We need to create new TextWorker
            self.tag = (TextWorker(), QtCore.QThread())

            # prompt for custom common words list
            msg = QMessageBox()
            question = "Do you want to choose a custom list of domain specific common words?"
            reply = msg.question(self, 'Message', question, msg.Yes, msg.No)
            if reply == msg.Yes:
                dialog = QFileDialog(self)
                dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')])
                dialog.setDefaultSuffix('.txt')
                file_name = dialog.getOpenFileName(self, 'Open file')
                self.tag[0].common_words_file = file_name[0]
            else:
                self.tag[0].common_words_file = "textparser/wordlist.txt"

            self.tag[0].TextToParse = text
            self.textEdit.setText(text)
            # Gray out all buttons
            self.openButton_1.setEnabled(False)
            self.openButton_2.setEnabled(False)
            self.actionText_ffnen.setEnabled(False)
            self.textEditApply.setEnabled(False)
            self.textEditApplyMarked.setEnabled(False)
            self.textEditSave.setEnabled(False)

            # Create Thread
            self.tag[1].objThread = QtCore.QThread()
            self.tag[0].moveToThread(self.tag[1])
            self.tag[0].finished.connect(self.tag[1].quit)
            self.tag[0].updated.connect(self.updateWorkerInfo);
            # self.tag[0].finished.connect(self.finishOpen)
            self.tag[1].started.connect(self.tag[0].longRunning)
            self.tag[1].finished.connect(self.finishOpen)

            self.tag[1].start()
Exemple #38
0
 def saveTextEdit(self):
     filename = ""
     dialog = QFileDialog(self, 'Save File')
     dialog.setNameFilters([self.tr('Text Files (*.txt)'), self.tr('All Files (*)')])
     dialog.setDefaultSuffix('.txt')
     filename = dialog.getSaveFileName()
     file = filename[0]
     if not file.endswith('.txt'):
         file += ".txt"
     f = open(file, 'w')
     filedata = self.textEdit.toPlainText()
     f.write(filedata)
     f.close()
Exemple #39
0
 def write_s2p(self, gain):
   dialog = QFileDialog(self, 'Write s2p file', '.', '*.s2p')
   dialog.setDefaultSuffix('s2p')
   dialog.setAcceptMode(QFileDialog.AcceptSave)
   dialog.setOptions(QFileDialog.DontConfirmOverwrite)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     fh = open(name[0], 'w')
     freq = self.dut.freq
     gamma = self.gamma(freq)
     fh.write('# GHz S MA R 50\n')
     for i in range(freq.size):
       fh.write('0.0%.8d   %8.6f %7.2f   %8.6f %7.2f   0.000000    0.00   0.000000    0.00\n' % (freq[i] * 1000, np.absolute(gamma[i]), np.angle(gamma[i], deg = True), np.absolute(gain[i]), np.angle(gain[i], deg = True)))
     fh.close()
Exemple #40
0
 def openAction(self):
     fileDialog = QFileDialog(self)
     fileDialog.setWindowTitle("Open VisualStates File")
     fileDialog.setViewMode(QFileDialog.Detail)
     fileDialog.setNameFilters(['VisualStates File (*.xml)'])
     fileDialog.setDefaultSuffix('.xml')
     fileDialog.setAcceptMode(QFileDialog.AcceptOpen)
     if fileDialog.exec_():
         (self.rootState, self.config, self.libraries) = self.fileManager.open(fileDialog.selectedFiles()[0])
         self.treeModel.removeAll()
         self.treeModel.loadFromRoot(self.rootState)
         # set the active state as the loaded state
         self.automataScene.setActiveState(self.rootState)
         self.automataScene.setLastIndexes(self.rootState)
Exemple #41
0
 def write_s1p(self):
   dialog = QFileDialog(self, 'Write s1p file', '.', '*.s1p')
   dialog.setDefaultSuffix('s1p')
   dialog.setAcceptMode(QFileDialog.AcceptSave)
   dialog.setOptions(QFileDialog.DontConfirmOverwrite)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     fh = open(name[0], 'w')
     gamma = self.gamma()
     size = self.sizeValue.value()
     fh.write('# GHz S MA R 50\n')
     for i in range(0, size):
       fh.write('0.0%.8d   %8.6f %7.2f\n' % (self.xaxis[i], np.absolute(gamma[i]), np.angle(gamma[i], deg = True)))
     fh.close()
Exemple #42
0
 def write_csv(self):
   dialog = QFileDialog(self, 'Write csv file', '.', '*.csv')
   dialog.setDefaultSuffix('csv')
   dialog.setAcceptMode(QFileDialog.AcceptSave)
   dialog.setOptions(QFileDialog.DontConfirmOverwrite)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     fh = open(name[0], 'w')
     gamma = self.gamma()
     size = self.sizeValue.value()
     fh.write('frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n')
     for i in range(0, size):
       fh.write('0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n' % (self.xaxis[i], self.open.real[i], self.open.imag[i], self.short.real[i], self.short.imag[i], self.load.real[i], self.load.imag[i], self.dut.real[i], self.dut.imag[i]))
     fh.close()
    def _browseForFilepath(self):
        starting_dir = os.path.expanduser("~")
        if self._fullPathOutputSlot.ready():
            starting_dir = os.path.split(self._fullPathOutputSlot.value)[0]

        dlg = QFileDialog(self, "Export Location", starting_dir, self._file_filter)
        dlg.setDefaultSuffix(self._extension)
        dlg.setAcceptMode(QFileDialog.AcceptSave)
        if not dlg.exec_():
            return

        exportPath = dlg.selectedFiles()[0]
        self._filepathSlot.setValue(exportPath)
        self.filepathEdit.setText(exportPath)
Exemple #44
0
 def write_csv(self):
   dialog = QFileDialog(self, 'Write csv file', '.', '*.csv')
   dialog.setDefaultSuffix('csv')
   dialog.setAcceptMode(QFileDialog.AcceptSave)
   dialog.setOptions(QFileDialog.DontConfirmOverwrite)
   if dialog.exec() == QDialog.Accepted:
     name = dialog.selectedFiles()
     fh = open(name[0], 'w')
     f = self.dut.freq
     o = self.interp(f, self.open)
     s = self.interp(f, self.short)
     l = self.interp(f, self.load)
     d = self.dut.data
     fh.write('frequency;open.real;open.imag;short.real;short.imag;load.real;load.imag;dut.real;dut.imag\n')
     for i in range(f.size):
       fh.write('0.0%.8d;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f;%12.9f\n' % (f[i] * 1000, o.real[i], o.imag[i], s.real[i], s.imag[i], l.real[i], l.imag[i], d.real[i], d.imag[i]))
     fh.close()
    def _browseForFilepath(self):
        from lazyflow.utility import PathComponents

        if self._fullPathOutputSlot.ready():
            starting_dir = PathComponents(self._fullPathOutputSlot.value).externalDirectory
        else:
            starting_dir = os.path.expanduser("~")

        dlg = QFileDialog(self, "Export Location", starting_dir, "N5 Files (*.n5)")

        dlg.setDefaultSuffix("n5")
        dlg.setAcceptMode(QFileDialog.AcceptSave)
        if not dlg.exec_():
            return

        exportPath = dlg.selectedFiles()[0]
        self.filepathEdit.setText(exportPath)
        self._filepathSlot.setValue(exportPath)
Exemple #46
0
 def _get_save_file_name(self, file_format):
     if file_format == export.FileFormat.XLSX:
         file_filter = FileNameFilters.xlsx_file
         extension = 'xlsx'
     else:
         file_filter = FileNameFilters.csv_file
         extension = 'csv'
     save_dialog = QFileDialog(parent=self, caption=_('Save listing as...'),
                               filter=file_filter)
     save_dialog.setOptions(QFileDialog.DontUseNativeDialog)
     save_dialog.setDefaultSuffix(extension)
     save_dialog.setFileMode(QFileDialog.AnyFile)
     save_dialog.setAcceptMode(QFileDialog.AcceptSave)
     filename = None
     if save_dialog.exec_():
         filename_list = save_dialog.selectedFiles()
         if len(filename_list) == 1:
             filename = filename_list[0]
     return filename
Exemple #47
0
    def dialog_export_exam_config(self):
        """Displays the dialog for exporting the current exam configuration.

        If accepted by the user, it returns the filename.
        Returns None if cancelled.

        """
        save_dialog = QFileDialog(parent=self.window,
                                  caption=_('Save exam configration as...'),
                                  filter=_('Exam configuration (*.eye)'))
        save_dialog.setOptions(QFileDialog.DontUseNativeDialog)
        save_dialog.setDefaultSuffix('eye')
        save_dialog.setFileMode(QFileDialog.AnyFile)
        save_dialog.setAcceptMode(QFileDialog.AcceptSave)
        filename = None
        if save_dialog.exec_():
            filename_list = save_dialog.selectedFiles()
            if len(filename_list) == 1:
                filename = filename_list[0]
        return filename
Exemple #48
0
 def save_file(self):
     dlg = QFileDialog(self)
     dlg.setWindowTitle('Open image')
     dlg.setViewMode(QFileDialog.Detail)
     dlg.setFileMode(QFileDialog.AnyFile)
     dlg.setAcceptMode(QFileDialog.AcceptSave)
     dlg.setNameFilters([self.tr('Image Files (*.bmp)'), self.tr('All Files (*)')])
     dlg.setDefaultSuffix('.bmp')
     functions.set_style_sheet(dlg, STYLE_SHEET)
             
     if dlg.exec_():
         path = dlg.selectedFiles()[0]
         i = self.ui.tabWidget.currentIndex()
     
         if self.piximage is not None: 
             if (i == 0):
                 self.piximage.image_o.save(path)
             elif (i == 1):
                 self.piximage.image_t.save(path)
             elif (i == 2):
                 self.piximage.image_t_color.save(path)
    def saveTrace(self,checked):
        #diag = QFileDialog.getSaveFileName(self, "Select destination", "./", "Comma Separated Values (*.csv)");
        diag = QFileDialog(self);
        diag.setAcceptMode(QFileDialog.AcceptSave) #Save file, not open one
        diag.setNameFilter("Comma Separated Values (*.csv);;Space separated Values (*.csv)");
        diag.setDefaultSuffix("csv"); # Make sure selected files end in .csv
        diag.exec();
        try:
            filename = diag.selectedFiles()[0];
        except IndexError:
            filename = '';
        user_filter = diag.selectedNameFilter();
        if (user_filter == "Space separated Values (*.csv)"):
            delimiter = " ";
        else:
            delimiter = ",";

        if (filename != '' and not os.path.isdir(filename)):

            npzfile = self.last_result;
            t = npzfile["t"];
            cos2 = npzfile["cos2"];
            cos2d = npzfile["cos2d"];                
            extra_header = [];
            extra_columns = [];
            if ('Javg' in npzfile.keys()):
                Javg = npzfile["Javg"];
                std = npzfile["std"];
                psi_pulse = npzfile["psi"];
                psi_final = psi_pulse[-1];
                psi_out=numpy.abs(psi_final)**2;
                percentile_999 = npzfile["percentile_999"];
                extra_header = ["<J>","std(J)","J_99.9%","Probability coefficients"];
                extra_columns = [Javg,std,percentile_999,psi_out];


            utils.save_to_csv(filename,t,cos2,cos2d,extra_header,extra_columns,delimiter);