sd/source/filter/eppt/pptx-epptbase.cxx | 2 + vcl/inc/jsdialog/enabled.hxx | 4 +- vcl/jsdialog/enabled.cxx | 49 ++++++++++++++++++++++++++++++++ vcl/source/window/builder.cxx | 9 +++++ 4 files changed, 63 insertions(+), 1 deletion(-)
New commits: commit efc80a8bd6db1db76324554c012b1f64b08c101d Author: Caolán McNamara <[email protected]> AuthorDate: Fri Jan 16 16:04:15 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Tue Feb 24 09:20:42 2026 +0100 cid#738815 Uninitialized scalar field Change-Id: I110683bd10c744ea0c057560ed6dd7d84417866d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197466 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Michael Stahl <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200099 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/sd/source/filter/eppt/pptx-epptbase.cxx b/sd/source/filter/eppt/pptx-epptbase.cxx index 1d7eb254910d..17b37e1db85f 100644 --- a/sd/source/filter/eppt/pptx-epptbase.cxx +++ b/sd/source/filter/eppt/pptx-epptbase.cxx @@ -109,6 +109,7 @@ PPTWriterBase::PPTWriterBase() , mbEmptyPresObj(false) , mbIsBackgroundDark(false) , mnAngle(0) + , mbHasCanvasPage(false) , mnPages(0) , mnMasterPages(0) , mnCanvasMasterIndex(SAL_MAX_UINT32) @@ -130,6 +131,7 @@ PPTWriterBase::PPTWriterBase( const rtl::Reference< SdXImpressDocument > & rXMod , mbEmptyPresObj(false) , mbIsBackgroundDark(false) , mnAngle(0) + , mbHasCanvasPage(false) , mnPages(0) , mnMasterPages(0) , mnCanvasMasterIndex(SAL_MAX_UINT32) commit 89a615851f7ca1862e691d88956b1b93e35810d7 Author: Caolán McNamara <[email protected]> AuthorDate: Mon Jan 19 08:49:29 2026 +0000 Commit: Caolán McNamara <[email protected]> CommitDate: Tue Feb 24 09:20:32 2026 +0100 bootstrap initial 'common' dialog coverage reporting Change-Id: I23ea6a937722cf5cb5b4849b4c9cfef3187cfa36 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/197549 Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-by: Miklos Vajna <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/200098 Reviewed-by: Caolán McNamara <[email protected]> diff --git a/vcl/inc/jsdialog/enabled.hxx b/vcl/inc/jsdialog/enabled.hxx index 857585a9c58d..3b7b33ba9ade 100644 --- a/vcl/inc/jsdialog/enabled.hxx +++ b/vcl/inc/jsdialog/enabled.hxx @@ -26,8 +26,10 @@ bool isBuilderEnabledForNavigator(std::u16string_view rUIFile); bool isBuilderEnabledForQuickFind(std::u16string_view rUIFile); bool isInterimBuilderEnabledForNotebookbar(std::u16string_view rUIFile); -// returns vector of .ui files not seen that should be seen to have complete coverage +// returns vector of writer .ui files not seen that should be seen to have complete coverage std::vector<OUString> completeWriterDialogList(const o3tl::sorted_vector<OUString>& entries); +// returns vector of common/shared .ui files not seen that should be seen to have complete coverage +std::vector<OUString> completeCommonDialogList(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 e763bf96df5b..85ee271930ba 100644 --- a/vcl/jsdialog/enabled.cxx +++ b/vcl/jsdialog/enabled.cxx @@ -661,6 +661,55 @@ std::vector<OUString> completeWriterDialogList(const o3tl::sorted_vector<OUStrin return missing; } +std::vector<OUString> completeCommonDialogList(const o3tl::sorted_vector<OUString>& entries) +{ + std::vector<OUString> missing; + auto processCategory = [&](const auto& category) { + for (const auto& entry : category) + { + // Skip this one, I don't think it can appear in practice + if (entry == u"sfx/ui/cmisinfopage.ui") + continue; + // Skip this one, I don't think it can appear in practice + else if (entry == u"cui/ui/colorpickerdialog.ui") + continue; + // Skip this one, is the query dialog about enabling overwrite + // mode which is disabled in the default config + else if (entry == u"cui/ui/querysetinsmodedialog.ui") + continue; + // Skip this one, its actually a sd-only one (with code in sd), but + // somehow the .ui is in cui + else if (entry == u"cui/ui/bulletandposition.ui") + continue; + // Skip this one for now, it requires smartart to already exist in a .docx + else if (entry == u"cui/ui/diagramdialog.ui") + continue; + // Skip this one, it cannot appear in writer + else if (entry == u"cui/ui/possizetabpage.ui") + continue; + // Skip this one, it cannot appear in writer, only calc in practice + else if (entry == u"cui/ui/cellalignment.ui") + continue; + // Skip this one, it cannot appear in writer, only impress/draw in + // practice + else if (entry == u"cui/ui/formatcellsdialog.ui") + continue; + // Skip this one, it cannot appear in writer (until autotext dialogs + // are enabled, in which case that is likely disabled. Maybe possible + // from calc. + else if (entry == u"cui/ui/eventassigndialog.ui") + continue; + OUString sEntry(entry); + if (!entries.contains(sEntry)) + missing.push_back(sEntry); + } + }; + processCategory(SfxDialogList); + processCategory(CuiDialogList); + return missing; +} + + } // end of jsdialog /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index 8308aebe23e7..78e686eea893 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -214,6 +214,15 @@ void Application::UICoverageReport(tools::JsonWriter& rJson) for (const auto& entry : missingWriterDialogUIs) rJson.putSimpleValue(entry); } + + std::vector<OUString> missingCommonDialogUIs = jsdialog::completeCommonDialogList(entries); + rJson.put("CompleteCommonDialogCoverage", missingCommonDialogUIs.empty()); + if (!missingCommonDialogUIs.empty()) + { + auto childrenNode = rJson.startArray("MissingCommonDialogCoverage"); + for (const auto& entry : missingCommonDialogUIs) + rJson.putSimpleValue(entry); + } } std::unique_ptr<weld::Builder> Application::CreateBuilder(weld::Widget* pParent, const OUString &rUIFile, bool bMobile, sal_uInt64 nLOKWindowId)
