diff options
author | Christian Lippka <cl@openoffice.org> | 2010-12-01 10:58:22 +0100 |
---|---|---|
committer | Christian Lippka <cl@openoffice.org> | 2010-12-01 10:58:22 +0100 |
commit | 9439eba6db26f27bb713168440d27fe51fbfadb8 (patch) | |
tree | e12be13a5610dada674d75b36822fe50047c1f95 /svtools/source/uno/wizard/unowizard.cxx | |
parent | fa4b286294a272b085c2f74e12581edc2343fc18 (diff) | |
parent | 69777a477e6084a9cd49c92b25fa4dc35b41e49d (diff) |
impressdefaults1: merge
Diffstat (limited to 'svtools/source/uno/wizard/unowizard.cxx')
-rw-r--r-- | svtools/source/uno/wizard/unowizard.cxx | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/svtools/source/uno/wizard/unowizard.cxx b/svtools/source/uno/wizard/unowizard.cxx index 9440c0e69f26..ea147c5979d3 100644 --- a/svtools/source/uno/wizard/unowizard.cxx +++ b/svtools/source/uno/wizard/unowizard.cxx @@ -42,6 +42,7 @@ #include <rtl/strbuf.hxx> #include <vos/mutex.hxx> #include <vcl/svapp.hxx> +#include <tools/urlobj.hxx> //...................................................................................................................... namespace svt { namespace uno @@ -206,11 +207,32 @@ namespace svt { namespace uno m_bInitialized = true; } + static rtl::OString lcl_getHelpId( const ::rtl::OUString& _rHelpURL ) + { + INetURLObject aHID( _rHelpURL ); + if ( aHID.GetProtocol() == INET_PROT_HID ) + return rtl::OUStringToOString( aHID.GetURLPath(), RTL_TEXTENCODING_UTF8 ); + else + return rtl::OUStringToOString( _rHelpURL, RTL_TEXTENCODING_UTF8 ); + } + + //------------------------------------------------------------------------ + static ::rtl::OUString lcl_getHelpURL( const rtl::OString& sHelpId ) + { + ::rtl::OUStringBuffer aBuffer; + ::rtl::OUString aTmp( sHelpId, sHelpId.getLength(), RTL_TEXTENCODING_UTF8 ); + INetURLObject aHID( aTmp ); + if ( aHID.GetProtocol() == INET_PROT_NOT_VALID ) + aBuffer.appendAscii( INET_HID_SCHEME ); + aBuffer.append( aTmp.getStr() ); + return aBuffer.makeStringAndClear(); + } + //-------------------------------------------------------------------- Dialog* Wizard::createDialog( Window* i_pParent ) { WizardShell* pDialog( new WizardShell( i_pParent, this, m_xController, m_aWizardSteps ) ); - pDialog->SetSmartHelpId( SmartId( m_sHelpURL ) ); + pDialog->SetHelpId( lcl_getHelpId( m_sHelpURL ) ); pDialog->setTitleBase( m_sTitle ); return pDialog; } @@ -219,7 +241,7 @@ namespace svt { namespace uno void Wizard::destroyDialog() { if ( m_pDialog ) - m_sHelpURL = m_pDialog->GetSmartHelpId().GetStr(); + m_sHelpURL = lcl_getHelpURL( m_pDialog->GetHelpId() ); Wizard_Base::destroyDialog(); } @@ -279,8 +301,7 @@ namespace svt { namespace uno if ( !m_pDialog ) return m_sHelpURL; - const SmartId aSmartId( m_pDialog->GetSmartHelpId() ); - return aSmartId.GetStr(); + return lcl_getHelpURL( m_pDialog->GetHelpId() ); } //------------------------------------------------------------------------------------------------------------------ @@ -292,7 +313,7 @@ namespace svt { namespace uno if ( !m_pDialog ) m_sHelpURL = i_HelpURL; else - m_pDialog->SetSmartHelpId( SmartId( i_HelpURL ) ); + m_pDialog->SetHelpId( lcl_getHelpId( i_HelpURL ) ); } //------------------------------------------------------------------------------------------------------------------ @@ -414,7 +435,7 @@ namespace svt { namespace uno ::osl::MutexGuard aGuard( m_aMutex ); WizardShell* pWizardImpl = dynamic_cast< WizardShell* >( m_pDialog ); - ENSURE_OR_RETURN_FALSE( pWizardImpl, "Wizard::getCurrentPage: invalid dialog implementation!" ); + ENSURE_OR_RETURN( pWizardImpl, "Wizard::getCurrentPage: invalid dialog implementation!", Reference< XWizardPage >() ); return pWizardImpl->getCurrentWizardPage(); } |