vcl/inc/jsdialog/enabled.hxx | 3 ++- vcl/jsdialog/enabled.cxx | 10 ++++++---- vcl/source/window/builder.cxx | 10 +++++++++- 3 files changed, 17 insertions(+), 6 deletions(-)
New commits: commit 1f9bc87c7f621d9abec0013013d271a4639d129b Author: Caolán McNamara <[email protected]> AuthorDate: Thu Dec 11 11:50:40 2025 +0000 Commit: Miklos Vajna <[email protected]> CommitDate: Fri Dec 12 13:34:08 2025 +0100 add the names of the writer dialog .ui files that are missing from coverage Change-Id: I1f54dc2197ced0d941df3581bfe6b1db2e357274 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195451 Reviewed-by: Miklos Vajna <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/vcl/inc/jsdialog/enabled.hxx b/vcl/inc/jsdialog/enabled.hxx index 65ccc5b14897..857585a9c58d 100644 --- a/vcl/inc/jsdialog/enabled.hxx +++ b/vcl/inc/jsdialog/enabled.hxx @@ -26,7 +26,8 @@ bool isBuilderEnabledForNavigator(std::u16string_view rUIFile); bool isBuilderEnabledForQuickFind(std::u16string_view rUIFile); bool isInterimBuilderEnabledForNotebookbar(std::u16string_view rUIFile); -bool completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries); +// returns vector of .ui files not seen that should be seen to have complete coverage +std::vector<OUString> completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries); } /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index 7405ff732da2..e50ced438813 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -639,14 +639,16 @@ bool isBuilderEnabledForFormulabar(std::u16string_view rUIFile) return isInMap(FormulabarList, rUIFile); } -bool completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries) +std::vector<OUString> completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries) { + std::vector<OUString> missing; for (const auto& entry : SwriterDialogList) { - if (!entries.contains(OUString(entry))) - return false; + OUString sEntry(entry); + if (!entries.contains(sEntry)) + missing.push_back(sEntry); } - return true; + return missing; } } // end of jsdialog diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 5d3b6487297d..944c1ab69b7d 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -197,13 +197,21 @@ void Application::UICoverageReport(tools::JsonWriter& rJson) auto resultNode = rJson.startNode("result"); const auto& entries = ImplGetSVData()->mpDefInst->getUsedUIList(); + if (!entries.empty()) { auto childrenNode = rJson.startArray("used"); for (const auto& entry : entries) rJson.putSimpleValue(entry); } - rJson.put("CompleteWriterDialogCoverage", jsdialog::completeWriterDialogList(entries)); + std::vector<OUString> missingWriterDialogUIs = jsdialog::completeWriterDialogList(entries); + rJson.put("CompleteWriterDialogCoverage", missingWriterDialogUIs.empty()); + if (!missingWriterDialogUIs.empty()) + { + auto childrenNode = rJson.startArray("MissingWriterDialogCoverage"); + for (const auto& entry : missingWriterDialogUIs) + rJson.putSimpleValue(entry); + } } std::unique_ptr<weld::Builder> Application::CreateBuilder(weld::Widget* pParent, const OUString &rUIFile, bool bMobile, sal_uInt64 nLOKWindowId)
