tdf#80662 Fix display of JDK version number / path

Previously, JDK version number and path were displayed as RTL in right
to left mode of LibreOffice, in "Tools > Options > Advanced". The RTL UI
can be activated by setting:

SAL_RTL_ENABLED=1

The fix uses an LRM and PDF Unicode characters around the text:
https://en.wikipedia.org/wiki/Bidirectional_text

This patch also fixes the display of JDK path, which had the same issue
that was visible in the bug doc.

Change-Id: I80b25821defd43355e5b271d0348dd70ef520440
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/187813
Tested-by: Jenkins
Reviewed-by: Hossein   <hossein@libreoffice.org>
This commit is contained in:
Hossein
2025-07-13 18:59:47 +02:00
parent a72fc05f49
commit 1a2523aa52

View File

@ -356,10 +356,14 @@ void SvxJavaOptionsPage::AddJRE( JavaInfo const * _pInfo )
m_xJavaList->append();
m_xJavaList->set_toggle(nPos, TRISTATE_FALSE);
m_xJavaList->set_text(nPos, _pInfo->sVendor, 1);
m_xJavaList->set_text(nPos, _pInfo->sVersion, 2);
// tdf#80662 Add LRM and PDF Unicode characters around version info
// to display it correctly, even when UI is RTL (SAL_RTL_ENABLED=1)
m_xJavaList->set_text(nPos, u"\u200E" + _pInfo->sVersion + u"\u202C", 2);
INetURLObject aLocObj(_pInfo->sLocation);
OUString sLocation = aLocObj.getFSysPath(FSysStyle::Detect);
// tdf#80662 Add LRM and PDF Unicode characters around JRE location
// to display it correctly, even when UI is RTL (SAL_RTL_ENABLED=1)
OUString sLocation = u"\u200E" + aLocObj.getFSysPath(FSysStyle::Detect) + u"\u202C";
m_xJavaList->set_id(nPos, sLocation);
#else
(void) this;