Resolves: rhbz#902694 impossible short-cuts for OK/Cancel translations
auto-adding mnemonics to the first character of OK/Cancel translations suggests short-cuts under various CJK/Indic languages which can't be achieved with a single keystroke combination Some platforms want mnemonic-ed OK/Cancel, some don't. So lets have two translations, one for each situation, rather than trying to automunge. Change-Id: I23e21e79b27ead86f535309ca0efc2adea86ae24
This commit is contained in:
@@ -156,6 +156,8 @@
|
||||
#define SV_BUTTONTEXT_NEW 10115
|
||||
#define SV_BUTTONTEXT_EDIT 10116
|
||||
#define SV_BUTTONTEXT_APPLY 10117
|
||||
#define SV_BUTTONTEXT_OK_NOMNEMONIC 10118
|
||||
#define SV_BUTTONTEXT_CANCEL_NOMNEMONIC 10119
|
||||
|
||||
#define SV_STDTEXT_FIRST SV_STDTEXT_SERVICENOTAVAILABLE
|
||||
#define SV_STDTEXT_SERVICENOTAVAILABLE 10200
|
||||
|
@@ -143,18 +143,16 @@ OUString Button::GetStandardText( StandardButtonType eButton )
|
||||
}
|
||||
|
||||
sal_uInt32 nResId = aResIdAry[(sal_uInt16)eButton].nResId;
|
||||
OUString aText = ResId(nResId, *pResMgr).toString();
|
||||
|
||||
if (nResId == SV_BUTTONTEXT_OK || nResId == SV_BUTTONTEXT_CANCEL)
|
||||
{
|
||||
#ifndef WNT
|
||||
// Windows (apparently) has some magic auto-accelerator evil around
|
||||
// ok / cancel so add accelerators only for Unix
|
||||
if (aText.indexOf('~') == -1)
|
||||
return "~" + aText;
|
||||
#ifdef WNT
|
||||
// http://lists.freedesktop.org/archives/libreoffice/2013-January/044513.html
|
||||
// Under windows we don't want accelerators on ok/cancel but do on other
|
||||
// buttons
|
||||
if (nResId == SV_BUTTONTEXT_OK)
|
||||
nResId = SV_BUTTONTEXT_OK_NOMNEMONIC;
|
||||
else if (nResId == SV_BUTTONTEXT_CANCEL)
|
||||
nResId = SV_BUTTONTEXT_CANCEL_NOMNEMONIC;
|
||||
#endif
|
||||
}
|
||||
return aText;
|
||||
return ResId(nResId, *pResMgr).toString();
|
||||
}
|
||||
|
||||
// -----------------------------------------------------------------------
|
||||
|
@@ -18,13 +18,30 @@
|
||||
|
||||
#include <svids.hrc>
|
||||
|
||||
//http://lists.freedesktop.org/archives/libreoffice/2013-January/044513.html
|
||||
//Special OK/Cancel handling
|
||||
|
||||
String SV_BUTTONTEXT_OK
|
||||
{
|
||||
Text [ en-US ] = "OK";
|
||||
Text [ x-comment ] = "This is used on buttons for platforms other than windows, there should be a ~ mnemonic in this string";
|
||||
Text [ en-US ] = "~OK";
|
||||
};
|
||||
|
||||
String SV_BUTTONTEXT_CANCEL
|
||||
{
|
||||
Text [ x-comment ] = "This is used on buttons for platforms other than windows, there should be a ~ mnemonic in this string";
|
||||
Text [ en-US ] = "~Cancel";
|
||||
};
|
||||
|
||||
String SV_BUTTONTEXT_OK_NOMNEMONIC
|
||||
{
|
||||
Text [ x-comment ] = "This is used on buttons for Windows, there should be no ~ mnemonic in this string";
|
||||
Text [ en-US ] = "OK";
|
||||
};
|
||||
|
||||
String SV_BUTTONTEXT_CANCEL_NOMNEMONIC
|
||||
{
|
||||
Text [ x-comment ] = "This is used on buttons for Windows, there should be no ~ mnemonic in this string";
|
||||
Text [ en-US ] = "Cancel";
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user