mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-05 08:40:13 -04:00
Add env var to not use native file dialogs
This commit is contained in:
parent
ae461c5370
commit
3ff4708ee9
@ -30,6 +30,7 @@ Environment variables
|
||||
* ``CALIBRE_OVERRIDE_DATABASE_PATH`` - allows you to specify the full path to metadata.db. Using this variable you can have metadata.db be in a location other than the library folder. Useful if your library folder is on a networked drive that does not support file locking.
|
||||
* ``CALIBRE_DEVELOP_FROM`` - Used to run from a calibre development environment. See :ref:`develop`.
|
||||
* ``CALIBRE_OVERRIDE_LANG`` - Used to force the language used by the interface (ISO 639 language code)
|
||||
* ``CALIBRE_NO_NATIVE_FILEDIALOGS`` - Causes calibre to not use native file dialogs for selecting files/directories.
|
||||
* ``SYSFS_PATH`` - Use if sysfs is mounted somewhere other than /sys
|
||||
* ``http_proxy`` - Used on linux to specify an HTTP proxy
|
||||
|
||||
|
@ -573,17 +573,24 @@ class FileDialog(QObject):
|
||||
if not isinstance(initial_dir, basestring):
|
||||
initial_dir = os.path.expanduser(default_dir)
|
||||
self.selected_files = []
|
||||
use_native_dialog = not os.environ.has_key('CALIBRE_NO_NATIVE_FILEDIALOGS')
|
||||
with SanitizeLibraryPath():
|
||||
opts = QFileDialog.Option()
|
||||
if not use_native_dialog:
|
||||
opts |= QFileDialog.DontUseNativeDialog
|
||||
if mode == QFileDialog.AnyFile:
|
||||
f = unicode(QFileDialog.getSaveFileName(parent, title, initial_dir, ftext, ""))
|
||||
f = unicode(QFileDialog.getSaveFileName(parent, title,
|
||||
initial_dir, ftext, "", opts))
|
||||
if f:
|
||||
self.selected_files.append(f)
|
||||
elif mode == QFileDialog.ExistingFile:
|
||||
f = unicode(QFileDialog.getOpenFileName(parent, title, initial_dir, ftext, ""))
|
||||
f = unicode(QFileDialog.getOpenFileName(parent, title,
|
||||
initial_dir, ftext, "", opts))
|
||||
if f and os.path.exists(f):
|
||||
self.selected_files.append(f)
|
||||
elif mode == QFileDialog.ExistingFiles:
|
||||
fs = QFileDialog.getOpenFileNames(parent, title, initial_dir, ftext, "")
|
||||
fs = QFileDialog.getOpenFileNames(parent, title, initial_dir,
|
||||
ftext, "", opts)
|
||||
for f in fs:
|
||||
f = unicode(f)
|
||||
if not f: continue
|
||||
@ -594,7 +601,8 @@ class FileDialog(QObject):
|
||||
if f and os.path.exists(f):
|
||||
self.selected_files.append(f)
|
||||
else:
|
||||
opts = QFileDialog.ShowDirsOnly if mode == QFileDialog.Directory else QFileDialog.Option()
|
||||
if mode == QFileDialog.Directory:
|
||||
opts |= QFileDialog.ShowDirsOnly
|
||||
f = unicode(QFileDialog.getExistingDirectory(parent, title, initial_dir, opts))
|
||||
if os.path.exists(f):
|
||||
self.selected_files.append(f)
|
||||
|
Loading…
x
Reference in New Issue
Block a user