def get_save_filename(self, parent, filter_, default_name=None): dialog = QFileDialog(parent, directory=self._get_default_directory(), filter=filter_) if default_name: dialog.selectFile(default_name) dialog.setModal(True) dialog.setAcceptMode(QFileDialog.AcceptSave) if dialog.exec_() != QFileDialog.Accepted or not dialog.selectedFiles(): return None return dialog.selectedFiles()[0]
def get_filename_for_save(self): # pragma: no cover filedialog = QFileDialog(self) filedialog.setOption(QFileDialog.DontUseNativeDialog) filedialog.setAcceptMode(QFileDialog.AcceptSave) filedialog.setDirectory( self._parent.cfg.get("TextEditor/LastPath", ".", system=True)) if filedialog.exec_(): self._file_path = filedialog.selectedFiles()[0] self._parent.cfg["SYSTEM", "TextEditor/LastPath"] = (os.path.dirname( self._file_path)) return True return False
def file_dialog(self, load_save_type=QFileDialog.AcceptSave): """Opens an file save dialog and returns the selected filename.""" file_save_dialog = QFileDialog(self) file_save_dialog.setFileMode(QFileDialog.AnyFile) file_save_dialog.setAcceptMode(load_save_type) file_save_dialog.setNameFilters( ["MPDJ files (*.{})".format(FILE_SUFFIX)]) file_save_dialog.selectNameFilter( "MPDJ files (*.{})".format(FILE_SUFFIX)) file_save_dialog.setDefaultSuffix((FILE_SUFFIX)) exec_value = file_save_dialog.exec() if exec_value == 0: return None file_names = file_save_dialog.selectedFiles() if len(file_names) != 1: message_box = QMessageBox() message_box.setText('Please select only one file!') message_box.setWindowTitle('Save error.') message_box.setStandardButtons(QMessageBox.Ok) message_box.setIcon(QMessageBox.Information) message_box.exec_() return None return file_names[0]