diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-01-25 13:42:13 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-01-25 13:54:55 +0000 |
commit | 14d8cd11d6b4831811dbaeb6cfa1f81392251abe (patch) | |
tree | b76eacf3ce4cedf6aa727d0d1b4edb3e36307782 /vcl/source | |
parent | 610ebd9a1100095b81835a476465b6ef126e8e1e (diff) |
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
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/control/button.cxx | 20 | ||||
-rw-r--r-- | vcl/source/src/btntext.src | 19 |
2 files changed, 27 insertions, 12 deletions
diff --git a/vcl/source/control/button.cxx b/vcl/source/control/button.cxx index 1cc10af31937..e2f8b76b6cde 100644 --- a/vcl/source/control/button.cxx +++ b/vcl/source/control/button.cxx @@ -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(); } // ----------------------------------------------------------------------- diff --git a/vcl/source/src/btntext.src b/vcl/source/src/btntext.src index 5f93307428bb..a16fc703253f 100644 --- a/vcl/source/src/btntext.src +++ b/vcl/source/src/btntext.src @@ -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"; }; |