summaryrefslogtreecommitdiff
path: root/svtools/source/uno/wizard/unowizard.cxx
diff options
context:
space:
mode:
authorChristian Lippka <cl@openoffice.org>2010-12-01 10:58:22 +0100
committerChristian Lippka <cl@openoffice.org>2010-12-01 10:58:22 +0100
commit9439eba6db26f27bb713168440d27fe51fbfadb8 (patch)
treee12be13a5610dada674d75b36822fe50047c1f95 /svtools/source/uno/wizard/unowizard.cxx
parentfa4b286294a272b085c2f74e12581edc2343fc18 (diff)
parent69777a477e6084a9cd49c92b25fa4dc35b41e49d (diff)
impressdefaults1: merge
Diffstat (limited to 'svtools/source/uno/wizard/unowizard.cxx')
-rw-r--r--svtools/source/uno/wizard/unowizard.cxx33
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();
}