summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/vcl/menu.hxx2
-rw-r--r--include/vcl/outdev.hxx4
-rw-r--r--vcl/source/gdi/outdev3.cxx24
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx2
-rw-r--r--vcl/source/window/menu.cxx45
5 files changed, 40 insertions, 37 deletions
diff --git a/include/vcl/menu.hxx b/include/vcl/menu.hxx
index 5cc1af4fbc25..54bb0a66726b 100644
--- a/include/vcl/menu.hxx
+++ b/include/vcl/menu.hxx
@@ -420,7 +420,7 @@ public:
// add an arbitrary button to the menubar (will appear next to closer)
// passed link will be call with a MenuBarButtonCallbackArg on press
// passed string will be set as tooltip
- sal_uInt16 AddMenuBarButton( const Image&, const Link&, const String&, sal_uInt16 nPos = 0 );
+ sal_uInt16 AddMenuBarButton( const Image&, const Link&, const OUString&, sal_uInt16 nPos = 0 );
// set the highlight link for additional button with ID nId
// highlight link will be called with a MenuBarButtonHighlightArg
// the bHighlight member of that struct shall contain the new state
diff --git a/include/vcl/outdev.hxx b/include/vcl/outdev.hxx
index 2e5ad686a7d8..696a928571a4 100644
--- a/include/vcl/outdev.hxx
+++ b/include/vcl/outdev.hxx
@@ -629,9 +629,9 @@ public:
long GetCtrlTextWidth( const OUString& rStr, xub_StrLen nIndex = 0,
xub_StrLen nLen = STRING_LEN,
sal_uInt16 nStyle = TEXT_DRAW_MNEMONIC ) const;
- static OUString GetNonMnemonicString( const OUString& rStr, xub_StrLen& rMnemonicPos );
+ static OUString GetNonMnemonicString( const OUString& rStr, sal_Int32& rMnemonicPos );
static OUString GetNonMnemonicString( const OUString& rStr )
- { xub_StrLen nDummy; return GetNonMnemonicString( rStr, nDummy ); }
+ { sal_Int32 nDummy; return GetNonMnemonicString( rStr, nDummy ); }
sal_Bool GetTextBoundRect( Rectangle& rRect,
const OUString& rStr, xub_StrLen nBase = 0, xub_StrLen nIndex = 0, xub_StrLen nLen = STRING_LEN,
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 4a257d439ba3..0f61edfd07e5 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -6145,7 +6145,7 @@ void OutputDevice::ImplDrawText( OutputDevice& rTargetDevice, const Rectangle& r
long nTextHeight = rTargetDevice.GetTextHeight();
TextAlign eAlign = rTargetDevice.GetTextAlign();
- xub_StrLen nMnemonicPos = STRING_NOTFOUND;
+ sal_Int32 nMnemonicPos = STRING_NOTFOUND;
OUString aStr = rOrigStr;
if ( nStyle & TEXT_DRAW_MNEMONIC )
@@ -6721,7 +6721,7 @@ void OutputDevice::DrawCtrlText( const Point& rPos, const OUString& rStr,
nLen = rStr.getLength() - nIndex;
OUString aStr = rStr;
- xub_StrLen nMnemonicPos = STRING_NOTFOUND;
+ sal_Int32 nMnemonicPos = STRING_NOTFOUND;
long nMnemonicX = 0;
long nMnemonicY = 0;
@@ -6835,14 +6835,14 @@ long OutputDevice::GetCtrlTextWidth( const OUString& rStr,
if ( nStyle & TEXT_DRAW_MNEMONIC )
{
- xub_StrLen nMnemonicPos;
+ sal_Int32 nMnemonicPos;
OUString aStr = GetNonMnemonicString( rStr, nMnemonicPos );
if ( nMnemonicPos != STRING_NOTFOUND )
{
if ( nMnemonicPos < nIndex )
nIndex--;
else if ( (nLen < STRING_LEN) &&
- (nMnemonicPos >= nIndex) && (nMnemonicPos < (sal_uLong)(nIndex+nLen)) )
+ (nMnemonicPos >= nIndex) && ((sal_uLong)nMnemonicPos < (sal_uLong)(nIndex+nLen)) )
nLen--;
}
return GetTextWidth( aStr, nIndex, nLen );
@@ -6851,27 +6851,27 @@ long OutputDevice::GetCtrlTextWidth( const OUString& rStr,
return GetTextWidth( rStr, nIndex, nLen );
}
-OUString OutputDevice::GetNonMnemonicString( const OUString& rStr, xub_StrLen& rMnemonicPos )
+OUString OutputDevice::GetNonMnemonicString( const OUString& rStr, sal_Int32& rMnemonicPos )
{
- String aStr = rStr;
- xub_StrLen nLen = aStr.Len();
- xub_StrLen i = 0;
+ OUString aStr = rStr;
+ sal_Int32 nLen = aStr.getLength();
+ sal_Int32 i = 0;
rMnemonicPos = STRING_NOTFOUND;
while ( i < nLen )
{
- if ( aStr.GetChar( i ) == '~' )
+ if ( aStr[ i ] == '~' )
{
- if ( aStr.GetChar( i+1 ) != '~' )
+ if ( aStr[ i+1 ] != '~' )
{
if ( rMnemonicPos == STRING_NOTFOUND )
rMnemonicPos = i;
- aStr.Erase( i, 1 );
+ aStr = aStr.replaceAt( i, 1, "" );
nLen--;
}
else
{
- aStr.Erase( i, 1 );
+ aStr = aStr.replaceAt( i, 1, "" );
nLen--;
i++;
}
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index 2757f76976f6..baa82e536d8d 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -7909,7 +7909,7 @@ void PDFWriterImpl::drawText( const Rectangle& rRect, const OUString& rOrigStr,
Point aPos = rRect.TopLeft();
long nTextHeight = m_pReferenceDevice->GetTextHeight();
- xub_StrLen nMnemonicPos = STRING_NOTFOUND;
+ sal_Int32 nMnemonicPos = STRING_NOTFOUND;
OUString aStr = rOrigStr;
if ( nStyle & TEXT_DRAW_MNEMONIC )
diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx
index e544cc0bce80..3de8686da539 100644
--- a/vcl/source/window/menu.cxx
+++ b/vcl/source/window/menu.cxx
@@ -741,7 +741,7 @@ public:
Size MinCloseButtonSize();
// add an arbitrary button to the menubar (will appear next to closer)
- sal_uInt16 AddMenuBarButton( const Image&, const Link&, const String&, sal_uInt16 nPos );
+ sal_uInt16 AddMenuBarButton( const Image&, const Link&, const OUString&, sal_uInt16 nPos );
void SetMenuBarButtonHighlightHdl( sal_uInt16 nId, const Link& );
Rectangle GetMenuBarButtonRectPixel( sal_uInt16 nId );
void RemoveMenuBarButton( sal_uInt16 nId );
@@ -841,12 +841,12 @@ static bool ImplHandleHelpEvent( Window* pMenuWindow, Menu* pMenu, sal_uInt16 nH
{
// is an id available, then call help with the id, otherwise
// use help-index
- String aCommand = pMenu->GetItemCommand( nId );
+ OUString aCommand = pMenu->GetItemCommand( nId );
OString aHelpId( pMenu->GetHelpId( nId ) );
if( aHelpId.isEmpty() )
aHelpId = OOO_HELP_INDEX;
- if ( aCommand.Len() )
+ if ( !aCommand.isEmpty() )
pHelp->Start( aCommand, NULL );
else
pHelp->Start( OStringToOUString( aHelpId, RTL_TEXTENCODING_UTF8 ), NULL );
@@ -1270,7 +1270,7 @@ void Menu::InsertItem( const ResId& rResId, sal_uInt16 nPos )
if ( nObjMask & RSC_MENUITEM_STATUS )
nStatus = sal::static_int_cast<MenuItemBits>(ReadLongRes());
- String aText;
+ OUString aText;
if ( nObjMask & RSC_MENUITEM_TEXT )
aText = ReadStringRes();
@@ -1280,7 +1280,7 @@ void Menu::InsertItem( const ResId& rResId, sal_uInt16 nPos )
if ( !bSep )
{
Bitmap aBmp( ResId( (RSHEADER_TYPE*)GetClassRes(), *pMgr ) );
- if ( aText.Len() )
+ if ( !aText.isEmpty() )
InsertItem( nItemId, aText, aBmp, nStatus, OString(), nPos );
else
InsertItem( nItemId, aBmp, nStatus, OString(), nPos );
@@ -1328,7 +1328,7 @@ void Menu::InsertItem( const ResId& rResId, sal_uInt16 nPos )
}
if ( nObjMask & RSC_MENUITEM_COMMAND )
{
- String aCommandStr = ReadStringRes();
+ OUString aCommandStr = ReadStringRes();
if ( !bSep )
SetItemCommand( nItemId, aCommandStr );
}
@@ -2027,7 +2027,10 @@ OUString Menu::ImplGetHelpText( sal_uInt16 nItemId ) const
{
MenuItemData* pData = pItemList->GetData( nItemId );
- if ( pData )
+ assert ( pData );
+
+ if ( pData->aHelpText.isEmpty() &&
+ (( !pData->aHelpId.isEmpty() ) || ( !pData->aCommandStr.isEmpty() )))
{
if ( pData->aHelpText.isEmpty() &&
(( !pData->aHelpId.isEmpty() ) || ( !pData->aCommandStr.isEmpty() )))
@@ -2042,8 +2045,6 @@ OUString Menu::ImplGetHelpText( sal_uInt16 nItemId ) const
pData->aHelpText = pHelp->GetHelpText( OStringToOUString( pData->aHelpId, RTL_TEXTENCODING_UTF8 ), NULL );
}
}
-
- return pData->aHelpText;
}
return OUString();
@@ -2064,6 +2065,8 @@ void Menu::SetTipHelpText( sal_uInt16 nItemId, const OUString& rStr )
OUString Menu::GetTipHelpText( sal_uInt16 nItemId ) const
{
+ static const OUString EMPTY("");
+
MenuItemData* pData = pItemList->GetData( nItemId );
if ( pData )
@@ -2476,7 +2479,7 @@ Size Menu::ImplCalcSize( Window* pWin )
// Accel
if ( !bIsMenuBar && pData->aAccelKey.GetCode() && !ImplAccelDisabled() )
{
- String aName = pData->aAccelKey.GetName();
+ OUString aName = pData->aAccelKey.GetName();
long nAccWidth = pWin->GetTextWidth( aName );
nAccWidth += nExtra;
nWidth += nAccWidth;
@@ -2597,20 +2600,20 @@ static void ImplPaintCheckBackground( Window* i_pWindow, const Rectangle& i_rRec
}
}
-static String getShortenedString( const String& i_rLong, Window* i_pWin, long i_nMaxWidth )
+static OUString getShortenedString( const OUString& i_rLong, Window* i_pWin, long i_nMaxWidth )
{
- xub_StrLen nPos = STRING_NOTFOUND;
- String aNonMnem( OutputDevice::GetNonMnemonicString( i_rLong, nPos ) );
+ sal_Int32 nPos = STRING_NOTFOUND;
+ OUString aNonMnem( OutputDevice::GetNonMnemonicString( i_rLong, nPos ) );
aNonMnem = i_pWin->GetEllipsisString( aNonMnem, i_nMaxWidth, TEXT_DRAW_CENTERELLIPSIS );
// re-insert mnemonic
if( nPos != STRING_NOTFOUND )
{
- if( nPos < aNonMnem.Len() && i_rLong.GetChar(nPos+1) == aNonMnem.GetChar(nPos) )
+ if( nPos < aNonMnem.getLength() && i_rLong[nPos+1] == aNonMnem[nPos] )
{
- OUStringBuffer aBuf( i_rLong.Len() );
- aBuf.append( aNonMnem.GetBuffer(), nPos );
+ OUStringBuffer aBuf( i_rLong.getLength() );
+ aBuf.append( aNonMnem.copy( 0, nPos) );
aBuf.append( sal_Unicode('~') );
- aBuf.append( aNonMnem.GetBuffer()+nPos );
+ aBuf.append( aNonMnem.copy(nPos) );
aNonMnem = aBuf.makeStringAndClear();
}
}
@@ -2848,8 +2851,8 @@ void Menu::ImplPaint( Window* pWin, sal_uInt16 nBorder, long nStartY, MenuItemDa
{
nMaxItemTextWidth -= nFontHeight - nExtra;
}
- String aItemText( getShortenedString( pData->aText, pWin, nMaxItemTextWidth ) );
- pWin->DrawCtrlText( aTmpPos, aItemText, 0, aItemText.Len(), nStyle, pVector, pDisplayText );
+ OUString aItemText( getShortenedString( pData->aText, pWin, nMaxItemTextWidth ) );
+ pWin->DrawCtrlText( aTmpPos, aItemText, 0, aItemText.getLength(), nStyle, pVector, pDisplayText );
if( bSetTmpBackground )
pWin->SetBackground();
}
@@ -3468,7 +3471,7 @@ sal_Bool MenuBar::HandleMenuCommandEvent( Menu *pMenu, sal_uInt16 nCommandEventI
return sal_False;
}
-sal_uInt16 MenuBar::AddMenuBarButton( const Image& i_rImage, const Link& i_rLink, const String& i_rToolTip, sal_uInt16 i_nPos )
+sal_uInt16 MenuBar::AddMenuBarButton( const Image& i_rImage, const Link& i_rLink, const OUString& i_rToolTip, sal_uInt16 i_nPos )
{
return pWindow ? static_cast<MenuBarWindow*>(pWindow)->AddMenuBarButton( i_rImage, i_rLink, i_rToolTip, i_nPos ) : 0;
}
@@ -6045,7 +6048,7 @@ void MenuBarWindow::GetFocus()
return xAcc;
}
-sal_uInt16 MenuBarWindow::AddMenuBarButton( const Image& i_rImage, const Link& i_rLink, const String& i_rToolTip, sal_uInt16 i_nPos )
+sal_uInt16 MenuBarWindow::AddMenuBarButton( const Image& i_rImage, const Link& i_rLink, const OUString& i_rToolTip, sal_uInt16 i_nPos )
{
// find first free button id
sal_uInt16 nId = IID_DOCUMENTCLOSE;