]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/LyXFileDialog.cpp
QDialogButtonBox for the remaining dialogs.
[lyx.git] / src / frontends / qt4 / LyXFileDialog.cpp
index e0f94e7386c638e4fe4b2a8e66ae0712b6c335d4..adaa1b792ae44b3667693cc1ea359750363773ca 100644 (file)
@@ -14,7 +14,6 @@
 
 #include "qt_helpers.h"
 
-#include "support/FileFilterList.h"
 #include "support/lstrings.h"
 
 #include <QApplication>
@@ -26,37 +25,19 @@ using namespace lyx::support;
 
 namespace lyx {
 
-/// return the Qt form of the label
-static QString getLabel(QString const & qstr)
-{
-       // FIXME UNICODE (or "qt-ify")
-       string str = fromqstr(qstr);
-       string label;
-       string sc = split(str, label, '|');
-       if (sc.length() < 2)
-               return toqstr(label);
-       size_t pos = label.find(sc[1]);
-       if (pos != string::npos)
-               label.insert(pos, 1, '&');
-       return toqstr(label);
-}
-
 
 LyXFileDialog::LyXFileDialog(QString const & title,
                             QString const & path,
-                            support::FileFilterList const & filters,
+                            QStringList const & filters,
                             FileDialog::Button const & b1,
                             FileDialog::Button const & b2)
                                 // FIXME replace that with guiApp->currentView()
-       : QFileDialog(qApp->focusWidget(), title, path, toqstr(filters.as_string()))
+       : QFileDialog(qApp->focusWidget(), title, path)
 {
-       QDir dir(path);
-       // FIXME: workaround for a bug in qt which makes LyX crash
-       // with hidden paths (bug 4513). Recheck with recent Qt versions.
-       if (path.contains("/."))
-               dir.setFilter(QDir::Hidden);
-       setDirectory(dir);
+       setNameFilters(filters);
        setWindowTitle(title);
+       setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
+       setOption(QFileDialog::DontUseNativeDialog);
 
        QList<QHBoxLayout *> layout = findChildren<QHBoxLayout *>();
 
@@ -64,7 +45,7 @@ LyXFileDialog::LyXFileDialog(QString const & title,
                b1_dir_ = b1.second;
                QToolButton * tb = new QToolButton(this);
                connect(tb, SIGNAL(clicked()), this, SLOT(button1Clicked()));
-               tb->setText(getLabel(b1.first));
+               tb->setText(b1.first);
                layout.at(0)->addWidget(tb);
        }
 
@@ -72,7 +53,7 @@ LyXFileDialog::LyXFileDialog(QString const & title,
                b2_dir_ = b2.second;
                QToolButton * tb = new QToolButton(this);
                connect(tb, SIGNAL(clicked()), this, SLOT(button2Clicked()));
-               tb->setText(getLabel(b2.first));
+               tb->setText(b2.first);
                layout.at(0)->addWidget(tb);
        }
 }
@@ -91,4 +72,4 @@ void LyXFileDialog::button2Clicked()
 
 } // namespace lyx
 
-#include "LyXFileDialog_moc.cpp"
+#include "moc_LyXFileDialog.cpp"