Exemple #1
0
 def navigate_directory(self):
     dialog = QFileDialog()
     dialog.setDirectory(self._root_dir)
     dialog.setFileMode(QFileDialog.Directory)
     dialog.setOption(QFileDialog.ShowDirsOnly)
     dialog.exec()
     path = dialog.selectedFiles()
     if path and path[0]:
         self._root_dir = path[0]
         self.localPathEdit.setText(self._root_dir)
         self.update_file_tree()
Exemple #2
0
 def action_open_handler(self):
     p = QFileDialog()
     p.setViewMode(QFileDialog.List)
     p.setFileMode(QFileDialog.ExistingFiles)
     p.setDirectory(config.src_path)
     p.exec()
     paths = p.selectedFiles()
     for pth in paths:
         i = self.file_already_open(pth)
         if i:
             self.mdi.setActiveSubWindow(i.sub_window)
         else:
             m = FsmModel.load_file(pth)
             vm = InstanceVM(m, self, pth)
    def openAction(self):
        # first check save state of the current calculation
        if self.checkSaveState():
            dialog = QFileDialog(self)
            dialog.setWindowModality(Qt.WindowModal)    # check for mac only
            dialog.setWindowTitle(QApplication.translate("MainWindow", "Open Calculation"))
            dialog.setDirectory(os.path.expanduser("~"))
            dialog.setNameFilter(QApplication.translate("MainWindow",
                    "XML files (*.xml);;All Files (*)"))

            dialog.exec()
            filename = dialog.selectedFiles()
            if filename:
                self.model.readFile(filename.pop())
Exemple #4
0
def get_save_file_name(initial_name: str, wav_only=False, caption="Save signal"):
    global RECENT_PATH
    if caption == "Save signal":
        name_filter = "Complex files (*.complex);;Complex16 files (2 unsigned int8) " \
                 "(*.complex16u);;Complex16 files (2 signed int8) (*.complex16s);;" \
                 "Compressed complex files (*.coco);;wav files (*.wav);;all files (*)"
        if wav_only:
            name_filter = "wav files (*.wav);;all files (*)"
    elif caption == "Save fuzz profile":
        name_filter = "Fuzzfiles (*.fuzz);;All files (*)"
    elif caption == "Save encoding":
        name_filter = ""
    else:
        name_filter = "Protocols (*.proto);;All files (*)"

    filename = None
    dialog = QFileDialog()
    dialog.setFileMode(QFileDialog.AnyFile)
    dialog.setNameFilter(name_filter)
    dialog.setViewMode(QFileDialog.Detail)
    dialog.setDirectory(RECENT_PATH)
    dialog.setLabelText(QFileDialog.Accept, "Save")
    dialog.setWindowTitle(caption)
    dialog.setAcceptMode(QFileDialog.AcceptSave)
    dialog.selectFile(initial_name)

    if dialog.exec():
        filename = dialog.selectedFiles()[0]

    if filename:
        RECENT_PATH = os.path.split(filename)[0]

    return filename
    def saveAsAction(self):
        dialog = QFileDialog(self)
        dialog.setWindowModality(Qt.WindowModal)    # check for mac only
        dialog.setAcceptMode(QFileDialog.AcceptSave)
        dialog.setWindowTitle(QApplication.translate("MainWindow", "Save Calculation"))
        dialog.setDirectory(os.path.expanduser("~"))
        dialog.setNameFilter(QApplication.translate("MainWindow",
                "XML files (*.xml);;All Files (*)"))

        dialog.exec()
        filename = dialog.selectedFiles()
        if filename:
            self.model.saveFile(filename.pop())
            return True
        else:
            return False
Exemple #6
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 #7
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 #8
0
    def action_save_as_handler(self):
        w = self.mdi.activeSubWindow()
        if w is None:
            return

        p = QFileDialog()
        p.setViewMode(QFileDialog.List)
        p.setDirectory(config.src_path)
        p.exec()
        paths = p.selectedFiles()
        if len(paths) == 0:
            return
        w.instance.file_path = os.path.abspath(paths[0])
        w.instance.update_title()
        model = w.instance.model
        model.dump_file(w.instance.file_path)
        w.instance.set_modified(False)
Exemple #9
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)
 def save(self):
     if not self.file:
         dialog = QFileDialog();
         #dialog.setFileMode(QFileDialog.AnyFile);
         dialog.setAcceptMode(QFileDialog.AcceptSave);
         if (dialog.exec()):
             self.file = (dialog.selectedFiles())[0];
         else:
             return;
     self.mainManager.save(self.file);
Exemple #11
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 #12
0
 def choose_file(self):
     """
     Fires up user dialog letting him choose file to be opened.
     """
     dialog = QFileDialog()
     dialog.setFileMode(QFileDialog.ExistingFile)
     dialog.setNameFilter(config.FILE_TYPE)
     if dialog.exec():
         file_name = dialog.selectedFiles()[0]
         self.open_file(file_name)
Exemple #13
0
    def pick(self):
        dlg = QFileDialog(self, self.title, lastDir, self.filters)
        if self.save:
            # dlg.setDefaultSuffix(self._extension)
            dlg.setAcceptMode(QFileDialog.AcceptSave)
        else:
            dlg.setAcceptMode(QFileDialog.AcceptOpen)
            dlg.setFileMode(QFileDialog.ExistingFile)
        if not dlg.exec():
            return

        self.wtext.setText(dlg.selectedFiles()[0])
Exemple #14
0
    def on_pushButton_PathToQtSdk_Select_clicked(self):
        # Create file dialog
        fileDialog = QFileDialog()
        fileDialog.setWindowTitle("Select path to Qt SDK...")
        fileDialog.setFileMode(QFileDialog.Directory)

        # Open file dialog
        wasFileSelected = fileDialog.exec()
        if wasFileSelected:
            selectedFolder = self.getNormalizedPath(fileDialog)
            self.lineEdit_PathToQtSdk.setText(selectedFolder)
            self.settings.setValue(keyPathToQtSdk, selectedFolder)
    def exportAction(self):
        dialog = QFileDialog(self)
        dialog.setWindowModality(Qt.WindowModal)    # check for mac only
        dialog.setAcceptMode(QFileDialog.AcceptSave)
        dialog.setWindowTitle(QApplication.translate("MainWindow", "Export Calculation"))
        dialog.setDirectory(os.path.expanduser("~"))
        dialog.setNameFilter(QApplication.translate("MainWindow",
                "PNG files (*.png);;JPG files (*.jpg);;TIFF files (*.tif)"))

        if dialog.exec():
            filename = dialog.selectedFiles()
            self.plotWidget.plotWidget.plotWidget.export(filename.pop())
Exemple #16
0
    def on_pushButton_PathToApplicationBinary_Select_clicked(self):
        # Create file dialog
        fileDialog = QFileDialog()
        fileDialog.setWindowTitle("Select a Qt application binary...")
        fileDialog.setFileMode(QFileDialog.ExistingFile)
        fileDialog.setNameFilter("*.exe")

        # Open file dialog
        wasFileSelected = fileDialog.exec()
        if wasFileSelected:
            selectedFile = self.getNormalizedPath(fileDialog)
            self.lineEdit_PathToApplicationBinary.setText(selectedFile)
            self.settings.setValue(keyPathToApplicationBinary, selectedFile)
Exemple #17
0
	def from_folder(self):
		file_dialog = QFileDialog()
		file_dialog.setFileMode(QFileDialog.DirectoryOnly)
		file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
		file_view = file_dialog.findChild(QListView, 'listView')
		if file_view:
			file_view.setSelectionMode(QAbstractItemView.MultiSelection)
		f_tree_view = file_dialog.findChild(QTreeView)
		if f_tree_view:
			f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)

		if file_dialog.exec():
			for path in file_dialog.selectedFiles():
				self.add_gallery(path, os.path.split(path)[1])
Exemple #18
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 #19
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()
Exemple #20
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()
    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);
Exemple #22
0
 def slotAddMount(self):
     fileDialog = QFileDialog(self, Qt.Dialog)
     fileDialog.setFileMode(QFileDialog.Directory)
     fileDialog.setOption(QFileDialog.ShowDirsOnly, True)
     fileDialog.setViewMode(QFileDialog.List)
     fileDialog.setDirectory(os.environ["HOME"])
     if fileDialog.exec():
         selected = fileDialog.selectedFiles()[0]
         if selected in self.newMounts:
             return
         row = self.table_mounts.rowCount()
         self.table_mounts.insertRow(row)
         self.table_mounts.setItem(row, 0, QTableWidgetItem(selected))
         self.table_mounts.setItem(row, 1, QTableWidgetItem("新近添加"))
         self.table_mounts.setItem(row, 2, QTableWidgetItem("新近添加"))
Exemple #23
0
    def on_btn_localUpload_clicked(self):
        folder = app.settings.get("internal", "lastlocaluploaddir")
        if not folder:
            folder = os.path.expanduser("~/Downloads")

        dlg = QFileDialog(self,
                          "选择本地种子/Metalink文件",
                          folder,
                          "种子/Metalink (*.torrent *.metalink *.meta4)")
        dlg.setFileMode(QFileDialog.ExistingFile)
        if dlg.exec():
            selectedFile = dlg.selectedFiles()[0]
            app.settings.set("internal",
                             "lastlocaluploaddir",
                             os.path.dirname(selectedFile))
            self.line_url.setText(selectedFile)
Exemple #24
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()
Exemple #25
0
 def slotAddMount(self):
     fileDialog = QFileDialog(self, Qt.Dialog)
     fileDialog.setFileMode(QFileDialog.Directory)
     fileDialog.setOption(QFileDialog.ShowDirsOnly, True)
     fileDialog.setViewMode(QFileDialog.List)
     fileDialog.setDirectory(os.environ["HOME"])
     if fileDialog.exec():
         selected = fileDialog.selectedFiles()[0]
         if selected in self.newMounts:
             return
         row = self.table_mounts.rowCount()
         self.table_mounts.insertRow(row)
         self.table_mounts.setItem(
             row, 0,
             QTableWidgetItem(app.adapterManager[0].mountsFaker.driveIndexToLetter(row) +
                              "\\TDDOWNLOAD"))
         self.table_mounts.setItem(row, 1, QTableWidgetItem(selected))
         self.table_mounts.setItem(row, 2, QTableWidgetItem("新近添加"))
Exemple #26
0
class ImageSelect(QWidget):
    def __init__(self, parent, image=None):
        super().__init__(parent)
        self.image_url = None
        self.image = image
        self.filed = QFileDialog(parent)
        self.filed.setFileMode(QFileDialog.ExistingFile)
        vertical_layout = QtWidgets.QGridLayout(self)
        vertical_layout.setObjectName("image")

        pixmap = QPixmap(0, 0)
        if self.image is not None:
            pixmap.loadFromData(self.image)
        self.image_container = QtWidgets.QLabel(self)
        self.image_container.setPixmap(pixmap)
        vertical_layout.addWidget(self.image_container, 0, 0, 2, 2)

        load_button = QtWidgets.QPushButton(self)
        load_button.setText("Load Image")
        load_button.setObjectName("load_button")
        load_button.clicked.connect(self.on_load_button_clicked)
        vertical_layout.addWidget(load_button, 0, 2, 1, 1)

        clear_button = QtWidgets.QPushButton(self)
        clear_button.setText("Clear Image")
        clear_button.setObjectName("clear_button")
        clear_button.clicked.connect(self.on_clear_button_clicked)
        vertical_layout.addWidget(clear_button, 1, 2, 1, 1)

    def get_value(self):
        return self.image

    def on_load_button_clicked(self):
        if self.filed.exec():
            with Image(filename=self.filed.selectedFiles()[0]) as image:
                self.image = image.make_blob()
            pixmap = QPixmap(0, 0)
            pixmap.loadFromData(self.image)
            self.image_container.setPixmap(pixmap)

    def on_clear_button_clicked(self):
        self.image = None
        pixmap = QPixmap(0, 0)
        self.image_container.setPixmap(pixmap)
Exemple #27
0
 def loadTemplate(self):
     """Load a sct file."""
     fd = QFileDialog(None, "Load Scan Template")
     fd.setLabelText(QFileDialog.Accept, "Import")
     fd.setDirectory(self.sctpath)
     fd.setNameFilters(["Scan Template (*.sct)", "All Files (*)"])
     fd.setOptions(QFileDialog.DontUseNativeDialog)
     fd.setViewMode(QFileDialog.List)
     fd.setFileMode(QFileDialog.ExistingFile)
     if fd.exec():
         fileName = fd.selectedFiles()
         sctfile = fileName[0]
         self.title = 'Observation maker for FIFI-LS [' + sctfile + ']'
         self.setWindowTitle(self.title)
         # Default settings
         self.TW.setDefaults()
         # Load template and update table widget
         self.TW.update_status('Loading ' + sctfile + "\n")
         self.TW.sctfile = sctfile
         self.aorParameters = readSct(sctfile)
         # self.TW.update_status(errmsg)
         self.TW.update_gui(self.aorParameters)
         self.sctpath = os.path.dirname(os.path.abspath(sctfile))
         # self.TW.sctdir.setText(sctpath) Initiliaze with path of read file
         mapfile = os.path.basename(self.TW.mapListPath)
         self.TW.pathFile = self.sctpath
         self.TW.mapListPath = os.path.join(self.sctpath, mapfile)
         mapfile = self.TW.mapListPath
         print('mapfile ', mapfile)
         self.TW.update_status("mapfile: " + mapfile + "\n")
         if len(mapfile) > 0:
             try:
                 noMapPoints, mapListPath = readMap(mapfile)
                 print('map path ', mapListPath)
                 self.TW.mapListPath = mapListPath
                 self.TW.noMapPoints.setText(str(noMapPoints))
                 print('map loaded')
                 # self.TW.update_status("Map loaded. \n")
             except:
                 print('Invalid map file.')
         # First build
         print('First build ')
         self.TW.buildObs()
Exemple #28
0
 def write_s2p(self):
     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')
         gain = self.gain()
         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   %8.6f %7.2f   0.000000    0.00   0.000000    0.00\n'
                 % (self.xaxis[i], np.absolute(gamma[i]),
                    np.angle(gamma[i], deg=True), np.absolute(
                        gain[i]), np.angle(gain[i], deg=True)))
         fh.close()
Exemple #29
0
    def open(self):
        dialog = QFileDialog(self.scripter.uicontroller.mainWidget)
        dialog.setNameFilter('Python files (*.py)')

        if dialog.exec():
            try:
                selectedFile = dialog.selectedFiles()[0]
                fileExtension = selectedFile.rsplit('.', maxsplit=1)[1]

                if fileExtension == 'py':
                    document = self.scripter.documentcontroller.openDocument(
                        selectedFile)
                    self.scripter.uicontroller.setDocumentEditor(document)
                    self.scripter.uicontroller.setStatusBar(document.filePath)
                    print("open is run")
            except:
                QMessageBox.information(self.scripter.uicontroller.mainWidget,
                                        'Invalid File',
                                        'Open files with .py extension')
Exemple #30
0
 def on_toolButtonCMPath_clicked(self):
     """
     Slot documentation goes here.
     """
     fdlg = QFileDialog(self)
     fdlg.setWindowTitle(
         _translate("ConfigDialog", "Circuit Macros Location",
                    "File Dialog Title"))
     fdlg.setDirectory(self.cmPath.text())
     fdlg.setFileMode(QFileDialog.Directory)
     fdlg.setOptions(QFileDialog.ShowDirsOnly
                     | QFileDialog.DontUseNativeDialog
                     | QFileDialog.ReadOnly)
     fdlg.setViewMode(QFileDialog.Detail)
     fdlg.setFilter(QDir.Dirs | QDir.Hidden)
     if fdlg.exec():
         newPath = fdlg.selectedFiles()
         self.cmPath.setText(newPath[0])
     fdlg.close()
Exemple #31
0
 def slotAddMount(self):
     fileDialog = QFileDialog(self, Qt.Dialog)
     fileDialog.setFileMode(QFileDialog.Directory)
     fileDialog.setOption(QFileDialog.ShowDirsOnly, True)
     fileDialog.setViewMode(QFileDialog.List)
     fileDialog.setDirectory(os.environ["HOME"])
     if fileDialog.exec():
         selected = fileDialog.selectedFiles()[0]
         if selected in self.newMounts:
             return
         row = self.table_mounts.rowCount()
         self.table_mounts.insertRow(row)
         self.table_mounts.setItem(
             row, 0,
             QTableWidgetItem(
                 app.adapterManager[0].mountsFaker.driveIndexToLetter(row) +
                 "\\TDDOWNLOAD"))
         self.table_mounts.setItem(row, 1, QTableWidgetItem(selected))
         self.table_mounts.setItem(row, 2, QTableWidgetItem("新近添加"))
Exemple #32
0
 def save_config(self):
     filedialog = QFileDialog(self)
     filedialog.setDefaultSuffix("mptconfig")
     filedialog.setNameFilter("Mod Packing Tool Files (*.mptconfig);;All files (*.*)")
     filedialog.setAcceptMode(QFileDialog.AcceptSave)
     selected = filedialog.exec()
     if selected:
         self.config_path = filedialog.selectedFiles()[0]
     else:
         return
     if self.config_path == "":
         print("No file name selected.")
         return
     try:
         tconfig = {'src_path': self.src_widget.filepath, 'dst_path': self.dst_widget.filepath, 'game': self.game_container.entry.currentText(), 'watcher_enabled': self.watch.isChecked()}
         config.write_config(self.config_path, tconfig)
     except IOError:
         print("Config save failed.")         
     pass
Exemple #33
0
def get_save_file_name(initial_name: str,
                       wav_only=False,
                       caption="Save signal"):
    global RECENT_PATH
    if caption == "Save signal":
        name_filter = "Complex (*.complex);;" \
                      "Complex16 unsigned (*.complex16u *.cu8);;" \
                      "Complex16 signed (*.complex16s *.cs8);;" \
                      "Complex compressed (*.coco);;" \
                      "WAV (*.wav);;" \
                      "All Files (*)"
        if wav_only:
            name_filter = "WAV Files (*.wav);;All Files (*)"
    elif caption == "Save fuzz profile":
        name_filter = "Fuzzing Profile (*.fuzz.xml *.fuzz);;All Files (*)"
    elif caption == "Save encoding":
        name_filter = ""
    elif caption == "Save simulator profile":
        name_filter = "Simulator (*.sim.xml *.sim);;All Files (*)"
    elif caption == "Export spectrogram":
        name_filter = "Frequency Time (*.ft);;Frequency Time Amplitude (*.fta)"
    else:
        name_filter = "Protocols (*.proto.xml *.proto);;Binary Protocol (*.bin);;All Files (*)"

    filename = None
    dialog = QFileDialog()
    dialog.setFileMode(QFileDialog.AnyFile)
    dialog.setNameFilter(name_filter)
    dialog.setViewMode(QFileDialog.Detail)
    dialog.setDirectory(RECENT_PATH)
    dialog.setLabelText(QFileDialog.Accept, "Save")
    dialog.setWindowTitle(caption)
    dialog.setAcceptMode(QFileDialog.AcceptSave)
    dialog.selectFile(initial_name)

    if dialog.exec():
        filename = dialog.selectedFiles()[0]

    if filename:
        RECENT_PATH = os.path.split(filename)[0]

    return filename
Exemple #34
0
def ask_save_file_name(initial_name: str,
                       caption="Save signal",
                       selected_name_filter=None):
    global RECENT_PATH
    if caption == "Save signal":
        name_filter = __get__name_filter_for_signals()
    elif caption == "Save fuzzing profile":
        name_filter = FUZZING_FILE_FILTER
    elif caption == "Save encoding":
        name_filter = ""
    elif caption == "Save simulator profile":
        name_filter = SIMULATOR_FILE_FILTER
    elif caption == "Export spectrogram":
        name_filter = "Frequency Time (*.ft);;Frequency Time Amplitude (*.fta)"
    elif caption == "Save protocol":
        name_filter = ";;".join(
            [PROTOCOL_FILE_FILTER, BINARY_PROTOCOL_FILE_FILTER])
    elif caption == "Export demodulated":
        name_filter = WAV_FILE_FILTER
    else:
        name_filter = EVERYTHING_FILE_FILTER

    filename = None
    dialog = QFileDialog(directory=RECENT_PATH,
                         caption=caption,
                         filter=name_filter)
    dialog.setFileMode(QFileDialog.AnyFile)
    dialog.setLabelText(QFileDialog.Accept, "Save")
    dialog.setAcceptMode(QFileDialog.AcceptSave)

    if selected_name_filter is not None:
        dialog.selectNameFilter(selected_name_filter)

    dialog.selectFile(initial_name)

    if dialog.exec():
        filename = dialog.selectedFiles()[0]

    if filename:
        RECENT_PATH = os.path.split(filename)[0]

    return filename
Exemple #35
0
    def tools_makeanimation(self):
        print("make_animation")
        if not hasattr(self, 'inputfilename'):
            QMessageBox.critical(self, "Error", "Load an image first!",
                                 QMessageBox.Ok)
            return

        numframes, result = QInputDialog.getInt(self,
                                                "Make animation",
                                                "Number of frames:",
                                                15,
                                                min=2,
                                                max=1000)
        if result is not True:
            return

        dlg = QFileDialog(self, "Select output directory for frames:")
        dlg.setFileMode(QFileDialog.Directory)
        if not dlg.exec(): return

        outdir = dlg.selectedFiles()[0]
        print("Outdir", outdir)

        def tryload(data):
            pm = QPixmap()
            success = pm.loadFromData(data)
            if success: return pm
            return None

        for i in range(numframes):
            framename = os.path.join(outdir, "frame_%04d.png" % (i, ))

            pm = None
            while True:
                pm = tryload(
                    glitch_file(self.inputfilename,
                                self.sliderNumGlitch.value()))
                if pm is None: continue
                else: break

            pm.save(framename, "png")
            QApplication.processEvents()
Exemple #36
0
 def save_nn(self):
     """Сохранить нейросеть в файл"""
     file_dialogue = QFileDialog()
     file_dialogue.setFileMode(QFileDialog.AnyFile)
     file_dialogue.setAcceptMode(QFileDialog.AcceptSave)
     if self.actor_critic_rb.isChecked(
     ) or self.actor_critic_DDPG_rb.isChecked():
         name_filters = ["TensorFlow session (*.*)"]
     else:
         name_filters = [
             "Hierarchical data format (*.hdf)", "All files (*.*)"
         ]
     file_dialogue.setNameFilters(name_filters)
     if file_dialogue.exec():
         filename = file_dialogue.selectedFiles()[0]
         try:
             self.sim.save_nn(filename)
         except PermissionError as e:
             QMessageBox.warning(self, "Error", str(e))
     file_dialogue.deleteLater()
Exemple #37
0
 def load_nn(self):
     """Загрузить нейросеть из файла"""
     file_dialogue = QFileDialog()
     file_dialogue.setFileMode(QFileDialog.ExistingFile)
     file_dialogue.setAcceptMode(QFileDialog.AcceptOpen)
     if self.actor_critic_rb.isChecked(
     ) or self.actor_critic_DDPG_rb.isChecked():
         name_filters = ["TensorFlow session (*.meta)"]
     else:
         name_filters = [
             "Hierarchical data format (*.hdf)", "All files (*.*)"
         ]
     file_dialogue.setNameFilters(name_filters)
     if file_dialogue.exec():
         filename = file_dialogue.selectedFiles()[0]
         try:
             self.sim.load_nn(filename)
         except OSError or FileNotFoundError or FileNotFoundError as e:
             QMessageBox.warning(self, "Error", str(e))
     file_dialogue.deleteLater()
Exemple #38
0
    def seek(self):
        fileName = ""
        dialog = QFileDialog()
        dialog.setFileMode(QFileDialog.AnyFile)
        dialog.setNameFilter("Images (*.png *.gif *.jpg);;All (*)")
        dialog.setWindowTitle("Load Image")
        dialog.setOption(QFileDialog.DontUseNativeDialog, True)
        dialog.setAcceptMode(QFileDialog.AcceptOpen)
        if dialog.exec():
            fileName = dialog.selectedFiles()[0]
        del dialog
        if not fileName:
            return

        # copy file to database dir
        name = os.path.join(str(self.win.client.doc_id) + ".png")
        path = os.path.join(self.win.database, "images", name)
        shutil.copy(fileName, path)
        self.image.setImage(QImage(path))
        self.clientChanged()
Exemple #39
0
    def addFolderTriggered(self):
        no_native = not self.app.prefs.use_native_dialogs
        title = tr("Select a folder to add to the scanning list")
        file_dialog = QFileDialog(self, title, self.lastAddedFolder)
        file_dialog.setFileMode(QFileDialog.DirectoryOnly)
        file_dialog.setOption(QFileDialog.DontUseNativeDialog, no_native)
        if no_native:
            file_view = file_dialog.findChild(QListView, "listView")
            if file_view:
                file_view.setSelectionMode(QAbstractItemView.MultiSelection)
            f_tree_view = file_dialog.findChild(QTreeView)
            if f_tree_view:
                f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)
        if not file_dialog.exec():
            return

        paths = file_dialog.selectedFiles()
        self.lastAddedFolder = paths[-1]
        [self.app.model.add_directory(path) for path in paths]
        [self.recentFolders.insertItem(path) for path in paths]
Exemple #40
0
    def genCSV(self):
        fs = QFileDialog()
        fs.setWindowTitle("-- Tableur de suivi --")
        fs.setFileMode(QFileDialog.FileMode.ExistingFile)
        fs.setDirectory(
            os.path.dirname(
                os.path.dirname(QgsProject.instance().absolutePath())))
        fs.setNameFilter("SCalc (*.ods);; Excel(*.xls);; All Files (*.*)")
        fs.selectNameFilter("*.ods")
        ret = fs.exec()
        if (ret == QFileDialog.DialogCode.Accepted):
            print(fs.selectedFiles()[0])
            self.message("Lecture tableur ...")
            QGuiApplication.setOverrideCursor(Qt.WaitCursor)

            c = pe.get_book(file_name=fs.selectedFiles()[0])
            s = c.sheet_by_name(self.dlg.defNomOngletMailing.displayText())
            s.save_as(os.path.splitext(fs.selectedFiles()[0])[0] + ".csv")
            self.message("CSV sauve ...")
            QGuiApplication.restoreOverrideCursor()
Exemple #41
0
def _get_files() -> list:
    # setup settings
    dialog = QFileDialog(parent=parent,
                         caption=lang['ADD_NEW']['caption'],
                         filter=lang['ADD_NEW']['filter'],
                         directory=sys.path[0])
    dialog.setAcceptMode(QFileDialog.AcceptOpen)
    dialog.setFileMode(QFileDialog.ExistingFiles)
    dialog.setWindowIcon(QIcon(ZIP))
    # setup labels
    dialog.setLabelText(QFileDialog.FileName, lang['ADD_NEW']['names'])
    dialog.setLabelText(QFileDialog.FileType, lang['ADD_NEW']['types'])
    dialog.setLabelText(QFileDialog.Accept, lang['ADD_NEW']['open'])
    dialog.setLabelText(QFileDialog.Reject, lang['ADD_NEW']['cancel'])
    # show
    dialog.show()
    if dialog.exec() == QFileDialog.Accepted:
        return dialog.selectedFiles()
    else:
        return []
Exemple #42
0
    def on_browseFolders_clicked(self, widget):
        index = self.usbDevicesChooser.currentIndex()
        file_dialog = QFileDialog()
        file_dialog.setFileMode(QFileDialog.DirectoryOnly)
        file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
        file_view = file_dialog.findChild(QListView, 'listView')

        if file_view:
            file_view.setSelectionMode(QAbstractItemView.MultiSelection)

        ftree_view = file_dialog.findChild(QTreeView)

        if ftree_view:
            ftree_view.setSelectionMode(QAbstractItemView.MultiSelection)

        file_dialog.setDirectory(self.usbDevices[index].getPath())

        if file_dialog.exec():
            paths = file_dialog.selectedFiles()

        self.pathToFolders.setText(";".join(paths))
Exemple #43
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()
Exemple #44
0
    def file_save_as(self):
        """
        Saves to some INI file.
        """
        file_dialog = QFileDialog(self)
        file_dialog.setFileMode(QFileDialog.AnyFile)
        file_dialog.setWindowTitle("Save As …")
        file_dialog.setNameFilter("MagnetiCalc INI File (*.ini)")
        file_dialog.setOptions(QFileDialog.DontUseNativeDialog)
        if file_dialog.exec():
            filenames = file_dialog.selectedFiles()
            if filenames:
                filename = filenames[0]

                _file_name, file_extension = os.path.splitext(filename)

                if file_extension.lower() != ".ini":
                    filename += ".ini"

                self.config.set_filename(filename)
                self.config.save()
Exemple #45
0
 def open(self):
     """Opens an image file and shows it as a new tab
     in the central QTabsWidget
     """
     fd = QFileDialog(self)
     fd.setNameFilter("Tiff Images (*.tiff *.tif *.png)")
     fd.setFileMode(fd.ExistingFile)
     if self.settings is not None:
         last_dir = self.settings.get("last_dir", None)
         if last_dir is not None:
             fd.setDirectory(last_dir)
     else:
         self.settings = {}
     if fd.exec():
         f = fd.selectedFiles()[0]
         self.settings['last_dir'] = os.path.dirname(f)
         self.save_preferences()
     itab = ImageTab(self)
     itab.message.connect(self.message)
     self.tabsWidget.addTab(itab, os.path.basename(f))
     self.tabsWidget.setCurrentIndex(self.tabsWidget.indexOf(itab))
     itab.open(f)
Exemple #46
0
def get_files_(dlgtype='native', path=''):
    if path is None:
        path = ''
    # print(f'get_files processed in {int(QThread.currentThreadId())}')
    dialog = QFileDialog(None)
    dialog.setFileMode(QFileDialog.ExistingFiles)
    dialog.setViewMode(QFileDialog.Detail)
    if dlgtype == 'qt':  # default to native unless qt is explicitly requested
        dialog.setOption(QFileDialog.DontUseNativeDialog, True)
    dialog.setNameFilters(['Aperio SVS or CSV (*.svs *.csv)'])
    if len(path) > 0 and QDir(path).exists():
        dialog.setDirectory(path)

    files = []
    absolutepath = False
    if dialog.exec() == QFileDialog.Accepted:
        dlg_out = dialog.selectedFiles()
        files = dlg_out
        absolutepath = dialog.directory().absolutePath()

    output = {'files': files, 'absolutePath': absolutepath}
    return output
Exemple #47
0
    def toggle_file_opening(self):
        def smart_sort(item):
            """Allow sorting of integer named files like 1.jpg, 10.jpg etc
            """
            try:
                return int(''.join(os.path.basename(item).split('.')[0:-1]))
            except (TypeError, ValueError, AttributeError):
                return item

        w = QFileDialog(self)
        w.setNameFilters(('*.cbz', '*.zip'))
        w.setWindowTitle('Please select files to open')
        w.setModal(True)
        w.setFileMode(QFileDialog.ExistingFiles)
        if w.exec():
            files = w.selectedFiles()
            if files:
                self.files_list = sorted(files, key=smart_sort)
                self.open_index(0)
                self.resize(self.maxw + 20, self.height())
                return True
        return False
Exemple #48
0
def loadImage():
    # file picker
    f_diag = QFileDialog()
    f_diag.labelText = "Open image"

    # lets pick supported file types
    mimeTypes = QImageReader.supportedMimeTypes()
    for x in range(len(mimeTypes)):
        mimeTypes[x] = str(mimeTypes[x], 'utf-8')

    f_diag.setMimeTypeFilters(mimeTypes)

    f_diag.setFileMode(QFileDialog.ExistingFile)

    # checks wherever anything was picked
    if f_diag.exec():
        res = loadImageFile(f_diag.selectedFiles()[0])
        if res:
            sb_txt.setText("current image: " +
                           QFileInfo(f_diag.selectedFiles()[0]).fileName())
            imageLabel.setPixmap(QPixmap.fromImage(res))
            imageLabel.resize(res.width(), res.height())
Exemple #49
0
    def browse_for_file(self):
        """Opens a file browser dialog for selecting a file."""
        dialog = QFileDialog()
        dialog.setFileMode(QFileDialog.AnyFile)

        folder = self.settings.get_last_opened_directory()
        if not folder:
            folder = join(os.getcwd(), "res", "data")

        dialog.setDirectory(folder)

        if dialog.exec():
            filepath = dialog.selectedFiles()[0]

            directory, filename = os.path.split(filepath)
            self.settings.set_last_opened_directory(directory)

            self.set_file(filepath)
            self.lbl_drag_drop.show_selected_file(self.file)

            if self.file:
                self.disable_recent_files()
Exemple #50
0
    def setOutputDirectory(self):
        dialog = QFileDialog(self, "Select destination folder for output images.")
        dialog.setFileMode(QFileDialog.Directory)
        dialog.setDirectory(self.outputDir)
        dialog.setOption(QFileDialog.ShowDirsOnly, True)
        # [KLUDGE] alert:  This one can't use the system dialog on Mac OS because for
        # some reason the "New Folder" button will crash the app.  So on Mac, use the
        # non-native dialog instead for now.
        # Re-visit this in the future to try to remove it...
        if self.platform == "darwin":
            dialog.setOption(QFileDialog.DontUseNativeDialog, True)

        if dialog.exec():
            dirname = win_safe_path(dialog.selectedFiles()[0])
            self.config["output_path"] = dirname
            self.outputDir = dirname
            saveConfigToFile(self.config)
            self.setStatusBar(
                "Output Folder: {}".format(abbreviate_path(self.outputDir))
            )
        else:
            print("Set output folder failed.")
Exemple #51
0
 def load_project(self, fname=None):
     if type(fname) is not str:
         dialog = QFileDialog()
         dialog.setWindowTitle('Load Project ...')
         dialog.setFileMode(QFileDialog.AnyFile)
         dialog.setOption(QFileDialog.DontUseNativeDialog, True)
         dialog.setAcceptMode(QFileDialog.AcceptOpen)
         dialog.setNameFilter('*.pyecog')
         if dialog.exec():
             fname = dialog.selectedFiles()[0]
     if type(fname) is str:
         print(fname)
         self.main_model.project.load_from_json(fname)
         self.tree_element.set_rootnode_from_project(
             self.main_model.project)
         init_time = min(
             self.main_model.project.current_animal.eeg_init_time)
         plot_range = np.array([init_time, init_time + 3600])
         print('trying to plot ', plot_range)
         self.paired_graphics_view.set_scenes_plot_channel_data(plot_range)
         self.main_model.set_time_position(init_time)
         self.main_model.set_window_pos([init_time, init_time])
Exemple #52
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()
Exemple #53
0
class MenuUI(QMenuBar):
    addDirectory = pyqtSignal(list)
    
    def __init__(self, parent):
        super().__init__()
        self.parent = parent
        self.file_menu = QMenu("&File")
        self.edit_menu = QMenu()
        self.help_menu = QMenu()
        self._init_menus()

    def _init_menus(self):
        self._file_menu()

    def _file_menu(self):
        self.add_library = QAction("&Add Library...", self)
        self.exit_player = QAction("E&xit", self)
        self.file_menu.addAction(self.add_library)
        self.file_menu.addAction(self.exit_player)
        self._connect_widgets()
        self.addMenu(self.file_menu)

    def _connect_widgets(self):
        self.add_library.triggered.connect(self._add_library)
        self.exit_player.triggered.connect(self.parent.close)

    def _add_library(self):
        self.dialog = QFileDialog()
        self.dialog.setFileMode(QFileDialog.DirectoryOnly)
        self.dialog.setOption(QFileDialog.DontUseNativeDialog, True)

        for view in self.dialog.findChildren((QListView, QTreeView)):
            if isinstance(view.model(), QFileSystemModel):
                view.setSelectionMode(QAbstractItemView.MultiSelection)

        if self.dialog.exec():
            dirs = self.dialog.selectedFiles()
            self.addDirectory.emit(dirs)
Exemple #54
0
 def showDialog(self):  # returns path to the single file selected in dialog
     try:
         fileDialog = QFileDialog(self)
         fileDialog.setNameFilter("*.edf")
         fileDialog.setDirectory("\home")
         if fileDialog.exec(
         ):  # alternative is QWidget::show(), which doesn't block app flow (user can interact with fileName parent)
             file_path = fileDialog.selectedFiles(
             )  # right now only one file can be selected
             print(file_path)
             #return(file_path)
             #header, signal = read_edf(file_path[0])
             global data  # i cant reference to connect(slot) when assigning variable.. temporary workaround now
             data = ImportedData(file_path[0]).data
             #^ this should at some point look like this: data = ImportedData(file_path) and data should be referenced with the object methods get_data() and get_info(), temporary workaround for now
             self.viewPlotMethod(data)
             #self.data_loaded.emit()
         #np.set_printoptions(threshold=np.nan)
         #for keys,values in data.items():
         #    if keys == "EEG A1" or keys == "EEG A2":
         #        self.viewPlotMethod(values[1])
     except:
         traceback.print_exc()
Exemple #55
0
    def ab_clicked(self):
        file_dialog = QFileDialog()
        file_dialog.setFileMode(QFileDialog.DirectoryOnly)
        file_dialog.setDirectory(self.mainwindow.options.get_default_last_folder_opened())
        file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
        file_view = file_dialog.findChild(QListView, 'listView')

        # to make it possible to select multiple directories:
        if file_view:
            file_view.setSelectionMode(QAbstractItemView.MultiSelection)
        f_tree_view = file_dialog.findChild(QTreeView)
        if f_tree_view:
            f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)

        if file_dialog.exec():
            folders = file_dialog.selectedFiles()

            if len(folders) != 0:
                for folder in folders:
                    parent_folder = os.path.dirname(r"{}".format(folder))
                    self.mainwindow.options.save_user_defaults(music_folder=folder, last_folder_opened=parent_folder)
                    self.folder_list.addItem(folder)
                    self.folder_list.sortItems()
Exemple #56
0
    def open_folder(self):
        """ Open a folder with the user's project files. """
        dialog = QFileDialog(
            self.parent, 'Select your project folder',
            user_settings().get(Key.last_folder_opened,
                                Default.last_folder_opened),
            "Assembly (*.asm);;All files (*)")
        dialog.setFileMode(QFileDialog.DirectoryOnly)

        if dialog.exec() == QDialog.Accepted:
            # Check a directory really was chosen as this is reliant on the system dialog
            if not dialog.selectedFiles():
                QErrorMessage().showMessage(
                    "Please select only a folder to open.")
                return

            chosen_directory = dialog.selectedFiles()[0]
            if not os.path.isdir(chosen_directory):
                QErrorMessage().showMessage(
                    "Please select only a folder to open.")
                return

            signals().folder_opened_signal.emit(chosen_directory)
Exemple #57
0
def get_save_file_name(initial_name: str, wav_only=False, caption="Save signal"):
    global RECENT_PATH
    if caption == "Save signal":
        name_filter = "Complex (*.complex);;" \
                      "Complex16 unsigned (*.complex16u *.cu8);;" \
                      "Complex16 signed (*.complex16s *.cs8);;" \
                      "Complex compressed (*.coco);;" \
                      "WAV (*.wav);;" \
                      "All Files (*)"
        if wav_only:
            name_filter = "WAV Files (*.wav);;All Files (*)"
    elif caption == "Save fuzz profile":
        name_filter = "Fuzzing Profile (*.fuzz.xml *.fuzz);;All Files (*)"
    elif caption == "Save encoding":
        name_filter = ""
    elif caption == "Save simulator profile":
        name_filter = "Simulator (*.sim.xml *.sim);;All Files (*)"
    elif caption == "Export spectrogram":
        name_filter = "Frequency Time (*.ft);;Frequency Time Amplitude (*.fta)"
    else:
        name_filter = "Protocols (*.proto.xml *.proto);;Binary Protocol (*.bin);;All Files (*)"

    filename = None
    dialog = QFileDialog(directory=RECENT_PATH, caption=caption, filter=name_filter)
    dialog.setFileMode(QFileDialog.AnyFile)
    dialog.setViewMode(QFileDialog.Detail)
    dialog.setLabelText(QFileDialog.Accept, "Save")
    dialog.setAcceptMode(QFileDialog.AcceptSave)
    dialog.selectFile(initial_name)

    if dialog.exec():
        filename = dialog.selectedFiles()[0]

    if filename:
        RECENT_PATH = os.path.split(filename)[0]

    return filename
Exemple #58
0
    def saveRotatedFits(self, name_orig):
        """ Save the downloaded FITS image """

        filename, file_extension = os.path.splitext(name_orig)
        #fileroot = os.path.basename(filename)
        #print('file root is ', fileroot)

        print('Saving ', filename + '_NE.fits')

        # Dialog to save file
        fd = QFileDialog()
        fd.setLabelText(QFileDialog.Accept, "Save as")
        fd.setNameFilters(["Fits Files (*.fits)", "All Files (*)"])
        fd.setOptions(QFileDialog.DontUseNativeDialog)
        fd.setViewMode(QFileDialog.List)
        fd.selectFile(filename + '_NE.fits')

        if (fd.exec()):
            fileName = fd.selectedFiles()
            outfile = fileName[0]

            # Check the
            filename, file_extension = os.path.splitext(outfile)
            # basename = os.path.basename(filename)

            # Primary header
            image = self.data
            wcs = self.wcs
            header = wcs.to_header()
            header.remove('WCSAXES')
            header['INSTRUME'] = (self.source, 'Instrument')
            hdu = fits.PrimaryHDU(image)
            hdu.header.extend(header)
            hdul = fits.HDUList([hdu])
            hdul.writeto(outfile,
                         overwrite=True)  # clobber true  allows rewriting
            hdul.close()