]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/FileDialog.h
QDialogButtonBox for the remaining dialogs.
[lyx.git] / src / frontends / qt4 / FileDialog.h
index a20fb40ba8d5b9c627475991ccb186101587ffcf..fe75b5bf1e97403be8e6f9b84646622cce2b1f88 100644 (file)
 #ifndef FILEDIALOG_H
 #define FILEDIALOG_H
 
-#include "lfuns.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, kb_action 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
-       kb_action success_;
 };
 
 } // namespace lyx