#define FILEDIALOG_H
#include "lfuns.h"
+#include "support/docstring.h"
-#include <utility>
#include <string>
namespace lyx {
-namespace support {
-
-class FileFilterList;
-
-} // namespace support
-} // namespace lyx
+namespace support { class FileFilterList; }
/**
{
public:
/// label, directory path button
- typedef std::pair<std::string, std::string> Button;
+ typedef std::pair<docstring, docstring> Button;
/// result type
enum ResultType {
};
/// result return
- typedef std::pair<FileDialog::ResultType, std::string> Result;
+ typedef std::pair<FileDialog::ResultType, docstring> Result;
/**
* Constructs a file dialog with title \param title.
*
* Up to two optional extra buttons are allowed for specifying
* additional directories in the navigation (an empty
- * directory is interpreted as getcwd())
+ * directory is interpreted as FileName::getcwd())
*/
- FileDialog(std::string const & title,
- kb_action a = LFUN_SELECT_FILE_SYNC,
- Button b1 = Button(std::string(), std::string()),
- Button b2 = Button(std::string(), std::string()));
-
+ FileDialog(docstring const & title, kb_action a = LFUN_SELECT_FILE_SYNC);
~FileDialog();
+ void setButton1(docstring const & label, docstring const & dir);
+ void setButton2(docstring const & label, docstring const & dir);
+
/// Choose a file for opening, starting in directory \c path.
- Result const open(std::string const & path,
- lyx::support::FileFilterList const & filters,
- std::string const & suggested);
+ Result const open(docstring const & path,
+ support::FileFilterList const & filters,
+ docstring const & suggested);
/// Choose a directory, starting in directory \c path.
- Result const opendir(std::string const & path = std::string(),
- std::string const & suggested = std::string());
+ Result const opendir(docstring const & path = docstring(),
+ docstring const & suggested = docstring());
/// Choose a file for saving, starting in directory \c path.
- Result const save(std::string const & path,
- lyx::support::FileFilterList const & filters,
- std::string const & suggested);
+ Result const save(docstring const & path,
+ support::FileFilterList const & filters,
+ docstring const & suggested);
private:
class Private;
Private * private_;
/// the dialog title
- std::string title_;
+ docstring title_;
/// success action to perform if not synchronous
kb_action success_;
-
};
+} // namespace lyx
+
#endif // FILEDIALOG_H