summaryrefslogtreecommitdiff
path: root/sfx2/source/appl
diff options
context:
space:
mode:
authorMathias Bauer <mba@openoffice.org>2010-10-28 23:02:10 +0200
committerMathias Bauer <mba@openoffice.org>2010-10-28 23:02:10 +0200
commit8195a53de6169134dc70a5a0d315b547f19ae777 (patch)
tree2bd3298173c3d909e201100018a21ea484a2e738 /sfx2/source/appl
parent71b2148db2353d28506adab23949d5e631fecffd (diff)
parente2cfe20f42c94c784531446ebeddc0d720e277d8 (diff)
CWS gnumake: resync to m91; conflicts unresolved
Diffstat (limited to 'sfx2/source/appl')
-rw-r--r--sfx2/source/appl/app.cxx2
-rw-r--r--sfx2/source/appl/app.src163
-rw-r--r--sfx2/source/appl/appcfg.cxx18
-rw-r--r--sfx2/source/appl/appquit.cxx3
-rw-r--r--sfx2/source/appl/appserv.cxx7
-rw-r--r--[-rwxr-xr-x]sfx2/source/appl/appuno.cxx161
-rw-r--r--sfx2/source/appl/dde.src4
-rw-r--r--sfx2/source/appl/impldde.cxx8
-rw-r--r--sfx2/source/appl/makefile.mk1
-rw-r--r--sfx2/source/appl/newhelp.cxx6
-rw-r--r--sfx2/source/appl/newhelp.src12
-rw-r--r--sfx2/source/appl/opengrf.cxx7
-rw-r--r--sfx2/source/appl/sfxdll.cxx69
-rw-r--r--sfx2/source/appl/sfxhelp.cxx586
14 files changed, 354 insertions, 693 deletions
diff --git a/sfx2/source/appl/app.cxx b/sfx2/source/appl/app.cxx
index e1028de7d0..63f0a74a61 100644
--- a/sfx2/source/appl/app.cxx
+++ b/sfx2/source/appl/app.cxx
@@ -118,7 +118,7 @@
#include <sfx2/mnuitem.hxx>
#endif
-#if defined( WIN ) || defined( WNT ) || defined( OS2 )
+#if defined( WNT ) || defined( OS2 )
#define DDE_AVAILABLE
#endif
diff --git a/sfx2/source/appl/app.src b/sfx2/source/appl/app.src
index 1aaac0b5a5..ae524c25ba 100644
--- a/sfx2/source/appl/app.src
+++ b/sfx2/source/appl/app.src
@@ -665,169 +665,6 @@ String RID_ENVTOOLBOX
Text [ en-US ] = "Function Bar" ;
};
-ToolBox RID_ENVTOOLBOX
-{
- HelpId = RID_ENVTOOLBOX ;
- ButtonType = BUTTON_SYMBOL ;
- LineSpacing = TRUE ;
- Border = TRUE ;
- Scroll = TRUE ;
- SVLook = TRUE ;
- Dockable = TRUE ;
- Moveable = TRUE ;
- Sizeable = TRUE ;
- Closeable = TRUE ;
- Zoomable = TRUE ;
- Customize = TRUE ;
- FloatingMode = FALSE ;
- Hide = TRUE ;
- HideWhenDeactivate = TRUE ;
- Align = BOXALIGN_TOP ;
- ItemList =
- {
- ToolBoxItem
- {
- Identifier = SID_OPENURL ;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_NEWDOCDIRECT ;
- DropDown = TRUE;
- };
- ToolBoxItem
- {
- Identifier = SID_NEWDOC ;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Identifier = SID_OPENDOC ;
- };
- ToolBoxItem
- {
- Identifier = SID_SAVEDOC ;
- };
- ToolBoxItem
- {
- Identifier = SID_SAVEASDOC ;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_EDITDOC ;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_DIRECTEXPORTDOCASPDF ;
- };
- ToolBoxItem
- {
- Identifier = SID_PRINTDOCDIRECT ;
- };
- ToolBoxItem
- {
- Identifier = FN_FAX ;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_CUT ;
- };
- ToolBoxItem
- {
- Identifier = SID_COPY ;
- };
- ToolBoxItem
- {
- Identifier = SID_PASTE ;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_UNDO ;
- };
- ToolBoxItem
- {
- Identifier = SID_REDO ;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_NAVIGATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_STYLE_DESIGNER ;
- };
- ToolBoxItem
- {
- Identifier = SID_HYPERLINK_DIALOG ;
- };
- ToolBoxItem
- {
- Identifier = SID_HYPERLINK_INSERT ;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Identifier = SID_WIN_FULLSCREEN ;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_RECORDMACRO;
- Hide = TRUE;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_GALLERY ;
- };
- ToolBoxItem
- {
- Identifier = SID_AVMEDIA_PLAYER ;
- };
- ToolBoxItem
- {
- Type = TOOLBOXITEM_SEPARATOR ;
- };
- ToolBoxItem
- {
- Identifier = SID_CLOSEDOC;
- Hide = TRUE;
- };
- };
-};
-
String RID_SPECIALCONFIG_ERROR
{
Text [ en-US ] = "An error has occurred in the special configuration.\nPlease contact your administrator." ;
diff --git a/sfx2/source/appl/appcfg.cxx b/sfx2/source/appl/appcfg.cxx
index 06532a8af0..a109f6532b 100644
--- a/sfx2/source/appl/appcfg.cxx
+++ b/sfx2/source/appl/appcfg.cxx
@@ -58,8 +58,6 @@
#include <sfx2/sfxsids.hrc>
#include <sot/exchange.hxx>
-//#include <svtools/agprop.hxx>
-//#include <sj2/sjapplet.hxx>
#include <svl/isethint.hxx>
#include <unotools/configmgr.hxx>
@@ -828,22 +826,6 @@ void SfxApplication::SetOptions_Impl( const SfxItemSet& rSet )
#endif
}
- // INet Session neu aufsetzen
- if ( bResetSession )
- {
- // no more sj2
- #if 0
- try
- {
- SjApplet2::settingsChanged();
- }
- catch ( ... )
- {
- DBG_ERRORFILE( "SjApplet2::settingsChanged() throws an exception" );
- }
- #endif
- }
-
// geaenderte Daten speichern
aInetOptions.flush();
}
diff --git a/sfx2/source/appl/appquit.cxx b/sfx2/source/appl/appquit.cxx
index a82d42a510..8499376f1c 100644
--- a/sfx2/source/appl/appquit.cxx
+++ b/sfx2/source/appl/appquit.cxx
@@ -30,9 +30,6 @@
#include <basic/basmgr.hxx>
#include <basic/sbstar.hxx>
-#ifdef WIN
-#define _TL_LANG_SPECIAL
-#endif
#include <svl/svdde.hxx>
#ifndef _MSGBOX_HXX //autogen
#include <vcl/msgbox.hxx>
diff --git a/sfx2/source/appl/appserv.cxx b/sfx2/source/appl/appserv.cxx
index e51364b6fb..d12483a11e 100644
--- a/sfx2/source/appl/appserv.cxx
+++ b/sfx2/source/appl/appserv.cxx
@@ -346,11 +346,10 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
Help* pHelp = Application::GetHelp();
if ( pHelp )
{
- ULONG nHelpId = ( rReq.GetSlot() == SID_HELP_SUPPORTPAGE ) ? 66056 : 0;
- if ( 66056 == nHelpId )
+ if ( rReq.GetSlot() == SID_HELP_SUPPORTPAGE )
{
// show Support page with new URL
- String sHelpURL = SfxHelp::CreateHelpURL( nHelpId, String() );
+ String sHelpURL = SfxHelp::CreateHelpURL( String::CreateFromAscii(".uno:HelpSupport"), String() );
String sParams = sHelpURL.Copy( sHelpURL.Search( '?' ) );
sHelpURL = String::CreateFromAscii("vnd.sun.star.help://shared/text/shared/05/00000001.xhp");
sHelpURL += sParams;
@@ -358,7 +357,7 @@ void SfxApplication::MiscExec_Impl( SfxRequest& rReq )
pHelp->Start( sHelpURL, NULL );
}
else
- pHelp->Start( nHelpId, NULL ); // show start page
+ pHelp->Start( String::CreateFromAscii(".uno:HelpIndex"), NULL ); // show start page
bDone = TRUE;
}
break;
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index 7bbd4c22a3..6b922e5b45 100755..100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -132,7 +132,6 @@ using namespace ::com::sun::star::io;
#include "sfx2/brokenpackageint.hxx"
#include "eventsupplier.hxx"
#include "xpackcreator.hxx"
-// #include "applet.hxx"
#include "plugin.hxx"
#include "iframe.hxx"
#include <ownsubfilterservice.hxx>
@@ -2109,166 +2108,6 @@ SFX2_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment(
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-SFX2_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo(
- void* ,
- void* pRegistryKey )
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > xKey( reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( pRegistryKey ) ) ;
-
- // register actual implementations and their services
- ::rtl::OUString aImpl;
- ::rtl::OUString aTempStr;
- ::rtl::OUString aKeyStr;
- Reference< XRegistryKey > xNewKey;
- Reference< XRegistryKey > xLoaderKey;
-
- // PluginObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::PluginObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
-
- #if 0
- // AppletObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::AppletObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
- #endif
-
- // IFrameObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::IFrameObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
-
- // global app event broadcaster
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxGlobalEvents_Impl::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.GlobalEventBroadcaster") );
-
- // global app dispatcher
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxAppDispatchProvider::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler") );
-
- // standalone document info
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxStandaloneDocumentInfoObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.document.StandaloneDocumentInfo") );
-
- // frame loader
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxFrameLoader_Impl::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- Sequence < ::rtl::OUString > aServices = SfxFrameLoader_Impl::impl_getStaticSupportedServiceNames();
- sal_Int32 nCount = aServices.getLength();
- for ( sal_Int16 i=0; i<nCount; i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- // macro loader
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxMacroLoader::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler") );
-
- // - sfx document templates
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxDocTplService::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.DocumentTemplates") );
-
- // quickstart wrapper service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ShutdownIcon::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.office.Quickstart") );
-
- // application script library container service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxApplicationScriptLibraryContainer::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.script.ApplicationScriptLibraryContainer") );
-
- // application dialog library container service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxApplicationDialogLibraryContainer::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.script.ApplicationDialogLibraryContainer") );
-
- // converter of fs folders to packages
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += OPackageStructureCreator::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- Sequence< ::rtl::OUString > rServices = OPackageStructureCreator::impl_getStaticSupportedServiceNames();
- for( sal_Int32 ind = 0; ind < rServices.getLength(); ind++ )
- xNewKey->createKey( rServices.getConstArray()[ind] );
-
- // subfilter to parse a stream in OASIS format generated by the filter
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::OwnSubFilterService::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- rServices = ::sfx2::OwnSubFilterService::impl_getStaticSupportedServiceNames();
- for( sal_Int32 ind = 0; ind < rServices.getLength(); ind++ )
- xNewKey->createKey( rServices.getConstArray()[ind] );
-
- // document meta data
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += comp_SfxDocumentMetaData::_getImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.document.DocumentProperties") );
-
- return sal_True;
-}
-
SFX2_DLLPUBLIC void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName ,
void* pServiceManager ,
diff --git a/sfx2/source/appl/dde.src b/sfx2/source/appl/dde.src
index 9b87bb94e6..4c846078ae 100644
--- a/sfx2/source/appl/dde.src
+++ b/sfx2/source/appl/dde.src
@@ -29,6 +29,7 @@
ModalDialog MD_DDE_LINKEDIT
{
+ HelpID = "sfx2:ModalDialog:MD_DDE_LINKEDIT";
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 223 , 74 ) ;
@@ -42,6 +43,7 @@ ModalDialog MD_DDE_LINKEDIT
};
Edit ED_DDE_APP
{
+ HelpID = "sfx2:Edit:MD_DDE_LINKEDIT:ED_DDE_APP";
Border = TRUE ;
Pos = MAP_APPFONT ( 55 , 14 ) ;
Size = MAP_APPFONT ( 100 , 12 ) ;
@@ -54,6 +56,7 @@ ModalDialog MD_DDE_LINKEDIT
};
Edit ED_DDE_TOPIC
{
+ HelpID = "sfx2:Edit:MD_DDE_LINKEDIT:ED_DDE_TOPIC";
Border = TRUE ;
Pos = MAP_APPFONT ( 55 , 32 ) ;
Size = MAP_APPFONT ( 100 , 12 ) ;
@@ -66,6 +69,7 @@ ModalDialog MD_DDE_LINKEDIT
};
Edit ED_DDE_ITEM
{
+ HelpID = "sfx2:Edit:MD_DDE_LINKEDIT:ED_DDE_ITEM";
Border = TRUE ;
Pos = MAP_APPFONT ( 55 , 50 ) ;
Size = MAP_APPFONT ( 100 , 12 ) ;
diff --git a/sfx2/source/appl/impldde.cxx b/sfx2/source/appl/impldde.cxx
index 6cee10c43b..6598b066d4 100644
--- a/sfx2/source/appl/impldde.cxx
+++ b/sfx2/source/appl/impldde.cxx
@@ -28,7 +28,7 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
#include <tools/svwin.h>
#endif
@@ -211,7 +211,7 @@ BOOL SvDDEObject::GetData( ::com::sun::star::uno::Any & rData /*out param*/,
BOOL SvDDEObject::Connect( SvBaseLink * pSvLink )
{
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
static BOOL bInWinExec = FALSE;
#endif
USHORT nLinkType = pSvLink->GetUpdateMode();
@@ -258,7 +258,7 @@ BOOL SvDDEObject::Connect( SvBaseLink * pSvLink )
// ansonsten unter Win/WinNT die Applikation direkt starten
}
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
// Server nicht da, starten und nochmal versuchen
if( !bInWinExec )
@@ -291,7 +291,7 @@ BOOL SvDDEObject::Connect( SvBaseLink * pSvLink )
}
}
else
-#endif // WIN / WNT
+#endif // WNT
{
nError = DDELINK_ERROR_APP;
}
diff --git a/sfx2/source/appl/makefile.mk b/sfx2/source/appl/makefile.mk
index 274e06b13c..536167abd0 100644
--- a/sfx2/source/appl/makefile.mk
+++ b/sfx2/source/appl/makefile.mk
@@ -102,7 +102,6 @@ SFX_OBJECTS = \
$(SLO)$/module.obj \
$(SLO)$/newhelp.obj \
$(SLO)$/opengrf.obj \
- $(SLO)$/sfxdll.obj \
$(SLO)$/sfxhelp.obj \
$(SLO)$/sfxpicklist.obj \
$(SLO)$/shutdownicon.obj \
diff --git a/sfx2/source/appl/newhelp.cxx b/sfx2/source/appl/newhelp.cxx
index 0213b858ae..4e30be073e 100644
--- a/sfx2/source/appl/newhelp.cxx
+++ b/sfx2/source/appl/newhelp.cxx
@@ -2138,7 +2138,7 @@ SfxHelpTextWindow_Impl::SfxHelpTextWindow_Impl( SfxHelpWindow_Impl* pParent ) :
SvtMiscOptions().AddListenerLink( LINK( this, SfxHelpTextWindow_Impl, NotifyHdl ) );
- if ( aOnStartupCB.GetHelpId() == 0 )
+ if ( !aOnStartupCB.GetHelpId().getLength() )
aOnStartupCB.SetHelpId( HID_HELP_ONSTARTUP_BOX );
}
@@ -2640,7 +2640,7 @@ long SfxHelpTextWindow_Impl::PreNotify( NotifyEvent& rNEvt )
aMenu.InsertSeparator();
aMenu.InsertItem( TBI_COPY, String( SfxResId( STR_HELP_MENU_TEXT_COPY ) ),
Image( SfxResId( bHiContrast ? IMG_HELP_TOOLBOX_HC_COPY : IMG_HELP_TOOLBOX_COPY ) ) );
- aMenu.SetHelpId( TBI_COPY, SID_COPY );
+ aMenu.SetHelpId( TBI_COPY, ".uno:Copy" );
aMenu.EnableItem( TBI_COPY, HasSelection() );
if ( bIsDebug )
@@ -3180,7 +3180,7 @@ void SfxHelpWindow_Impl::openDone(const ::rtl::OUString& sURL ,
xViewProps->setPropertyValue( DEFINE_CONST_OUSTRING("PreventHelpTips"), aBoolAny );
xViewProps->setPropertyValue( DEFINE_CONST_OUSTRING("ShowGraphics"), aBoolAny );
xViewProps->setPropertyValue( DEFINE_CONST_OUSTRING("ShowTables"), aBoolAny );
- xViewProps->setPropertyValue( DEFINE_CONST_OUSTRING("HelpURL"), makeAny( DEFINE_CONST_OUSTRING("HID:68245") ) );
+ xViewProps->setPropertyValue( DEFINE_CONST_OUSTRING("HelpURL"), makeAny( DEFINE_CONST_OUSTRING("HID:SFX2_HID_HELP_ONHELP") ) );
::rtl::OUString sProperty( DEFINE_CONST_OUSTRING("IsExecuteHyperlinks") );
if ( xInfo->hasPropertyByName( sProperty ) )
xViewProps->setPropertyValue( sProperty, aBoolAny );
diff --git a/sfx2/source/appl/newhelp.src b/sfx2/source/appl/newhelp.src
index cb89ed9231..5b07cc5404 100644
--- a/sfx2/source/appl/newhelp.src
+++ b/sfx2/source/appl/newhelp.src
@@ -93,12 +93,14 @@ TabPage TP_HELP_INDEX
};
ComboBox CB_INDEX
{
+ HelpID = "sfx2:ComboBox:TP_HELP_INDEX:CB_INDEX";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 17 ) ;
Size = MAP_APPFONT ( 108 , 97 ) ;
};
PushButton PB_OPEN_INDEX
{
+ HelpID = "sfx2:PushButton:TP_HELP_INDEX:PB_OPEN_INDEX";
Pos = MAP_APPFONT ( 64 , 115 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Display" ;
@@ -119,6 +121,7 @@ TabPage TP_HELP_SEARCH
};
ComboBox ED_SEARCH
{
+ HelpID = "sfx2:ComboBox:TP_HELP_SEARCH:ED_SEARCH";
Border = TRUE ;
DropDown = TRUE;
Pos = MAP_APPFONT ( 6 , 17 ) ;
@@ -126,30 +129,35 @@ TabPage TP_HELP_SEARCH
};
PushButton PB_SEARCH
{
+ HelpID = "sfx2:PushButton:TP_HELP_SEARCH:PB_SEARCH";
Pos = MAP_APPFONT ( 101 , 17 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Find";
};
CheckBox CB_FULLWORDS
{
+ HelpID = "sfx2:CheckBox:TP_HELP_SEARCH:CB_FULLWORDS";
Pos = MAP_APPFONT ( 6, 34 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ;
Text [ en-US ] = "~Complete words only";
};
CheckBox CB_SCOPE
{
+ HelpID = "sfx2:CheckBox:TP_HELP_SEARCH:CB_SCOPE";
Pos = MAP_APPFONT ( 6, 47 ) ;
Size = MAP_APPFONT ( 128 , 10 ) ;
Text [ en-US ] = "Find in ~headings only";
};
ListBox LB_RESULT
{
+ HelpID = "sfx2:ListBox:TP_HELP_SEARCH:LB_RESULT";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 60 ) ;
Size = MAP_APPFONT ( 128 , 30 ) ;
};
PushButton PB_OPEN_SEARCH
{
+ HelpID = "sfx2:PushButton:TP_HELP_SEARCH:PB_OPEN_SEARCH";
Pos = MAP_APPFONT ( 84 , 182 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Display" ;
@@ -170,6 +178,7 @@ TabPage TP_HELP_BOOKMARKS
};
ListBox LB_BOOKMARKS
{
+ HelpID = "sfx2:ListBox:TP_HELP_BOOKMARKS:LB_BOOKMARKS";
Border = TRUE ;
Sort = TRUE;
Pos = MAP_APPFONT ( 6 , 19 ) ;
@@ -177,6 +186,7 @@ TabPage TP_HELP_BOOKMARKS
};
PushButton PB_BOOKMARKS
{
+ HelpID = "sfx2:PushButton:TP_HELP_BOOKMARKS:PB_BOOKMARKS";
Pos = MAP_APPFONT ( 64 , 119 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Display" ;
@@ -337,6 +347,7 @@ String STR_HELP_MENU_TEXT_COPY
};
ModalDialog DLG_HELP_ADDBOOKMARK
{
+ HelpID = "sfx2:ModalDialog:DLG_HELP_ADDBOOKMARK";
Size = MAP_APPFONT ( 208 , 43 ) ;
Text [ en-US ] = "Add to Bookmarks";
MOVEABLE = TRUE ;
@@ -353,6 +364,7 @@ ModalDialog DLG_HELP_ADDBOOKMARK
};
Edit ED_BOOKMARK_TITLE
{
+ HelpID = "sfx2:Edit:DLG_HELP_ADDBOOKMARK:ED_BOOKMARK_TITLE";
PosSize = MAP_APPFONT ( 6 , 19 , 140 , 12 ) ;
TABSTOP = TRUE ;
BORDER = TRUE ;
diff --git a/sfx2/source/appl/opengrf.cxx b/sfx2/source/appl/opengrf.cxx
index f0898689d8..8ed5132f8a 100644
--- a/sfx2/source/appl/opengrf.cxx
+++ b/sfx2/source/appl/opengrf.cxx
@@ -284,12 +284,9 @@ void SvxOpenGraphicDialog::SetCurrentFilter(const String& rStr)
mpImpl->aFileDlg.SetCurrentFilter(rStr);
}
-void SvxOpenGraphicDialog::SetControlHelpIds( const INT16* _pControlId, const INT32* _pHelpId )
+void SvxOpenGraphicDialog::SetControlHelpIds( const INT16* _pControlId, const char** _pHelpId )
{
mpImpl->aFileDlg.SetControlHelpIds( _pControlId, _pHelpId );
}
-void SvxOpenGraphicDialog::SetDialogHelpId( const INT32 _nHelpId )
-{
- mpImpl->aFileDlg.SetDialogHelpId( _nHelpId );
-}
+
diff --git a/sfx2/source/appl/sfxdll.cxx b/sfx2/source/appl/sfxdll.cxx
deleted file mode 100644
index 3635770b38..0000000000
--- a/sfx2/source/appl/sfxdll.cxx
+++ /dev/null
@@ -1,69 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_sfx2.hxx"
-
-#ifdef WIN
-#include <svwin.h>
-#endif
-
-#ifndef GCC
-#endif
-
-#ifdef WIN
-
-// Statische DLL-Verwaltungs-Variablen
-static HINSTANCE hDLLInst = 0;
-
-//==========================================================================
-
-extern "C" int CALLBACK LibMain( HINSTANCE hDLL, WORD, WORD nHeap, LPSTR )
-{
-#ifndef WNT
- if ( nHeap )
- UnlockData( 0 );
-#endif
-
- hDLLInst = hDLL;
-
- return TRUE;
-}
-
-
-//--------------------------------------------------------------------------
-
-extern "C" int CALLBACK WEP( int )
-{
- return 1;
-}
-
-
-//==========================================================================
-
-#endif
-
diff --git a/sfx2/source/appl/sfxhelp.cxx b/sfx2/source/appl/sfxhelp.cxx
index 31c2ce7693..8bb05274cb 100644
--- a/sfx2/source/appl/sfxhelp.cxx
+++ b/sfx2/source/appl/sfxhelp.cxx
@@ -28,8 +28,13 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sfx2.hxx"
+<<<<<<< local
#include "sfx2/sfxhelp.hxx"
+=======
+#include "sfxhelp.hxx"
+#include <set>
+>>>>>>> other
#include <algorithm>
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/frame/XFrame.hpp>
@@ -78,6 +83,7 @@
#include <sfx2/sfxuno.hxx>
#include <vcl/svapp.hxx>
#include <sfx2/frame.hxx>
+#include <rtl/string.hxx>
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::frame;
@@ -223,13 +229,13 @@ sal_Bool GetHelpAnchor_Impl( const String& _rURL, String& _rAnchor )
class SfxHelpOptions_Impl : public utl::ConfigItem
{
private:
- SvULongsSort* m_pIds;
+ std::set < rtl::OString > m_aIds;
public:
SfxHelpOptions_Impl();
~SfxHelpOptions_Impl();
- BOOL HasId( ULONG nId ) { USHORT nDummy; return m_pIds ? m_pIds->Seek_Entry( nId, &nDummy ) : FALSE; }
+ bool HasId( const rtl::OString& rId ) { return m_aIds.size() ? m_aIds.find( rId ) != m_aIds.end() : false; }
virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString >& aPropertyNames );
virtual void Commit();
};
@@ -256,7 +262,6 @@ static Sequence< ::rtl::OUString > GetPropertyNames()
SfxHelpOptions_Impl::SfxHelpOptions_Impl()
: ConfigItem( ::rtl::OUString::createFromAscii("Office.SFX/Help") )
- , m_pIds( NULL )
{
Sequence< ::rtl::OUString > aNames = GetPropertyNames();
Sequence< Any > aValues = GetProperties( aNames );
@@ -277,11 +282,15 @@ SfxHelpOptions_Impl::SfxHelpOptions_Impl()
::rtl::OUString aCodedList;
if ( pValues[nProp] >>= aCodedList )
{
- String aTmp( aCodedList );
- USHORT nCount = aTmp.GetTokenCount( ',' );
- m_pIds = new SvULongsSort();
- for ( USHORT n=0; n<nCount; n++ )
- m_pIds->Insert( (ULONG) aTmp.GetToken( n, ',' ).ToInt64() );
+ rtl::OString aTmp( aCodedList, aCodedList.getLength(), RTL_TEXTENCODING_UTF8 );
+ sal_Int32 nIndex = 0;
+ do
+ {
+ rtl::OString aToken = aTmp.getToken( 0, ',', nIndex );
+ if ( aToken.getLength() )
+ m_aIds.insert( aToken );
+ }
+ while ( nIndex >= 0 );
}
else {
DBG_ERRORFILE( "Wrong property type!" );
@@ -301,7 +310,6 @@ SfxHelpOptions_Impl::SfxHelpOptions_Impl()
SfxHelpOptions_Impl::~SfxHelpOptions_Impl()
{
- delete m_pIds;
}
@@ -328,8 +336,7 @@ public:
~SfxHelp_Impl();
SfxHelpOptions_Impl* GetOptions();
- String GetHelpText( ULONG nHelpId, const String& rModule ); // get "Active Help"
- String GetHelpText( const rtl::OUString& aCommandURL, const String& rModule );
+ static String GetHelpText( const rtl::OUString& aCommandURL, const String& rModule );
sal_Bool HasModule( const ::rtl::OUString& rModule ); // module installed
sal_Bool IsHelpInstalled(); // module list not empty
};
@@ -372,16 +379,6 @@ void SfxHelp_Impl::Load()
}
}
-String SfxHelp_Impl::GetHelpText( ULONG nHelpId, const String& rModule )
-{
- // create help url
- String aHelpURL = SfxHelp::CreateHelpURL( nHelpId, rModule );
- // added 'active' parameter
- aHelpURL.Insert( String( DEFINE_CONST_UNICODE("&Active=true") ), aHelpURL.SearchBackward( '#' ) );
- // load help string
- return SfxContentHelper::GetActiveHelpString( aHelpURL );
-}
-
String SfxHelp_Impl::GetHelpText( const rtl::OUString& aCommandURL, const String& rModule )
{
// create help url
@@ -415,6 +412,199 @@ sal_Bool SfxHelp_Impl::IsHelpInstalled()
}
// class SfxHelp ---------------------------------------------------------
+/* some test code for HID conversion - please don't remove
+
+#include <tools/stream.hxx>
+void TestHids()
+{
+ static const char* aModules[] =
+ {
+ "swriter",
+ "scalc",
+ "simpress",
+ "sdraw",
+ "sdatabase",
+ "smath",
+ "schart",
+ "sbasic"
+ };
+
+ SvFileStream* pOut[] =
+ {
+ 0,0,0,0,0,0,0,0,0
+ };
+
+ String aIn = String::CreateFromAscii("/data/OOo/replacer/hidsin.lst");
+ String aOut = String::CreateFromAscii("/data/OOo/replacer/");
+ SvFileStream aInStrm( aIn, STREAM_READ );
+ ByteString aBuffer;
+ while ( aInStrm.ReadLine( aBuffer ) )
+ {
+ ByteString aHid = aBuffer.GetToken(0, ' ');
+ ByteString aNr = aBuffer.GetToken(1, ' ');
+ bool bFound=false;
+ for (sal_Int32 n= 0; n<8; n++)
+ {
+ bFound = false;
+ String aHelpURL = SfxHelp::CreateHelpURL( String( aNr, RTL_TEXTENCODING_UTF8 ), String( aModules[n], RTL_TEXTENCODING_UTF8 ) );
+ if ( !SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
+ {
+ if (!pOut[n])
+ {
+ String aTmp( aOut );
+ aTmp += String( aModules[n], RTL_TEXTENCODING_UTF8 );
+ aTmp += String::CreateFromAscii(".lst");
+ pOut[n] = new SvFileStream( aTmp, STREAM_WRITE | STREAM_TRUNC );
+ }
+ pOut[n]->WriteLine( aHid );
+ bFound = true;
+ break;
+ }
+ }
+
+ if (!bFound)
+ {
+ if (!pOut[8])
+ {
+ String aTmp( aOut );
+ aTmp += String( "notfound", RTL_TEXTENCODING_UTF8 );
+ aTmp += String::CreateFromAscii(".lst");
+ pOut[8] = new SvFileStream( aTmp, STREAM_WRITE | STREAM_TRUNC );
+ }
+ pOut[8]->WriteLine( aHid );
+ }
+ }
+
+ for (sal_Int32 n= 0; n<9; n++)
+ DELETEZ( pOut[n] );
+}
+
+void TestHids2()
+{
+ static const char* aModules[] =
+ {
+ "swriter",
+ "scalc",
+ "simpress",
+ "smath",
+ "sbasic"
+ };
+
+ String aOut = String::CreateFromAscii("/data/OOo/replacer/");
+ aOut += String::CreateFromAscii("lost.lst");
+ SvFileStream aOutStrm( aOut, STREAM_WRITE | STREAM_TRUNC );
+ for (sal_Int32 n= 0; n<5; n++)
+ {
+ String aIn = String::CreateFromAscii("/data/OOo/replacer/help/");
+ aIn += String::CreateFromAscii( aModules[n] );
+ aIn += String::CreateFromAscii(".lst");
+ SvFileStream aInStrm( aIn, STREAM_READ );
+ ByteString aBuffer;
+ while ( aInStrm.ReadLine( aBuffer ) )
+ {
+ String aHelpURL = SfxHelp::CreateHelpURL( String( aBuffer, RTL_TEXTENCODING_UTF8 ), String( aModules[n], RTL_TEXTENCODING_UTF8 ) );
+ if ( SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
+ aOutStrm.WriteLine( aBuffer );
+ }
+ }
+}
+
+#include <tools/stream.hxx>
+void TestHids3()
+{
+ static const char* aModules[] =
+ {
+ "swriter",
+ "scalc",
+ "simpress",
+ "sdraw",
+ "sdatabase",
+ "smath",
+ "schart",
+ "sbasic"
+ };
+
+ SvFileStream* pOut[] =
+ {
+ 0,0,0,0,0,0,0,0,0
+ };
+
+ String aIn = String::CreateFromAscii("/data/OOo/replacer/hidsin.lst");
+ String aOut = String::CreateFromAscii("/data/OOo/replacer/quickhelp/");
+ SvFileStream aInStrm( aIn, STREAM_READ );
+ ByteString aBuffer;
+ while ( aInStrm.ReadLine( aBuffer ) )
+ {
+ ByteString aHid = aBuffer.GetToken(0, ' ');
+ ByteString aNr = aBuffer.GetToken(1, ' ');
+ bool bFound=false;
+ for (sal_Int32 n= 0; n<8; n++)
+ {
+ bFound = false;
+ String aHelpURL = SfxHelp::CreateHelpURL( String( aNr, RTL_TEXTENCODING_UTF8 ), String( aModules[n], RTL_TEXTENCODING_UTF8 ) );
+ if ( SfxContentHelper::GetActiveHelpString( aHelpURL ).Len() )
+// if ( SfxHelp_Impl::GetHelpText( String( aNr, RTL_TEXTENCODING_UTF8 ), String( aModules[n], RTL_TEXTENCODING_UTF8 ) ).Len() )
+ {
+ if (!pOut[n])
+ {
+ String aTmp( aOut );
+ aTmp += String( aModules[n], RTL_TEXTENCODING_UTF8 );
+ aTmp += String::CreateFromAscii(".lst");
+ pOut[n] = new SvFileStream( aTmp, STREAM_WRITE | STREAM_TRUNC );
+ }
+ pOut[n]->WriteLine( aHid );
+ bFound = true;
+ break;
+ }
+ }
+
+ if (!bFound)
+ {
+ if (!pOut[8])
+ {
+ String aTmp( aOut );
+ aTmp += String( "notfound", RTL_TEXTENCODING_UTF8 );
+ aTmp += String::CreateFromAscii(".lst");
+ pOut[8] = new SvFileStream( aTmp, STREAM_WRITE | STREAM_TRUNC );
+ }
+ pOut[8]->WriteLine( aHid );
+ }
+ }
+
+ for (sal_Int32 n= 0; n<9; n++)
+ DELETEZ( pOut[n] );
+}
+
+void TestHids4()
+{
+ static const char* aModules[] =
+ {
+ "swriter",
+ "scalc",
+ "simpress",
+ "smath",
+ "sbasic"
+ };
+
+ String aOut = String::CreateFromAscii("/data/OOo/replacer/quickhelp/");
+ aOut += String::CreateFromAscii("lost.lst");
+ SvFileStream aOutStrm( aOut, STREAM_WRITE | STREAM_TRUNC );
+ for (sal_Int32 n= 0; n<5; n++)
+ {
+ String aIn = String::CreateFromAscii("/data/OOo/replacer/quickhelp/");
+ aIn += String::CreateFromAscii( aModules[n] );
+ aIn += String::CreateFromAscii(".lst");
+ SvFileStream aInStrm( aIn, STREAM_READ );
+ ByteString aBuffer;
+ while ( aInStrm.ReadLine( aBuffer ) )
+ {
+ String aHelpURL = SfxHelp::CreateHelpURL( String( aBuffer, RTL_TEXTENCODING_UTF8 ), String( aModules[n], RTL_TEXTENCODING_UTF8 ) );
+ if ( !SfxContentHelper::GetActiveHelpString( aHelpURL ).Len() )
+ aOutStrm.WriteLine( aBuffer );
+ }
+ }
+}
+*/
SfxHelp::SfxHelp() :
@@ -583,76 +773,6 @@ String SfxHelp::GetHelpModuleName_Impl()
return sModuleName;
}
-String SfxHelp::CreateHelpURL_Impl( ULONG nHelpId, const String& rModuleName )
-{
- String aModuleName( rModuleName );
- if ( aModuleName.Len() == 0 )
- aModuleName = getDefaultModule_Impl();
-
- // build up the help URL
- String aHelpURL;
- if ( aTicket.Len() )
- {
- // if there is a ticket, we are inside a plugin, so a special Help URL must be sent
- aHelpURL = DEFINE_CONST_UNICODE("vnd.sun.star.cmd:help?");
- aHelpURL += DEFINE_CONST_UNICODE("HELP_Request_Mode=contextIndex&HELP_Session_Mode=context&HELP_CallMode=portal&HELP_Device=html");
-
- if ( !nHelpId )
- {
- // no help id -> start page
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_ContextID=start");
- }
- else
- {
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_ContextID=");
- aHelpURL += String::CreateFromInt64( nHelpId );
- }
-
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_ProgramID=");
- aHelpURL += aModuleName;
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_User=");
- aHelpURL += aUser;
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_Ticket=");
- aHelpURL += aTicket;
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_Language=");
- aHelpURL += aLanguageStr;
- if ( aCountryStr.Len() )
- {
- aHelpURL += DEFINE_CONST_UNICODE("&HELP_Country=");
- aHelpURL += aCountryStr;
- }
- }
- else
- {
- sal_Bool bHasAnchor = sal_False;
- String aAnchor;
- aHelpURL = String::CreateFromAscii("vnd.sun.star.help://");
- aHelpURL += aModuleName;
-
- if ( !nHelpId )
- aHelpURL += String::CreateFromAscii("/start");
- else
- {
- aHelpURL += '/';
- aHelpURL += String::CreateFromInt64( nHelpId );
-
- String aTempURL = aHelpURL;
- AppendConfigToken_Impl( aTempURL, sal_True );
- bHasAnchor = GetHelpAnchor_Impl( aTempURL, aAnchor );
- }
-
- AppendConfigToken_Impl( aHelpURL, sal_True );
-
- if ( bHasAnchor )
- {
- aHelpURL += '#';
- aHelpURL += aAnchor;
- }
- }
-
- return aHelpURL;
-}
-
String SfxHelp::CreateHelpURL_Impl( const String& aCommandURL, const String& rModuleName )
{
// build up the help URL
@@ -662,28 +782,7 @@ String SfxHelp::CreateHelpURL_Impl( const String& aCommandURL, const String& rMo
String aModuleName( rModuleName );
if ( aModuleName.Len() == 0 )
- {
- // no active module (quicklaunch?) -> detect default module
- SvtModuleOptions aModOpt;
- if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SWRITER ) )
- aModuleName = DEFINE_CONST_UNICODE("swriter");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SCALC ) )
- aModuleName = DEFINE_CONST_UNICODE("scalc");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SIMPRESS ) )
- aModuleName = DEFINE_CONST_UNICODE("simpress");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SDRAW ) )
- aModuleName = DEFINE_CONST_UNICODE("sdraw");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SMATH ) )
- aModuleName = DEFINE_CONST_UNICODE("smath");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SCHART ) )
- aModuleName = DEFINE_CONST_UNICODE("schart");
- else if ( aModOpt.IsModuleInstalled( SvtModuleOptions::E_SBASIC ) )
- aModuleName = DEFINE_CONST_UNICODE("sbasic");
- else
- {
- DBG_ERRORFILE( "no installed module found" );
- }
- }
+ aModuleName = getDefaultModule_Impl();
aHelpURL = String::CreateFromAscii("vnd.sun.star.help://");
aHelpURL += aModuleName;
@@ -696,7 +795,7 @@ String SfxHelp::CreateHelpURL_Impl( const String& aCommandURL, const String& rMo
aHelpURL += String( rtl::Uri::encode( aCommandURL,
rtl_UriCharClassRelSegment,
rtl_UriEncodeKeepEscapes,
- RTL_TEXTENCODING_ASCII_US ));
+ RTL_TEXTENCODING_UTF8 ));
String aTempURL = aHelpURL;
AppendConfigToken_Impl( aTempURL, sal_True );
@@ -764,8 +863,60 @@ SfxHelpWindow_Impl* impl_createHelp(Reference< XFrame >& rHelpTask ,
return pHelpWindow;
}
+XubString SfxHelp::GetHelpText( const String& aCommandURL, const Window* pWindow )
+{
+ String sModuleName = GetHelpModuleName_Impl();
+ String sHelpText = pImp->GetHelpText( aCommandURL, sModuleName );
+
+ ByteString aNewHelpId;
+
+ if ( pWindow && !sHelpText.Len() )
+ {
+ // no help text found -> try with parent help id.
+ Window* pParent = pWindow->GetParent();
+ while ( pParent )
+ {
+ aNewHelpId = pParent->GetHelpId();
+ sHelpText = pImp->GetHelpText( String( aNewHelpId, RTL_TEXTENCODING_UTF8 ), sModuleName );
+ if ( sHelpText.Len() > 0 )
+ pParent = NULL;
+ else
+ pParent = pParent->GetParent();
+ }
+
+ if ( bIsDebug && !sHelpText.Len() )
+ aNewHelpId.Erase();
+ }
+
+ // add some debug information?
+ if ( bIsDebug )
+ {
+ sHelpText += DEFINE_CONST_UNICODE("\n-------------\n");
+ sHelpText += String( sModuleName );
+ sHelpText += DEFINE_CONST_UNICODE(": ");
+ sHelpText += aCommandURL;
+ if ( aNewHelpId.Len() )
+ {
+ sHelpText += DEFINE_CONST_UNICODE(" - ");
+ sHelpText += String( aNewHelpId, RTL_TEXTENCODING_UTF8 );
+ }
+ }
+
+ return sHelpText;
+}
+
+BOOL SfxHelp::SearchKeyword( const XubString& rKeyword )
+{
+ return Start_Impl( String(), NULL, rKeyword );
+}
+
BOOL SfxHelp::Start( const String& rURL, const Window* pWindow )
{
+ return Start_Impl( rURL, pWindow, String() );
+}
+
+BOOL SfxHelp::Start_Impl( const String& rURL, const Window* pWindow, const String& rKeyword )
+{
// check if help is available
String aHelpRootURL( DEFINE_CONST_OUSTRING("vnd.sun.star.help://") );
AppendConfigToken_Impl( aHelpRootURL, sal_True );
@@ -778,54 +929,60 @@ BOOL SfxHelp::Start( const String& rURL, const Window* pWindow )
return FALSE;
}
- // check if it's an URL or a jump mark!
- String aHelpURL(rURL );
- INetURLObject aParser (aHelpURL);
- ::rtl::OUString sKeyword;
+ /* rURL may be
+ - a "real" URL
+ - a HelpID (formerly a long, now a string)
+ If rURL is a URL, CreateHelpURL should be called for this URL
+ If rURL is an arbitrary string, the same should happen, but the URL should be tried out
+ if it delivers real help content. In case only the Help Error Document is returned, the
+ parent of the window for that help was called, is asked for its HelpID.
+ For compatibility reasons this upward search is not implemented for "real" URLs.
+ Help keyword search now is implemented as own method; in former versions it
+ was done via Help::Start, but this implementation conflicted with the upward search.
+ */
+ String aHelpURL;
+ INetURLObject aParser( rURL );
INetProtocol nProtocol = aParser.GetProtocol();
- if ( nProtocol != INET_PROT_VND_SUN_STAR_HELP )
+ String aHelpModuleName( GetHelpModuleName_Impl() );
+ switch ( nProtocol )
{
- // #i90162 Accept anything that is not invalid as help id, as both
- // uno: URLs used as commands/help ids in the Office and the scheme
- // used in extension help ids (e.g. com.foocorp.foo-ext:FooDialogButton)
- // are accepted as INET_PROT_UNO respectively INET_PROT_GENERIC
- bool bAcceptAsURL = ( nProtocol != INET_PROT_NOT_VALID );
-
- // #i94891 As in some extensions help ids like foo.bar.dummy without
- // any : have been used that worked before the fix of #i90162 (see
- // above) strings containing . will be also accepted to avoid brea-
- // king the help of existing extensions.
- if( !bAcceptAsURL )
- bAcceptAsURL = ( rURL.Search( '.' ) != STRING_NOTFOUND );
-
- if ( bAcceptAsURL )
+ case INET_PROT_VND_SUN_STAR_HELP:
+ // already a vnd.sun.star.help URL -> nothing to do
+ aHelpURL = rURL;
+ break;
+ default:
{
- aHelpURL = CreateHelpURL_Impl( rURL, GetHelpModuleName_Impl( ) );
- }
- else
- {
- aHelpURL = CreateHelpURL_Impl( 0, GetHelpModuleName_Impl( ) );
-
- // pb i91715: strings begin with ".HelpId:" are not words of the basic ide
- // they are helpid-strings used by the testtool -> so we ignore them
- static const String sHelpIdScheme( DEFINE_CONST_OUSTRING(".HelpId:") );
- if ( rURL.Search( sHelpIdScheme ) != 0 )
- sKeyword = ::rtl::OUString( rURL );
+ // no URL, just a HelpID (maybe empty in case of keyword search)
+ aHelpURL = CreateHelpURL_Impl( rURL, aHelpModuleName );
+ if ( pWindow && SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
+ {
+ // no help found -> try with parent help id.
+ Window* pParent = pWindow->GetParent();
+ while ( pParent )
+ {
+ ByteString aHelpId = pParent->GetHelpId();
+ aHelpURL = CreateHelpURL( String( aHelpId, RTL_TEXTENCODING_UTF8 ), aHelpModuleName );
+ if ( !SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
+ break;
+ else
+ {
+ pParent = pParent->GetParent();
+ if ( !pParent )
+ // create help url of start page ( helpid == 0 -> start page)
+ aHelpURL = CreateHelpURL( String(), aHelpModuleName );
+ }
+ }
+ }
+ break;
}
}
Reference < XFrame > xDesktop( ::comphelper::getProcessServiceFactory()->createInstance(
DEFINE_CONST_UNICODE("com.sun.star.frame.Desktop") ), UNO_QUERY );
- // check if help is still open
- // If not - create new one and return acces directly
- // to the internal sub frame, which shows the help content.
-
- // Note further: We search for this sub frame here directly instead of
- // the real top level help task ... It's needed to have the same
- // sub frame available - so we can use it for loading (which is done
- // in both cases)!
-
+ // check if help window is still open
+ // If not, create a new one and return access directly to the internal sub frame showing the help content
+ // search must be done here; search one desktop level could return an arbitraty frame
Reference< XFrame > xHelp = xDesktop->findFrame(
::rtl::OUString(DEFINE_CONST_UNICODE("OFFICE_HELP_TASK")),
FrameSearchFlag::CHILDREN);
@@ -841,10 +998,16 @@ BOOL SfxHelp::Start( const String& rURL, const Window* pWindow )
if (!xHelp.is() || !xHelpContent.is() || !pHelpWindow)
return FALSE;
+#ifdef DBG_UTIL
+ ByteString aTmp("SfxHelp: HelpId = ");
+ aTmp += ByteString( aHelpURL, RTL_TEXTENCODING_UTF8 );
+ DBG_TRACE( aTmp.GetBuffer() );
+#endif
+
pHelpWindow->SetHelpURL( aHelpURL );
pHelpWindow->loadHelpContent(aHelpURL);
- if ( sKeyword.getLength() > 0 )
- pHelpWindow->OpenKeyword( sKeyword );
+ if ( rKeyword.Len() )
+ pHelpWindow->OpenKeyword( rKeyword );
Reference < ::com::sun::star::awt::XTopWindow > xTopWindow( xHelp->getContainerWindow(), UNO_QUERY );
if ( xTopWindow.is() )
@@ -853,101 +1016,6 @@ BOOL SfxHelp::Start( const String& rURL, const Window* pWindow )
return TRUE;
}
-BOOL SfxHelp::Start( ULONG nHelpId, const Window* pWindow )
-{
- String aHelpModuleName( GetHelpModuleName_Impl() );
- String aHelpURL = CreateHelpURL( nHelpId, aHelpModuleName );
- if ( pWindow && SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
- {
- // no help found -> try with parent help id.
- Window* pParent = pWindow->GetParent();
- while ( pParent )
- {
- nHelpId = pParent->GetSmartUniqueOrHelpId().GetNum();
- aHelpURL = CreateHelpURL( nHelpId, aHelpModuleName );
-
- if ( !SfxContentHelper::IsHelpErrorDocument( aHelpURL ) )
- break;
- else
- {
- pParent = pParent->GetParent();
- if ( !pParent )
- // create help url of start page ( helpid == 0 -> start page)
- aHelpURL = CreateHelpURL( 0, aHelpModuleName );
- }
- }
- }
-
- return Start( aHelpURL, pWindow );
-}
-
-XubString SfxHelp::GetHelpText( ULONG nHelpId, const Window* pWindow )
-{
- String aModuleName = GetHelpModuleName_Impl();
- String aHelpText = pImp->GetHelpText( nHelpId, aModuleName );
- ULONG nNewHelpId = 0;
-
- if ( pWindow && aHelpText.Len() == 0 )
- {
- // no help text found -> try with parent help id.
- Window* pParent = pWindow->GetParent();
- while ( pParent )
- {
- nNewHelpId = pParent->GetHelpId();
- aHelpText = pImp->GetHelpText( nNewHelpId, aModuleName );
-
- if ( aHelpText.Len() > 0 )
- pParent = NULL;
- else
- pParent = pParent->GetParent();
- }
-
- if ( bIsDebug && aHelpText.Len() == 0 )
- nNewHelpId = 0;
- }
-
- if ( bIsDebug )
- {
- aHelpText += DEFINE_CONST_UNICODE("\n\n");
- aHelpText += aModuleName;
- aHelpText += DEFINE_CONST_UNICODE(" - ");
- aHelpText += String::CreateFromInt64( nHelpId );
- if ( nNewHelpId )
- {
- aHelpText += DEFINE_CONST_UNICODE(" - ");
- aHelpText += String::CreateFromInt64( nNewHelpId );
- }
- }
-
- return aHelpText;
-}
-
-XubString SfxHelp::GetHelpText( const String& aCommandURL, const Window* )
-{
- String sModuleName = GetHelpModuleName_Impl();
- String sHelpText = pImp->GetHelpText( aCommandURL, sModuleName );
-
- // add some debug information?
- if ( bIsDebug )
- {
- sHelpText += DEFINE_CONST_UNICODE("\n-------------\n");
- sHelpText += String( sModuleName );
- sHelpText += DEFINE_CONST_UNICODE(": ");
- sHelpText += aCommandURL;
- }
-
- return sHelpText;
-}
-
-String SfxHelp::CreateHelpURL( ULONG nHelpId, const String& rModuleName )
-{
- String aURL;
- SfxHelp* pHelp = SAL_STATIC_CAST( SfxHelp*, Application::GetHelp() );
- if ( pHelp )
- aURL = pHelp->CreateHelpURL_Impl( nHelpId, rModuleName );
- return aURL;
-}
-
String SfxHelp::CreateHelpURL( const String& aCommandURL, const String& rModuleName )
{
String aURL;
@@ -957,28 +1025,25 @@ String SfxHelp::CreateHelpURL( const String& aCommandURL, const String& rModuleN
return aURL;
}
-void SfxHelp::OpenHelpAgent( SfxFrame*, ULONG nHelpId )
+void SfxHelp::OpenHelpAgent( SfxFrame*, const rtl::OString& sHelpId )
{
- SfxHelp* pHelp = SAL_STATIC_CAST( SfxHelp*, Application::GetHelp() );
- if ( pHelp )
- pHelp->OpenHelpAgent( nHelpId );
+ SfxHelp* pHelp = SAL_STATIC_CAST( SfxHelp*, Application::GetHelp() );
+ if ( pHelp )
+ pHelp->OpenHelpAgent( sHelpId );
}
-void SfxHelp::OpenHelpAgent( ULONG nHelpId )
+void SfxHelp::OpenHelpAgent( const rtl::OString& sHelpId )
{
if ( SvtHelpOptions().IsHelpAgentAutoStartMode() )
{
-// SfxHelp* pHelp = SAL_STATIC_CAST( SfxHelp*, Application::GetHelp() );
-// if ( pHelp )
-// {
SfxHelpOptions_Impl *pOpt = pImp->GetOptions();
- if ( !pOpt->HasId( nHelpId ) )
+ if ( !pOpt->HasId( sHelpId ) )
return;
try
{
URL aURL;
- aURL.Complete = CreateHelpURL_Impl( nHelpId, GetHelpModuleName_Impl() );
+ aURL.Complete = CreateHelpURL_Impl( String( ByteString(sHelpId), RTL_TEXTENCODING_UTF8 ), GetHelpModuleName_Impl() );
Reference < XURLTransformer > xTrans( ::comphelper::getProcessServiceFactory()->createInstance(
::rtl::OUString::createFromAscii("com.sun.star.util.URLTransformer" ) ), UNO_QUERY );
xTrans->parseStrict(aURL);
@@ -1004,7 +1069,6 @@ void SfxHelp::OpenHelpAgent( ULONG nHelpId )
{
DBG_ERRORFILE( "OpenHelpAgent: caught an exception while executing the dispatch!" );
}
-// }
}
}