diff options
Diffstat (limited to 'external/plyer/facades/filechooser.py')
-rw-r--r-- | external/plyer/facades/filechooser.py | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/external/plyer/facades/filechooser.py b/external/plyer/facades/filechooser.py new file mode 100644 index 0000000..040e9bb --- /dev/null +++ b/external/plyer/facades/filechooser.py @@ -0,0 +1,53 @@ +class FileChooser(object): + '''Native filechooser dialog facade. + + open_file, save_file and choose_dir accept a number of arguments + listed below. They return either a list of paths (normally + absolute), or None if no file was selected or the operation was + canceled and no result is available. + + Arguments: + * **path** *(string or None)*: a path that will be selected + by default, or None + * **multiple** *(bool)*: True if you want the dialog to + allow multiple file selection. (Note: Windows doesn't + support multiple directory selection) + * **filters** *(iterable)*: either a list of wildcard patterns + or of sequences that contain the name of the filter and any + number of wildcards that will be grouped under that name + (e.g. [["Music", "*mp3", "*ogg", "*aac"], "*jpg", "*py"]) + * **preview** *(bool)*: True if you want the file chooser to + show a preview of the selected file, if supported by the + back-end. + * **title** *(string or None)*: The title of the file chooser + window, or None for the default title. + * **icon** *(string or None)*: Path to the icon of the file + chooser window (where supported), or None for the back-end's + default. + * **show_hidden** *(bool)*: Force showing hidden files (currently + supported only on Windows) + + Important: these methods will return only after user interaction. + Use threads or you will stop the mainloop if your app has one. + ''' + + def _file_selection_dialog(self, **kwargs): + raise NotImplementedError() + + def open_file(self, *args, **kwargs): + """Open the file chooser in "open" mode. + """ + return self._file_selection_dialog(mode="open", *args, **kwargs) + + def save_file(self, *args, **kwargs): + """Open the file chooser in "save" mode. Confirmation will be asked + when a file with the same name already exists. + """ + return self._file_selection_dialog(mode="save", *args, **kwargs) + + def choose_dir(self, *args, **kwargs): + """Open the directory chooser. Note that on Windows this is very + limited. Consider writing your own chooser if you target that + platform and are planning on using unsupported features. + """ + return self._file_selection_dialog(mode="dir", *args, **kwargs) |