vcl/inc/jsdialog/enabled.hxx | 4 ++++ vcl/jsdialog/enabled.cxx | 24 ++++++++++++++++++++++++ vcl/source/window/builder.cxx | 18 ++++++++++++++++++ 3 files changed, 46 insertions(+)
New commits: commit ebac9b566a023dd299a26febfd6644edb89e8d62 Author: Caolán McNamara <[email protected]> AuthorDate: Tue Feb 3 13:36:31 2026 +0000 Commit: Miklos Vajna <[email protected]> CommitDate: Thu Feb 5 13:41:21 2026 +0100 add calc ui coverage details Change-Id: I23fec7d82b49805ca87fd0efe0b18cba07f9fb1f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/198616 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 d4347a7e5ebd..4d4a6e2fcd27 100644 --- a/vcl/inc/jsdialog/enabled.hxx +++ b/vcl/inc/jsdialog/enabled.hxx @@ -30,6 +30,10 @@ bool isInterimBuilderEnabledForNotebookbar(std::u16string_view rUIFile); std::vector<OUString> completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries); // returns vector of writer sidebar .ui files not seen that should be seen to have complete coverage std::vector<OUString> completeWriterSidebarList(const o3tl::sorted_vector<OUString>& entries); +// returns vector of calc dialog .ui files not seen that should be seen to have complete coverage +std::vector<OUString> completeCalcDialogList(const o3tl::sorted_vector<OUString>& entries); +// returns vector of calc sidebar .ui files not seen that should be seen to have complete coverage +std::vector<OUString> completeCalcSidebarList(const o3tl::sorted_vector<OUString>& entries); // returns vector of common/shared dialog .ui files not seen that should be seen to have complete coverage std::vector<OUString> completeCommonDialogList(const o3tl::sorted_vector<OUString>& entries, bool linguisticDataAvailable); diff --git a/vcl/jsdialog/enabled.cxx b/vcl/jsdialog/enabled.cxx index 08fc5ba4ebfc..c720f032e6d9 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -683,6 +683,30 @@ std::vector<OUString> completeWriterSidebarList(const o3tl::sorted_vector<OUStri return missing; } +std::vector<OUString> completeCalcDialogList(const o3tl::sorted_vector<OUString>& entries) +{ + std::vector<OUString> missing; + for (const auto& entry : ScalcDialogList) + { + OUString sEntry(entry); + if (!entries.contains(sEntry)) + missing.push_back(sEntry); + } + return missing; +} + +std::vector<OUString> completeCalcSidebarList(const o3tl::sorted_vector<OUString>& entries) +{ + std::vector<OUString> missing; + for (const auto& entry : SidebarList) + { + OUString sEntry(entry); + if (sEntry.startsWith("modules/scalc/") && !entries.contains(sEntry)) + missing.push_back(sEntry); + } + return missing; +} + std::vector<OUString> completeCommonSidebarList(const o3tl::sorted_vector<OUString>& entries) { std::vector<OUString> missing; diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 257240e0bf5e..2a634aff4555 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -222,6 +222,24 @@ void Application::UICoverageReport(tools::JsonWriter& rJson, bool linguisticData rJson.putSimpleValue(entry); } + std::vector<OUString> missingCalcDialogUIs = jsdialog::completeCalcDialogList(entries); + rJson.put("CompleteCalcDialogCoverage", missingCalcDialogUIs.empty()); + if (!missingCalcDialogUIs.empty()) + { + auto childrenNode = rJson.startArray("MissingCalcDialogCoverage"); + for (const auto& entry : missingCalcDialogUIs) + rJson.putSimpleValue(entry); + } + + std::vector<OUString> missingCalcSidebarUIs = jsdialog::completeCalcSidebarList(entries); + rJson.put("CompleteCalcSidebarCoverage", missingCalcSidebarUIs.empty()); + if (!missingCalcSidebarUIs.empty()) + { + auto childrenNode = rJson.startArray("MissingCalcSidebarCoverage"); + for (const auto& entry : missingCalcSidebarUIs) + rJson.putSimpleValue(entry); + } + std::vector<OUString> missingCommonDialogUIs = jsdialog::completeCommonDialogList(entries, linguisticDataAvailable); rJson.put("CompleteCommonDialogCoverage", missingCommonDialogUIs.empty()); if (!missingCommonDialogUIs.empty())
