mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Allow not saving initial dir in choose_files as well
This commit is contained in:
parent
d5dbb3c63a
commit
cb97b2b1fa
@ -178,14 +178,17 @@ def kdialog_choose_files(
|
|||||||
filters=[],
|
filters=[],
|
||||||
all_files=True,
|
all_files=True,
|
||||||
select_only_single_file=False,
|
select_only_single_file=False,
|
||||||
default_dir='~'):
|
default_dir='~',
|
||||||
initial_dir = get_initial_dir(name, title, default_dir, False)
|
no_save_dir=False,
|
||||||
|
):
|
||||||
|
initial_dir = get_initial_dir(name, title, default_dir, no_save_dir)
|
||||||
args = []
|
args = []
|
||||||
if not select_only_single_file:
|
if not select_only_single_file:
|
||||||
args += '--multiple --separate-output'.split()
|
args += '--multiple --separate-output'.split()
|
||||||
args += ['--getopenfilename', initial_dir, kdialog_filters(filters, all_files)]
|
args += ['--getopenfilename', initial_dir, kdialog_filters(filters, all_files)]
|
||||||
ans = run_kde(kde_cmd(window, title, *args))
|
ans = run_kde(kde_cmd(window, title, *args))
|
||||||
save_initial_dir(name, title, ans[0] if ans else None, False, is_file=True)
|
if not no_save_dir:
|
||||||
|
save_initial_dir(name, title, ans[0] if ans else None, False, is_file=True)
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
@ -258,14 +261,17 @@ def zenity_choose_files(
|
|||||||
filters=[],
|
filters=[],
|
||||||
all_files=True,
|
all_files=True,
|
||||||
select_only_single_file=False,
|
select_only_single_file=False,
|
||||||
default_dir='~'):
|
default_dir='~',
|
||||||
initial_dir = get_initial_dir(name, title, default_dir, False)
|
no_save_dir=False,
|
||||||
|
):
|
||||||
|
initial_dir = get_initial_dir(name, title, default_dir, no_save_dir)
|
||||||
args = ['--filename=' + os.path.join(initial_dir, '.fgdfg.gdfhjdhf*&^839')]
|
args = ['--filename=' + os.path.join(initial_dir, '.fgdfg.gdfhjdhf*&^839')]
|
||||||
args += zenity_filters(filters, all_files)
|
args += zenity_filters(filters, all_files)
|
||||||
if not select_only_single_file:
|
if not select_only_single_file:
|
||||||
args.append('--multiple')
|
args.append('--multiple')
|
||||||
ans = run_zenity(zenity_cmd(window, title, *args))
|
ans = run_zenity(zenity_cmd(window, title, *args))
|
||||||
save_initial_dir(name, title, ans[0] if ans else None, False, is_file=True)
|
if not no_save_dir:
|
||||||
|
save_initial_dir(name, title, ans[0] if ans else None, False, is_file=True)
|
||||||
return ans
|
return ans
|
||||||
|
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ def choose_dir(window, name, title, default_dir='~', no_save_dir=False):
|
|||||||
|
|
||||||
|
|
||||||
def choose_files(window, name, title,
|
def choose_files(window, name, title,
|
||||||
filters=[], all_files=True, select_only_single_file=False, default_dir='~'):
|
filters=[], all_files=True, select_only_single_file=False, default_dir='~', no_save_dir=False):
|
||||||
'''
|
'''
|
||||||
Ask user to choose a bunch of files.
|
Ask user to choose a bunch of files.
|
||||||
:param name: Unique dialog name used to store the opened directory
|
:param name: Unique dialog name used to store the opened directory
|
||||||
@ -207,7 +207,7 @@ def choose_files(window, name, title,
|
|||||||
'''
|
'''
|
||||||
mode = QFileDialog.FileMode.ExistingFile if select_only_single_file else QFileDialog.FileMode.ExistingFiles
|
mode = QFileDialog.FileMode.ExistingFile if select_only_single_file else QFileDialog.FileMode.ExistingFiles
|
||||||
fd = FileDialog(title=title, name=name, filters=filters, default_dir=default_dir,
|
fd = FileDialog(title=title, name=name, filters=filters, default_dir=default_dir,
|
||||||
parent=window, add_all_files_filter=all_files, mode=mode,
|
parent=window, add_all_files_filter=all_files, mode=mode, no_save_dir=no_save_dir,
|
||||||
)
|
)
|
||||||
fd.setParent(None)
|
fd.setParent(None)
|
||||||
if fd.accepted:
|
if fd.accepted:
|
||||||
|
@ -260,13 +260,13 @@ def choose_dir(window, name, title, default_dir='~', no_save_dir=False):
|
|||||||
|
|
||||||
|
|
||||||
def choose_files(window, name, title,
|
def choose_files(window, name, title,
|
||||||
filters=(), all_files=True, select_only_single_file=False, default_dir='~'):
|
filters=(), all_files=True, select_only_single_file=False, default_dir='~', no_save_dir=False):
|
||||||
name, initial_folder = get_initial_folder(name, title, default_dir)
|
name, initial_folder = get_initial_folder(name, title, default_dir, no_save_dir)
|
||||||
file_types = list(filters)
|
file_types = list(filters)
|
||||||
if all_files:
|
if all_files:
|
||||||
file_types.append((_('All files'), ['*']))
|
file_types.append((_('All files'), ['*']))
|
||||||
ans = run_file_dialog(window, title, allow_multiple=not select_only_single_file, initial_folder=initial_folder, file_types=file_types)
|
ans = run_file_dialog(window, title, allow_multiple=not select_only_single_file, initial_folder=initial_folder, file_types=file_types)
|
||||||
if ans:
|
if ans and not no_save_dir:
|
||||||
dynamic.set(name, os.path.dirname(ans[0]))
|
dynamic.set(name, os.path.dirname(ans[0]))
|
||||||
return ans
|
return ans
|
||||||
return None
|
return None
|
||||||
|
Loading…
x
Reference in New Issue
Block a user