From 3130f90ac928b20521a28501e58f863b175a310d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= Date: Sat, 18 Jul 2026 14:06:51 +0100 Subject: [PATCH] crashtesting: ClickAction_VANISH missing from translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit seen on converting ooo103896-3.odp to pdf Signed-off-by: Caolán McNamara Change-Id: I5fb08b84fd0b84f704421e0af9a47a8ef34af957 Reviewed-on: https://gerrit.collaboraoffice.com/c/online/+/7232 Tested-by: Jenkins CPCI Reviewed-by: Noel Grandin (cherry picked from commit 7b41c8b3f607ff8e6bd3a0d6ec23ff481921b9aa) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208280 Tested-by: Jenkins Reviewed-by: Xisco Fauli --- sd/inc/strings.hrc | 2 ++ sd/source/ui/unoidl/unomodel.cxx | 45 ++++++++++++++++++++------------ 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/sd/inc/strings.hrc b/sd/inc/strings.hrc index 2d884d43d3c5..cab549e851c8 100644 --- a/sd/inc/strings.hrc +++ b/sd/inc/strings.hrc @@ -144,6 +144,8 @@ #define STR_GOTO_SLIDE_DLG_TITLE NC_("STR_GOTO_SLIDE_DLG_TITLE", "Go to Slide") #define STR_CLICK_ACTION_BOOKMARK NC_("STR_CLICK_ACTION_BOOKMARK", "Go to page or object") #define STR_CLICK_ACTION_DOCUMENT NC_("STR_CLICK_ACTION_DOCUMENT", "Go to document") +#define STR_CLICK_ACTION_INVISIBLE NC_("STR_CLICK_ACTION_INVISIBLE", "Hide object") +#define STR_CLICK_ACTION_VANISH NC_("STR_CLICK_ACTION_VANISH", "Hide object with effect") #define STR_CLICK_ACTION_SOUND NC_("STR_CLICK_ACTION_SOUND", "Play audio") #define STR_CLICK_ACTION_VERB NC_("STR_CLICK_ACTION_VERB", "Start object action") #define STR_CLICK_ACTION_PROGRAM NC_("STR_CLICK_ACTION_PROGRAM", "Run program") diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index 0bce2d465715..eb03188bd87d 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -197,6 +197,8 @@ using namespace ::cppu; using namespace ::com::sun::star; using namespace ::sd; +namespace +{ const TranslateId aTypeResIds[SdLinkTargetType::Count] = { STR_SD_PAGE, // SdLinkTargetType::Page @@ -205,25 +207,34 @@ const TranslateId aTypeResIds[SdLinkTargetType::Count] = STR_MASTERPAGE_NAME, // SdLinkTargetType::MasterPage }; +const TranslateId aClickActionResIds[] = +{ + STR_CLICK_ACTION_NONE, // ClickAction_NONE + STR_CLICK_ACTION_PREVPAGE, // ClickAction_PREVPAGE + STR_CLICK_ACTION_NEXTPAGE, // ClickAction_NEXTPAGE + STR_CLICK_ACTION_FIRSTPAGE, // ClickAction_FIRSTPAGE + STR_CLICK_ACTION_LASTPAGE, // ClickAction_LASTPAGE + STR_CLICK_ACTION_BOOKMARK, // ClickAction_BOOKMARK + STR_CLICK_ACTION_DOCUMENT, // ClickAction_DOCUMENT + STR_CLICK_ACTION_INVISIBLE, // ClickAction_INVISIBLE + STR_CLICK_ACTION_SOUND, // ClickAction_SOUND + STR_CLICK_ACTION_VERB, // ClickAction_VERB + STR_CLICK_ACTION_VANISH, // ClickAction_VANISH + STR_CLICK_ACTION_PROGRAM, // ClickAction_PROGRAM + STR_CLICK_ACTION_MACRO, // ClickAction_MACRO + STR_CLICK_ACTION_STOPPRESENTATION, // ClickAction_STOPPRESENTATION +}; + +static_assert(SAL_N_ELEMENTS(aClickActionResIds) + == static_cast(presentation::ClickAction_STOPPRESENTATION) + 1, + "aClickActionResIds is missing an entry for a presentation::ClickAction value"); +} + TranslateId SdTPAction::GetClickActionSdResId( presentation::ClickAction eCA ) { - switch( eCA ) - { - case presentation::ClickAction_NONE: return STR_CLICK_ACTION_NONE; - case presentation::ClickAction_PREVPAGE: return STR_CLICK_ACTION_PREVPAGE; - case presentation::ClickAction_NEXTPAGE: return STR_CLICK_ACTION_NEXTPAGE; - case presentation::ClickAction_FIRSTPAGE: return STR_CLICK_ACTION_FIRSTPAGE; - case presentation::ClickAction_LASTPAGE: return STR_CLICK_ACTION_LASTPAGE; - case presentation::ClickAction_BOOKMARK: return STR_CLICK_ACTION_BOOKMARK; - case presentation::ClickAction_DOCUMENT: return STR_CLICK_ACTION_DOCUMENT; - case presentation::ClickAction_PROGRAM: return STR_CLICK_ACTION_PROGRAM; - case presentation::ClickAction_MACRO: return STR_CLICK_ACTION_MACRO; - case presentation::ClickAction_SOUND: return STR_CLICK_ACTION_SOUND; - case presentation::ClickAction_VERB: return STR_CLICK_ACTION_VERB; - case presentation::ClickAction_STOPPRESENTATION: return STR_CLICK_ACTION_STOPPRESENTATION; - default: OSL_FAIL( "No StringResource for ClickAction available!" ); - } - return {}; + auto nIndex = static_cast(eCA); + assert(nIndex < SAL_N_ELEMENTS(aClickActionResIds) && "ClickAction out of range"); + return aClickActionResIds[nIndex]; } class SdUnoForbiddenCharsTable : public SvxUnoForbiddenCharsTable,