]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/FileDialog.h
Use <cstdint> instead of <boost/cstdint.hpp>
[lyx.git] / src / frontends / qt4 / FileDialog.h
index 9dbd54e578d02de50fd30ec1b94c42db41b1c51b..fe75b5bf1e97403be8e6f9b84646622cce2b1f88 100644 (file)
 #ifndef FILEDIALOG_H
 #define FILEDIALOG_H
 
-#include "FuncCode.h"
-
 #include <QString>
 
 #include <utility>
 
 namespace lyx {
 
-namespace support { class FileFilterList; }
-
-
 /**
  * \class FileDialog
  * \brief GUI-I definition of file dialog interface
  */
 class FileDialog
 {
+       /// noncopyable
+       FileDialog(FileDialog const &);
+       void operator=(FileDialog const &);
 public:
        /// label, directory path button
        typedef std::pair<QString, QString> Button;
@@ -45,16 +43,12 @@ public:
 
        /**
         * Constructs a file dialog with title \param title.
-        * If \param a is \const LFUN_SELECT_FILE_SYNC then a value
-        * will be returned immediately upon performing a open(),
-        * otherwise a callback Dispatch() will be invoked with the filename as
-        * argument, of action \param a.
         *
         * Up to two optional extra buttons are allowed for specifying
         * additional directories in the navigation (an empty
         * directory is interpreted as FileName::getcwd())
         */
-       FileDialog(QString const & title, FuncCode a = LFUN_SELECT_FILE_SYNC);
+       FileDialog(QString const & title);
 
        ~FileDialog();
 
@@ -62,8 +56,7 @@ public:
        void setButton2(QString const & label, QString const & dir);
 
        /// Choose a file for opening, starting in directory \c path.
-       Result open(QString const & path,
-                         support::FileFilterList const & filters,
+       Result open(QString const & path, QStringList const & filters,
                          QString const & suggested = QString());
 
        /// Choose a directory, starting in directory \c path.
@@ -71,10 +64,14 @@ public:
                             QString const & suggested = QString());
 
        /// Choose a file for saving, starting in directory \c  path.
-       Result save(QString const & path,
-                         support::FileFilterList const & filters,
+       Result save(QString const & path, QStringList const & filters,
                          QString const & suggested = QString());
 
+       /// Also retrieve the selected filter (selectedFilter can be 0 if
+       /// that output is not needed).
+       Result save(QString const & path, QStringList const & filters,
+                   QString const & suggested, QString *selectedFilter);
+
 private:
        class Private;
        friend class Private;
@@ -83,8 +80,6 @@ private:
        /// the dialog title
        QString title_;
 
-       /// success action to perform if not synchronous
-       FuncCode success_;
 };
 
 } // namespace lyx