X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2FFileDialog.h;h=bd97a66dc4419fbd3ab562ed2d09898515f55494;hb=e54ae72e5fac6f750c3f7972c74bb42b57f3a049;hp=4ee3aa68f0f4a0c4995990a98b2463e1f79d45f3;hpb=0be0fcfd5907d448cd51addf83ed7032719a0692;p=lyx.git diff --git a/src/frontends/FileDialog.h b/src/frontends/FileDialog.h index 4ee3aa68f0..bd97a66dc4 100644 --- a/src/frontends/FileDialog.h +++ b/src/frontends/FileDialog.h @@ -13,12 +13,17 @@ #ifndef FILEDIALOG_H #define FILEDIALOG_H +#include "lfuns.h" +#include "support/docstring.h" #include +#include -#include "lfuns.h" -#include "LString.h" +namespace lyx { + +namespace support { class FileFilterList; } + /** * \class FileDialog @@ -28,7 +33,7 @@ class FileDialog { public: /// label, directory path button - typedef std::pair Button; + typedef std::pair Button; /// result type enum ResultType { @@ -37,7 +42,7 @@ public: }; /// result return - typedef std::pair Result; + typedef std::pair Result; /** * Constructs a file dialog with title \param title. @@ -50,64 +55,40 @@ public: * additional directories in the navigation (an empty * directory is interpreted as getcwd()) */ - FileDialog(string const & title, + FileDialog(docstring const & title, kb_action a = LFUN_SELECT_FILE_SYNC, - Button b1 = Button(string(), string()), - Button b2 = Button(string(), string())); + Button b1 = Button(docstring(), docstring()), + Button b2 = Button(docstring(), docstring())); ~FileDialog(); - /** - * Choose a file for opening, starting in directory \param - * path, with the file selection \param mask. The \param mask - * string is of the form : - * - * | - * - * for example, "*.ps | PostScript files (*.ps)". - * - * FIXME: should support multiple lines of these for different file types. - */ - Result const open(string const & path = string(), - string const & mask = string(), - string const & suggested = string()); + /// Choose a file for opening, starting in directory \c path. + Result const open(docstring const & path, + support::FileFilterList const & filters, + docstring const & suggested); - /** - * Choose a directory, starting in directory \param - * path. - */ - Result const opendir(string const & path = string(), - string const & suggested = string()); - - /** - * Choose a file for saving, starting in directory \param - * path, with the file selection \param mask. The \param mask - * string is of the form : - * - * | - * - * for example, "*.ps | PostScript files (*.ps)". - */ - Result const save(string const & path = string(), - string const & mask = string(), - string const & suggested = string()); + /// Choose a directory, starting in directory \c path. + Result const opendir(docstring const & path = docstring(), + docstring const & suggested = docstring()); + /// Choose a file for saving, starting in directory \c path. + Result const save(docstring const & path, + support::FileFilterList const & filters, + docstring const & suggested); - /* This *has* to be public because there is no way to specify extern "C" functions - * as friends of Private implementation for the xforms implementation ... grr - */ +private: class Private; friend class Private; Private * private_; -private: /// the dialog title - string title_; + docstring title_; /// success action to perform if not synchronous kb_action success_; - }; +} // namespace lyx + #endif // FILEDIALOG_H