LibreOffice Module vcl (master)
1
vcl
source
text
text/mnemonic.cxx
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2
/*
3
* This file is part of the LibreOffice project.
4
*
5
* This Source Code Form is subject to the terms of the Mozilla Public
6
* License, v. 2.0. If a copy of the MPL was not distributed with this
7
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
8
*/
9
10
#include <
vcl/mnemonic.hxx
>
11
12
OUString
removeMnemonicFromString
(OUString
const
& rStr)
13
{
14
sal_Int32 nDummy;
15
return
removeMnemonicFromString
(rStr, nDummy);
16
}
17
18
OUString
removeMnemonicFromString
(OUString
const
& rStr, sal_Int32& rMnemonicPos)
19
{
20
OUString
aStr
= rStr;
21
sal_Int32 nLen =
aStr
.getLength();
22
sal_Int32
i
= 0;
23
24
rMnemonicPos = -1;
25
while
(
i
< nLen)
26
{
27
if
(
aStr
[
i
] ==
'~'
)
28
{
29
if
(nLen <=
i
+ 1)
30
break
;
31
32
if
(
aStr
[
i
+ 1] !=
'~'
)
33
{
34
if
(rMnemonicPos == -1)
35
rMnemonicPos =
i
;
36
aStr
=
aStr
.replaceAt(
i
, 1,
u
""
);
37
nLen--;
38
}
39
else
40
{
41
aStr
=
aStr
.replaceAt(
i
, 1,
u
""
);
42
nLen--;
43
i
++;
44
}
45
}
46
else
47
i
++;
48
}
49
50
return
aStr
;
51
}
52
53
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
u
float u
aStr
aStr
mnemonic.hxx
i
int i
removeMnemonicFromString
OUString removeMnemonicFromString(OUString const &rStr)
Definition:
text/mnemonic.cxx:12
Generated on Sun Jul 30 2023 04:35:50 for LibreOffice Module vcl (master) by
1.9.3