From c6a190d48024346f1de0651ab605bb7e9a3d19a7 Mon Sep 17 00:00:00 2001 From: Pavel Sanda Date: Fri, 28 Apr 2023 21:59:37 +0200 Subject: [PATCH] Centralize use of "all files" wildcard in dialogs so it's consistent. --- src/frontends/qt/GuiView.cpp | 4 ++-- src/frontends/qt/qt_helpers.cpp | 18 +++++++++++------- src/frontends/qt/qt_helpers.h | 2 ++ 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp index d7de2a174b..581cd3194f 100644 --- a/src/frontends/qt/GuiView.cpp +++ b/src/frontends/qt/GuiView.cpp @@ -2831,7 +2831,7 @@ void GuiView::openDocuments(string const & fname, int origin) QStringList const filter({ qt_("LyX Documents (*.lyx)"), qt_("LyX Document Backups (*.lyx~)"), - qt_("All Files (*.*)") + qt_("All Files") + " " + wildcardAllFiles() }); FileDialog::Results results = dlg.openMulti(toqstr(initpath), filter); @@ -4581,7 +4581,7 @@ void GuiView::dispatch(FuncRequest const & cmd, DispatchResult & dr) FileDialog dlg(qt_("Select file to insert")); FileDialog::Result result = dlg.open(toqstr(bv->buffer().filePath()), - QStringList(qt_("All Files (*)"))); + QStringList(qt_("All Files")+ " " + wildcardAllFiles())); if (result.first == FileDialog::Later || result.second.isEmpty()) { dr.setMessage(_("Canceled.")); diff --git a/src/frontends/qt/qt_helpers.cpp b/src/frontends/qt/qt_helpers.cpp index 6cd8e0185c..ed2edec2ef 100644 --- a/src/frontends/qt/qt_helpers.cpp +++ b/src/frontends/qt/qt_helpers.cpp @@ -601,18 +601,12 @@ struct FileFilterList std::vector filters_; }; - FileFilterList::FileFilterList(docstring const & qt_style_filter) { // FIXME UNICODE string const filter = to_utf8(qt_style_filter) + (qt_style_filter.empty() ? string() : ";;") - + to_utf8(_("All Files ")) -#if defined(_WIN32) - + ("(*.*)"); -#else - + ("(*)"); -#endif + + to_utf8(_("All Files")) + " " + fromqstr(wildcardAllFiles()); // Split data such as "TeX documents (*.tex);;LyX Documents (*.lyx)" // into individual filters. @@ -657,6 +651,16 @@ void FileFilterList::parse_filter(string const & filter) } +QString wildcardAllFiles() +{ +#if defined(_WIN32) + return "(*.*)"; +#else + return "(*)"; +#endif +} + + /** \returns the equivalent of the string passed in * although any brace expressions are expanded. * (E.g. "*.{png,jpg}" -> "*.png *.jpg") diff --git a/src/frontends/qt/qt_helpers.h b/src/frontends/qt/qt_helpers.h index 77c14b8c88..6cad775267 100644 --- a/src/frontends/qt/qt_helpers.h +++ b/src/frontends/qt/qt_helpers.h @@ -184,6 +184,8 @@ QString internalPath(QString const &); QString onlyFileName(QString const & str); QString onlyPath(QString const & str); QStringList fileFilters(QString const & description); +/// all files wildcard for filter in qt dialogs (crossplatform) +QString wildcardAllFiles(); /// Remove the extension from \p name QString removeExtension(QString const & name); -- 2.39.5