summaryrefslogtreecommitdiffstats
path: root/fpicker/source/office/OfficeControlAccess.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'fpicker/source/office/OfficeControlAccess.cxx')
-rwxr-xr-x[-rw-r--r--]fpicker/source/office/OfficeControlAccess.cxx52
1 files changed, 26 insertions, 26 deletions
diff --git a/fpicker/source/office/OfficeControlAccess.cxx b/fpicker/source/office/OfficeControlAccess.cxx
index de223c446765..50632bf89d95 100644..100755
--- a/fpicker/source/office/OfficeControlAccess.cxx
+++ b/fpicker/source/office/OfficeControlAccess.cxx
@@ -36,6 +36,7 @@
#include <com/sun/star/ui/dialogs/ControlActions.hpp>
#include <vcl/lstbox.hxx>
#include <com/sun/star/uno/Sequence.hxx>
+#include <tools/urlobj.hxx>
#include <algorithm>
#include <functional>
@@ -201,37 +202,36 @@ namespace svt
}
//---------------------------------------------------------------------
- void OControlAccess::setHelpURL( Window* _pControl, const ::rtl::OUString& _rURL, sal_Bool _bFileView )
+ void OControlAccess::setHelpURL( Window* _pControl, const ::rtl::OUString& sHelpURL, sal_Bool _bFileView )
{
- String sHelpURL( _rURL );
- if ( COMPARE_EQUAL == sHelpURL.CompareIgnoreCaseToAscii( "HID:", sizeof( "HID:" ) - 1 ) )
- {
- String sID = sHelpURL.Copy( sizeof( "HID:" ) - 1 );
- sal_Int32 nHelpId = sID.ToInt32();
+ rtl::OUString sHelpID( sHelpURL );
+ INetURLObject aHID( sHelpURL );
+ if ( aHID.GetProtocol() == INET_PROT_HID )
+ sHelpID = aHID.GetURLPath();
- if ( _bFileView )
- // the file view "overloaded" the SetHelpId
- static_cast< SvtFileView* >( _pControl )->SetHelpId( nHelpId );
- else
- _pControl->SetHelpId( nHelpId );
- }
+ // URLs should always be UTF8 encoded and escaped
+ rtl::OString sID( rtl::OUStringToOString( sHelpID, RTL_TEXTENCODING_UTF8 ) );
+ if ( _bFileView )
+ // the file view "overloaded" the SetHelpId
+ static_cast< SvtFileView* >( _pControl )->SetHelpId( sID );
else
- {
- DBG_ERRORFILE( "OControlAccess::setHelpURL: unsupported help URL type!" );
- }
+ _pControl->SetHelpId( sID );
}
//---------------------------------------------------------------------
::rtl::OUString OControlAccess::getHelpURL( Window* _pControl, sal_Bool _bFileView )
{
- sal_Int32 nHelpId = _pControl->GetHelpId();
+ rtl::OString aHelpId = _pControl->GetHelpId();
if ( _bFileView )
// the file view "overloaded" the SetHelpId
- nHelpId = static_cast< SvtFileView* >( _pControl )->GetHelpId( );
-
- ::rtl::OUString sHelpURL( RTL_CONSTASCII_USTRINGPARAM( "HID:" ) );
- sHelpURL += ::rtl::OUString::valueOf( (sal_Int32)nHelpId );
-
+ aHelpId = static_cast< SvtFileView* >( _pControl )->GetHelpId( );
+
+ ::rtl::OUString sHelpURL;
+ ::rtl::OUString aTmp( rtl::OStringToOUString( aHelpId, RTL_TEXTENCODING_UTF8 ) );
+ INetURLObject aHID( aTmp );
+ if ( aHID.GetProtocol() == INET_PROT_NOT_VALID )
+ sHelpURL = rtl::OUString::createFromAscii( INET_HID_SCHEME );
+ sHelpURL += aTmp;
return sHelpURL;
}
@@ -539,7 +539,7 @@ namespace svt
{
sal_Int32 nPos = 0;
if ( _rValue >>= nPos )
- _pListbox->RemoveEntry( (USHORT) nPos );
+ _pListbox->RemoveEntry( (sal_uInt16) nPos );
}
break;
@@ -677,7 +677,7 @@ namespace svt
sal_Int32 nPos = 0;
if ( _rValue >>= nPos )
{
- static_cast< ListBox* >( _pControl )->SelectEntryPos( (USHORT) nPos );
+ static_cast< ListBox* >( _pControl )->SelectEntryPos( (sal_uInt16) nPos );
}
else if ( !_bIgnoreIllegalArgument )
{
@@ -739,7 +739,7 @@ namespace svt
Sequence< ::rtl::OUString > aItems( static_cast< ListBox* >( _pControl )->GetEntryCount() );
::rtl::OUString* pItems = aItems.getArray();
- for ( USHORT i=0; i<static_cast< ListBox* >( _pControl )->GetEntryCount(); ++i )
+ for ( sal_uInt16 i=0; i<static_cast< ListBox* >( _pControl )->GetEntryCount(); ++i )
*pItems++ = static_cast< ListBox* >( _pControl )->GetEntry( i );
aReturn <<= aItems;
@@ -751,7 +751,7 @@ namespace svt
DBG_ASSERT( WINDOW_LISTBOX == _pControl->GetType(),
"OControlAccess::implGetControlProperty: invalid control/property combination!" );
- USHORT nSelected = static_cast< ListBox* >( _pControl )->GetSelectEntryPos();
+ sal_uInt16 nSelected = static_cast< ListBox* >( _pControl )->GetSelectEntryPos();
::rtl::OUString sSelected;
if ( LISTBOX_ENTRY_NOTFOUND != nSelected )
sSelected = static_cast< ListBox* >( _pControl )->GetSelectEntry();
@@ -764,7 +764,7 @@ namespace svt
DBG_ASSERT( WINDOW_LISTBOX == _pControl->GetType(),
"OControlAccess::implGetControlProperty: invalid control/property combination!" );
- USHORT nSelected = static_cast< ListBox* >( _pControl )->GetSelectEntryPos();
+ sal_uInt16 nSelected = static_cast< ListBox* >( _pControl )->GetSelectEntryPos();
if ( LISTBOX_ENTRY_NOTFOUND != nSelected )
aReturn <<= (sal_Int32)static_cast< ListBox* >( _pControl )->GetSelectEntryPos();
else