[Libreoffice-commits] core.git: include/unotools include/vcl unotools/source vcl/inc vcl/qt5 vcl/source vcl/unx
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Tue Aug 3 10:18:48 UTC 2021
include/unotools/resmgr.hxx | 21 ++++++++++++++++++++-
include/vcl/font/Feature.hxx | 11 ++++++-----
unotools/source/i18n/resmgr.cxx | 29 +++++++++++++++++++++++++++++
vcl/inc/font/OpenTypeFeatureStrings.hrc | 2 +-
vcl/inc/print.hrc | 4 ++--
vcl/inc/printaccessoryview.hrc | 4 ++--
vcl/inc/qt5/Qt5FilePicker.hxx | 3 ++-
vcl/inc/strings.hrc | 2 +-
vcl/inc/svdata.hxx | 3 ++-
vcl/inc/units.hrc | 4 ++--
vcl/qt5/Qt5FilePicker.cxx | 8 ++++----
vcl/source/app/stdtext.cxx | 2 +-
vcl/source/app/svapp.cxx | 2 +-
vcl/source/app/svdata.cxx | 2 +-
vcl/source/font/Feature.cxx | 11 ++++-------
vcl/source/window/brdwin.cxx | 2 +-
vcl/source/window/builder.cxx | 12 +++---------
vcl/source/window/splitwin.cxx | 2 +-
vcl/unx/gtk3/fpicker/resourceprovider.cxx | 8 ++++----
19 files changed, 87 insertions(+), 45 deletions(-)
New commits:
commit 5afdcad4c0e7850b18996c549892b9360cd8973f
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Mon Aug 2 16:06:05 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Tue Aug 3 12:18:15 2021 +0200
Pass context and resource string down to boost::locale separately
because this is often on a hot path, and we can avoid the splitting and
joining of strings like this.
Change-Id: I2a24a123a64b762fd0741c45eaca3ad4bdd5580d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119884
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/unotools/resmgr.hxx b/include/unotools/resmgr.hxx
index 244963f598b1..0795c3f16704 100644
--- a/include/unotools/resmgr.hxx
+++ b/include/unotools/resmgr.hxx
@@ -33,7 +33,8 @@ struct UNOTOOLS_DLLPUBLIC TranslateId
const char* mpContext;
const char* mpId;
- TranslateId() {}
+ TranslateId()
+ : mpContext(nullptr), mpId(nullptr) {}
TranslateId(const char* pContext, const char* pId)
: mpContext(pContext), mpId(pId) {}
@@ -43,12 +44,30 @@ struct UNOTOOLS_DLLPUBLIC TranslateId
bool operator!=(const TranslateId& other) const { return !operator==(other); }
};
+struct UNOTOOLS_DLLPUBLIC TranslateNId
+{
+ const char* mpContext;
+ const char* mpSingular;
+ const char* mpPlural;
+
+ TranslateNId()
+ : mpContext(nullptr), mpSingular(nullptr), mpPlural(nullptr) {}
+ TranslateNId(const char* pContext, const char* pSingular, const char* pPlural)
+ : mpContext(pContext), mpSingular(pSingular), mpPlural(pPlural) {}
+
+ operator bool() const { return mpContext != nullptr; }
+
+ bool operator==(const TranslateNId& other) const;
+ bool operator!=(const TranslateNId& other) const { return !operator==(other); }
+};
+
namespace Translate
{
UNOTOOLS_DLLPUBLIC std::locale Create(std::string_view aPrefixName, const LanguageTag& rLocale = SvtSysLocale().GetUILanguageTag());
UNOTOOLS_DLLPUBLIC OUString get(std::string_view aId, const std::locale &loc);
UNOTOOLS_DLLPUBLIC OUString nget(std::string_view aId, int n, const std::locale &loc);
UNOTOOLS_DLLPUBLIC OUString get(TranslateId sContextAndId, const std::locale &loc);
+ UNOTOOLS_DLLPUBLIC OUString nget(TranslateNId aContextSingularPlural, int n, const std::locale &loc);
UNOTOOLS_DLLPUBLIC void SetReadStringHook( ResHookProc pProc );
UNOTOOLS_DLLPUBLIC ResHookProc GetReadStringHook();
UNOTOOLS_DLLPUBLIC OUString ExpandVariables(const OUString& rString);
diff --git a/include/vcl/font/Feature.hxx b/include/vcl/font/Feature.hxx
index 13c798fbcf32..b16843abea7d 100644
--- a/include/vcl/font/Feature.hxx
+++ b/include/vcl/font/Feature.hxx
@@ -12,6 +12,7 @@
#include <vcl/dllapi.h>
#include <rtl/ustring.hxx>
+#include <unotools/resmgr.hxx>
#include <vector>
namespace vcl::font
@@ -41,11 +42,11 @@ struct VCL_DLLPUBLIC FeatureParameter
private:
uint32_t m_nCode;
OUString m_sDescription;
- const char* m_pDescriptionID;
+ TranslateId m_pDescriptionID;
public:
FeatureParameter(uint32_t nCode, OUString aDescription);
- FeatureParameter(uint32_t nCode, const char* pDescriptionID);
+ FeatureParameter(uint32_t nCode, TranslateId pDescriptionID);
uint32_t getCode() const;
OUString getDescription() const;
@@ -55,7 +56,7 @@ class VCL_DLLPUBLIC FeatureDefinition
{
private:
OUString m_sDescription;
- const char* m_pDescriptionID;
+ TranslateId m_pDescriptionID;
OUString m_sNumericPart;
uint32_t m_nCode;
uint32_t m_nDefault;
@@ -70,9 +71,9 @@ public:
std::vector<FeatureParameter> const& rEnumParameters
= std::vector<FeatureParameter>{},
uint32_t nDefault = 0);
- FeatureDefinition(uint32_t nCode, const char* pDescriptionID,
+ FeatureDefinition(uint32_t nCode, TranslateId pDescriptionID,
OUString const& rNumericPart = OUString());
- FeatureDefinition(uint32_t nCode, const char* pDescriptionID,
+ FeatureDefinition(uint32_t nCode, TranslateId pDescriptionID,
std::vector<FeatureParameter> aEnumParameters);
const std::vector<FeatureParameter>& getEnumParameters() const;
diff --git a/unotools/source/i18n/resmgr.cxx b/unotools/source/i18n/resmgr.cxx
index 9d3aec3a607c..7095316859f7 100644
--- a/unotools/source/i18n/resmgr.cxx
+++ b/unotools/source/i18n/resmgr.cxx
@@ -313,6 +313,29 @@ namespace Translate
return result;
}
+ OUString nget(TranslateNId aContextSingularPlural, int n, const std::locale &loc)
+ {
+ //if it's a key id locale, generate it here
+ if (std::use_facet<boost::locale::info>(loc).language() == "qtz")
+ {
+ OString sKeyId(genKeyId(OString::Concat(aContextSingularPlural.mpContext) + "|" + aContextSingularPlural.mpSingular));
+ const char* pForm = n == 0 ? aContextSingularPlural.mpSingular : aContextSingularPlural.mpPlural;
+ return OUString::fromUtf8(sKeyId) + u"\u2016" + createFromUtf8(pForm, strlen(pForm));
+ }
+
+ //otherwise translate it
+ const std::string ret = boost::locale::npgettext(aContextSingularPlural.mpContext, aContextSingularPlural.mpSingular, aContextSingularPlural.mpPlural, n, loc);
+ OUString result(ExpandVariables(createFromUtf8(ret.data(), ret.size())));
+
+ if (comphelper::LibreOfficeKit::isActive())
+ {
+ if (std::use_facet<boost::locale::info>(loc).country() == "CH" &&
+ std::use_facet<boost::locale::info>(loc).language() == "de")
+ result = result.replaceAll(OUString::fromUtf8("\xC3\x9F"), "ss");
+ }
+ return result;
+ }
+
static ResHookProc pImplResHookProc = nullptr;
OUString ExpandVariables(const OUString& rString)
@@ -338,5 +361,11 @@ bool TranslateId::operator==(const TranslateId& other) const
return strcmp(mpContext, other.mpContext) == 0 && strcmp(mpId,other.mpId) == 0;
}
+bool TranslateNId::operator==(const TranslateNId& other) const
+{
+ return strcmp(mpContext, other.mpContext) == 0
+ && strcmp(mpSingular, other.mpSingular) == 0
+ && strcmp(mpPlural, other.mpPlural) == 0;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/vcl/inc/font/OpenTypeFeatureStrings.hrc b/vcl/inc/font/OpenTypeFeatureStrings.hrc
index 9fa782b16c67..5e1960b95613 100644
--- a/vcl/inc/font/OpenTypeFeatureStrings.hrc
+++ b/vcl/inc/font/OpenTypeFeatureStrings.hrc
@@ -20,7 +20,7 @@
#ifndef INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
#define INCLUDED_VCL_INC_FONT_OPENTYPEFEATRESTRINGS_HRC
-#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String))
#define STR_FONT_FEATURE_ID_AALT NC_("STR_FONT_FEATURE_ID_AALT", "Access All Alternates")
#define STR_FONT_FEATURE_ID_AFRC NC_("STR_FONT_FEATURE_ID_AFRC", "Alternative (Vertical) Fractions")
diff --git a/vcl/inc/print.hrc b/vcl/inc/print.hrc
index 49dbcea20fa2..ddc0e3e1699a 100644
--- a/vcl/inc/print.hrc
+++ b/vcl/inc/print.hrc
@@ -20,9 +20,9 @@
#ifndef INCLUDED_VCL_INC_PRINT_HRC
#define INCLUDED_VCL_INC_PRINT_HRC
-#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String))
-const char* RID_STR_PAPERNAMES[] =
+const TranslateId RID_STR_PAPERNAMES[] =
{
// To translators: This is the first entry of a sequence of paper size names
NC_("RID_STR_PAPERNAMES", "A0"),
diff --git a/vcl/inc/printaccessoryview.hrc b/vcl/inc/printaccessoryview.hrc
index 936c5b2bcce4..c041d78c3e32 100644
--- a/vcl/inc/printaccessoryview.hrc
+++ b/vcl/inc/printaccessoryview.hrc
@@ -20,9 +20,9 @@
#ifndef INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
#define INCLUDED_VCL_INC_PRINTACCESSORYVIEW_HRC
-#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String))
-const char* SV_PRINT_NATIVE_STRINGS[] =
+const TranslateId SV_PRINT_NATIVE_STRINGS[] =
{
NC_("SV_PRINT_NATIVE_STRINGS", "Preview"),
NC_("SV_PRINT_NATIVE_STRINGS", "Page number"),
diff --git a/vcl/inc/qt5/Qt5FilePicker.hxx b/vcl/inc/qt5/Qt5FilePicker.hxx
index 5fef2aaeae43..4c59bd15b78e 100644
--- a/vcl/inc/qt5/Qt5FilePicker.hxx
+++ b/vcl/inc/qt5/Qt5FilePicker.hxx
@@ -33,6 +33,7 @@
#include <osl/conditn.hxx>
#include <osl/mutex.hxx>
+#include <unotools/resmgr.hxx>
#include <QtCore/QObject>
#include <QtCore/QString>
@@ -158,7 +159,7 @@ private:
Qt5FilePicker(const Qt5FilePicker&) = delete;
Qt5FilePicker& operator=(const Qt5FilePicker&) = delete;
- static QString getResString(const char* pRedId);
+ static QString getResString(TranslateId pRedId);
static css::uno::Any handleGetListValue(const QComboBox* pWidget, sal_Int16 nControlAction);
static void handleSetListValue(QComboBox* pQComboBox, sal_Int16 nAction,
const css::uno::Any& rValue);
diff --git a/vcl/inc/strings.hrc b/vcl/inc/strings.hrc
index 95468d1d4538..d08446ba44cf 100644
--- a/vcl/inc/strings.hrc
+++ b/vcl/inc/strings.hrc
@@ -20,7 +20,7 @@
#ifndef INCLUDED_VCL_INC_STRINGS_HRC
#define INCLUDED_VCL_INC_STRINGS_HRC
-#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String))
#define SV_RESID_STRING_NOSELECTIONPOSSIBLE NC_("SV_RESID_STRING_NOSELECTIONPOSSIBLE", "[No selection possible]")
diff --git a/vcl/inc/svdata.hxx b/vcl/inc/svdata.hxx
index 0a22d2127d2a..2f962291725b 100644
--- a/vcl/inc/svdata.hxx
+++ b/vcl/inc/svdata.hxx
@@ -31,6 +31,7 @@
#include <vcl/window.hxx>
#include <vcl/task.hxx>
#include <LibreOfficeKit/LibreOfficeKitTypes.h>
+#include <unotools/resmgr.hxx>
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/i18n/XCharacterClassification.hpp>
@@ -429,7 +430,7 @@ VCL_PLUGIN_PUBLIC basegfx::SystemDependentDataManager& ImplGetSystemDependentDat
VCL_PLUGIN_PUBLIC vcl::Window* ImplGetDefaultWindow();
vcl::Window* ImplGetDefaultContextWindow();
const std::locale& ImplGetResLocale();
-VCL_PLUGIN_PUBLIC OUString VclResId(std::string_view aId);
+VCL_PLUGIN_PUBLIC OUString VclResId(TranslateId sContextAndId);
DockingManager* ImplGetDockingManager();
BlendFrameCache* ImplGetBlendFrameCache();
diff --git a/vcl/inc/units.hrc b/vcl/inc/units.hrc
index 74c4496755e1..79e433f12eb2 100644
--- a/vcl/inc/units.hrc
+++ b/vcl/inc/units.hrc
@@ -20,9 +20,9 @@
#ifndef INCLUDED_VCL_INC_UNITS_HRC
#define INCLUDED_VCL_INC_UNITS_HRC
-#define NC_(Context, String) reinterpret_cast<char const *>(Context "\004" u8##String)
+#define NC_(Context, String) TranslateId(Context, reinterpret_cast<char const *>(u8##String))
-std::pair<const char*, FieldUnit> SV_FUNIT_STRINGS[] =
+std::pair<TranslateId, FieldUnit> SV_FUNIT_STRINGS[] =
{
// To translators: This is the first entry of a sequence of measurement unit names
{ NC_("SV_FUNIT_STRINGS", "mm"), FieldUnit::MM },
diff --git a/vcl/qt5/Qt5FilePicker.cxx b/vcl/qt5/Qt5FilePicker.cxx
index 18e24580107e..9a174a08c0c6 100644
--- a/vcl/qt5/Qt5FilePicker.cxx
+++ b/vcl/qt5/Qt5FilePicker.cxx
@@ -576,11 +576,11 @@ OUString SAL_CALL Qt5FilePicker::getLabel(sal_Int16 controlId)
return toOUString(label);
}
-QString Qt5FilePicker::getResString(const char* pResId)
+QString Qt5FilePicker::getResString(TranslateId pResId)
{
QString aResString;
- if (pResId == nullptr)
+ if (!pResId)
return aResString;
aResString = toQString(VclResId(pResId));
@@ -592,7 +592,7 @@ void Qt5FilePicker::addCustomControl(sal_Int16 controlId)
{
QWidget* widget = nullptr;
QLabel* label = nullptr;
- const char* resId = nullptr;
+ TranslateId resId;
QCheckBox* pCheckbox = nullptr;
switch (controlId)
@@ -805,7 +805,7 @@ void SAL_CALL Qt5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
static_cast<XFilePicker2*>(this), 1);
}
- const char* resId = nullptr;
+ TranslateId resId;
switch (acceptMode)
{
case QFileDialog::AcceptOpen:
diff --git a/vcl/source/app/stdtext.cxx b/vcl/source/app/stdtext.cxx
index f5b603e009bd..bef130dc7dca 100644
--- a/vcl/source/app/stdtext.cxx
+++ b/vcl/source/app/stdtext.cxx
@@ -92,7 +92,7 @@ OUString GetStandardQueryBoxText()
OUString GetStandardText(StandardButtonType eButton)
{
- static const char* aResIdAry[static_cast<int>(StandardButtonType::Count)] =
+ static TranslateId aResIdAry[static_cast<int>(StandardButtonType::Count)] =
{
// http://lists.freedesktop.org/archives/libreoffice/2013-January/044513.html
// Under windows we don't want accelerators on ok/cancel but do on other
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index 7e1ad0865010..1a8c1d0b8e1a 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -1144,7 +1144,7 @@ OUString Application::GetAppName()
enum {hwAll=0, hwEnv=1, hwUI=2};
-static OUString Localize(std::string_view aId, const bool bLocalize)
+static OUString Localize(TranslateId aId, const bool bLocalize)
{
if (bLocalize)
return VclResId(aId);
diff --git a/vcl/source/app/svdata.cxx b/vcl/source/app/svdata.cxx
index 8b4e5fc1662a..147d010bdd08 100644
--- a/vcl/source/app/svdata.cxx
+++ b/vcl/source/app/svdata.cxx
@@ -256,7 +256,7 @@ const std::locale& ImplGetResLocale()
return pSVData->maResLocale;
}
-OUString VclResId(std::string_view aId)
+OUString VclResId(TranslateId aId)
{
return Translate::get(aId, ImplGetResLocale());
}
diff --git a/vcl/source/font/Feature.cxx b/vcl/source/font/Feature.cxx
index 99a3910b81fb..3a8c20b2c915 100644
--- a/vcl/source/font/Feature.cxx
+++ b/vcl/source/font/Feature.cxx
@@ -62,11 +62,10 @@ FeatureSetting::FeatureSetting(OString feature)
FeatureParameter::FeatureParameter(uint32_t nCode, OUString aDescription)
: m_nCode(nCode)
, m_sDescription(std::move(aDescription))
- , m_pDescriptionID(nullptr)
{
}
-FeatureParameter::FeatureParameter(uint32_t nCode, const char* pDescriptionID)
+FeatureParameter::FeatureParameter(uint32_t nCode, TranslateId pDescriptionID)
: m_nCode(nCode)
, m_pDescriptionID(pDescriptionID)
{
@@ -89,8 +88,7 @@ uint32_t FeatureParameter::getCode() const { return m_nCode; }
// FeatureDefinition
FeatureDefinition::FeatureDefinition()
- : m_pDescriptionID(nullptr)
- , m_nCode(0)
+ : m_nCode(0)
, m_nDefault(0)
, m_eType(FeatureParameterType::BOOL)
{
@@ -101,7 +99,6 @@ FeatureDefinition::FeatureDefinition(uint32_t nCode, OUString const& rDescriptio
std::vector<FeatureParameter> const& rEnumParameters,
uint32_t nDefault)
: m_sDescription(rDescription)
- , m_pDescriptionID(nullptr)
, m_nCode(nCode)
, m_nDefault(nDefault)
, m_eType(eType)
@@ -109,7 +106,7 @@ FeatureDefinition::FeatureDefinition(uint32_t nCode, OUString const& rDescriptio
{
}
-FeatureDefinition::FeatureDefinition(uint32_t nCode, const char* pDescriptionID,
+FeatureDefinition::FeatureDefinition(uint32_t nCode, TranslateId pDescriptionID,
OUString const& rNumericPart)
: m_pDescriptionID(pDescriptionID)
, m_sNumericPart(rNumericPart)
@@ -119,7 +116,7 @@ FeatureDefinition::FeatureDefinition(uint32_t nCode, const char* pDescriptionID,
{
}
-FeatureDefinition::FeatureDefinition(uint32_t nCode, const char* pDescriptionID,
+FeatureDefinition::FeatureDefinition(uint32_t nCode, TranslateId pDescriptionID,
std::vector<FeatureParameter> aEnumParameters)
: m_pDescriptionID(pDescriptionID)
, m_nCode(nCode)
diff --git a/vcl/source/window/brdwin.cxx b/vcl/source/window/brdwin.cxx
index 0f3ee445ec33..76b07edbe9a4 100644
--- a/vcl/source/window/brdwin.cxx
+++ b/vcl/source/window/brdwin.cxx
@@ -288,7 +288,7 @@ OUString ImplBorderWindowView::ImplRequestHelp( ImplBorderFrameData const * pDat
const Point& rPos,
tools::Rectangle& rHelpRect )
{
- const char* pHelpId = nullptr;
+ TranslateId pHelpId;
OUString aHelpStr;
BorderWindowHitTest nHitTest = ImplHitTest( pData, rPos );
if ( nHitTest != BorderWindowHitTest::NONE )
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 2c34c47b1d95..723c28ca640d 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -2963,9 +2963,7 @@ void VclBuilder::handleRow(xmlreader::XmlReader &reader, const OString &rID)
OUString sFinalValue;
if (bTranslated)
{
- if (!sContext.isEmpty())
- sValue = sContext + "\004" + sValue;
- sFinalValue = Translate::get(sValue.getStr(), m_pParserState->m_aResLocale);
+ sFinalValue = Translate::get({sContext.getStr(), sValue.getStr()}, m_pParserState->m_aResLocale);
}
else
sFinalValue = OUString::fromUtf8(sValue);
@@ -3128,9 +3126,7 @@ std::vector<ComboBoxTextItem> VclBuilder::handleItems(xmlreader::XmlReader &read
OUString sFinalValue;
if (bTranslated)
{
- if (!sContext.isEmpty())
- sValue = sContext + "\004" + sValue;
- sFinalValue = Translate::get(sValue.getStr(), m_pParserState->m_aResLocale);
+ sFinalValue = Translate::get({sContext.getStr(), sValue.getStr()}, m_pParserState->m_aResLocale);
}
else
sFinalValue = OUString::fromUtf8(sValue);
@@ -3943,9 +3939,7 @@ void VclBuilder::collectProperty(xmlreader::XmlReader &reader, stringmap &rMap)
OUString sFinalValue;
if (bTranslated)
{
- if (!sContext.isEmpty())
- sValue = sContext + "\004" + sValue;
- sFinalValue = Translate::get(sValue.getStr(), m_pParserState->m_aResLocale);
+ sFinalValue = Translate::get({sContext.getStr(), sValue.getStr()}, m_pParserState->m_aResLocale);
}
else
sFinalValue = OUString::fromUtf8(sValue);
diff --git a/vcl/source/window/splitwin.cxx b/vcl/source/window/splitwin.cxx
index b82769d418b0..ed32ca8f44fd 100644
--- a/vcl/source/window/splitwin.cxx
+++ b/vcl/source/window/splitwin.cxx
@@ -2083,7 +2083,7 @@ void SplitWindow::RequestHelp( const HelpEvent& rHEvt )
{
Point aMousePosPixel = ScreenToOutputPixel( rHEvt.GetMousePosPixel() );
tools::Rectangle aHelpRect;
- const char* pHelpResId = nullptr;
+ TranslateId pHelpResId;
ImplGetFadeInRect( aHelpRect, true );
if ( aHelpRect.IsInside( aMousePosPixel ) )
diff --git a/vcl/unx/gtk3/fpicker/resourceprovider.cxx b/vcl/unx/gtk3/fpicker/resourceprovider.cxx
index 95c098a73488..f656a93093a8 100644
--- a/vcl/unx/gtk3/fpicker/resourceprovider.cxx
+++ b/vcl/unx/gtk3/fpicker/resourceprovider.cxx
@@ -32,7 +32,7 @@ using namespace ::com::sun::star::ui::dialogs::CommonFilePickerElementIds;
const struct
{
sal_Int32 ctrlId;
- const char *resId;
+ TranslateId resId;
} CtrlIdToResIdTable[] = {
{ CHECKBOX_AUTOEXTENSION, STR_FPICKER_AUTO_EXTENSION },
{ CHECKBOX_PASSWORD, STR_FPICKER_PASSWORD },
@@ -57,21 +57,21 @@ const struct
{ FILE_PICKER_FILE_TYPE, STR_FPICKER_TYPE }
};
-static const char* CtrlIdToResId( sal_Int32 aControlId )
+static TranslateId CtrlIdToResId( sal_Int32 aControlId )
{
for (auto & i : CtrlIdToResIdTable)
{
if ( i.ctrlId == aControlId )
return i.resId;
}
- return nullptr;
+ return {};
}
OUString SalGtkPicker::getResString( sal_Int32 aId )
{
OUString aResString;
// translate the control id to a resource id
- const char *pResId = CtrlIdToResId( aId );
+ TranslateId pResId = CtrlIdToResId( aId );
if (pResId)
aResString = VclResId(pResId);
return aResString.replace('~', '_');
More information about the Libreoffice-commits
mailing list