Re-implementation of QFileDialog.getSaveFileName that allows to set defaultSuffix
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
from PyQt5.QtWidgets import QFileDialog
|
||||
|
||||
|
||||
DEFAULT_SUFFIX = "h5"
|
||||
|
||||
FILETYPE_FILTERS = [
|
||||
"HDF5 files (*.h5)",
|
||||
"All files (*)"
|
||||
@ -10,7 +12,7 @@ FILETYPE_FILTERS = ";;".join(FILETYPE_FILTERS)
|
||||
|
||||
|
||||
def save_h5_file_dialog(parent):
|
||||
fn, _chosen_filter = QFileDialog.getSaveFileName(parent, filter=FILETYPE_FILTERS)
|
||||
fn, _chosen_filter = getSaveFileName(parent, filter=FILETYPE_FILTERS, defaultSuffix=DEFAULT_SUFFIX)
|
||||
return fn
|
||||
|
||||
|
||||
@ -19,4 +21,50 @@ def open_h5_files_dialog(parent):
|
||||
return fns
|
||||
|
||||
|
||||
def getSaveFileName(
|
||||
parent=None,
|
||||
caption="",
|
||||
dir="",
|
||||
filter="",
|
||||
|
||||
selectedFilter=None,
|
||||
defaultSuffix=None,
|
||||
options=None
|
||||
):
|
||||
"""
|
||||
Re-implementation of QFileDialog.getSaveFileName that allows to set defaultSuffix
|
||||
"""
|
||||
|
||||
dlg = QFileDialog(
|
||||
parent=parent,
|
||||
caption=caption,
|
||||
directory=dir,
|
||||
filter=filter
|
||||
)
|
||||
|
||||
if selectedFilter:
|
||||
dlg.selectNameFilter(selectedFilter)
|
||||
|
||||
if defaultSuffix:
|
||||
dlg.setDefaultSuffix(defaultSuffix)
|
||||
|
||||
if options:
|
||||
dlg.setOptions(options)
|
||||
|
||||
dlg.setAcceptMode(QFileDialog.AcceptSave);
|
||||
dlg.setFileMode(QFileDialog.AnyFile);
|
||||
|
||||
res = dlg.exec()
|
||||
if res == QFileDialog.Rejected:
|
||||
return "", ""
|
||||
|
||||
fns = dlg.selectedFiles()
|
||||
assert len(fns) == 1
|
||||
fn = fns[0]
|
||||
|
||||
selectedFilter = dlg.selectedNameFilter()
|
||||
|
||||
return fn, selectedFilter
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user