2 * \file qt2/FileDialog.C
3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
8 * Full author contact details are available in file CREDITS
12 #pragma implementation
17 #include "commandtags.h"
19 #include "frontends/FileDialog.h"
20 #include "FileDialog_private.h"
22 #include "qt_helpers.h"
24 #include <qapplication.h>
33 struct FileDialog::Private {
39 FileDialog::FileDialog(LyXView * lv, string const & t,
40 kb_action s, Button b1, Button b2)
41 : private_(new FileDialog::Private), lv_(lv), title_(t), success_(s)
48 FileDialog::~FileDialog()
54 FileDialog::Result const FileDialog::save(string const & path,
56 string const & suggested)
60 filter = qt_("All files (*)");
62 LyXFileDialog dlg(path, filter, title_, private_->b1, private_->b2);
63 lyxerr[Debug::GUI] << "Select with path \"" << path
64 << "\", mask \"" << filter
65 << "\", suggested \"" << suggested << endl;
67 dlg.setMode(QFileDialog::AnyFile);
69 if (!suggested.empty())
70 dlg.setSelection(toqstr(suggested));
72 FileDialog::Result result;
73 lyxerr[Debug::GUI] << "Synchronous FileDialog : " << endl;
74 result.first = FileDialog::Chosen;
76 lyxerr[Debug::GUI] << "result " << res << endl;
77 if (res == QDialog::Accepted)
78 result.second = string(dlg.selectedFile().data());
84 FileDialog::Result const FileDialog::open(string const & path,
86 string const & suggested)
90 filter = qt_("*|All files");
92 LyXFileDialog dlg(path, filter, title_, private_->b1, private_->b2);
93 lyxerr[Debug::GUI] << "Select with path \"" << path
94 << "\", mask \"" << filter
95 << "\", suggested \"" << suggested << endl;
97 if (!suggested.empty())
98 dlg.setSelection(toqstr(suggested));
100 FileDialog::Result result;
101 lyxerr[Debug::GUI] << "Synchronous FileDialog : " << endl;
102 result.first = FileDialog::Chosen;
103 int res = dlg.exec();
104 lyxerr[Debug::GUI] << "result " << res << endl;
105 if (res == QDialog::Accepted)
106 result.second = string(dlg.selectedFile().data());