summaryrefslogtreecommitdiff
path: root/sfx2/source
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
parent71b2148db2353d28506adab23949d5e631fecffd (diff)
parente2cfe20f42c94c784531446ebeddc0d720e277d8 (diff)
CWS gnumake: resync to m91; conflicts unresolved
Diffstat (limited to 'sfx2/source')
-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
-rwxr-xr-x[-rw-r--r--]sfx2/source/control/dispatch.cxx25
-rw-r--r--sfx2/source/control/msg.cxx15
-rw-r--r--sfx2/source/dialog/about.cxx5
-rw-r--r--sfx2/source/dialog/alienwarn.src1
-rw-r--r--sfx2/source/dialog/basedlgs.cxx59
-rw-r--r--[-rwxr-xr-x]sfx2/source/dialog/dinfdlg.cxx13
-rw-r--r--[-rwxr-xr-x]sfx2/source/dialog/dinfdlg.src41
-rw-r--r--sfx2/source/dialog/dinfedt.src4
-rw-r--r--sfx2/source/dialog/dockwin.cxx53
-rw-r--r--sfx2/source/dialog/filedlghelper.cxx59
-rw-r--r--sfx2/source/dialog/filedlgimpl.hxx3
-rw-r--r--sfx2/source/dialog/mgetempl.src6
-rw-r--r--sfx2/source/dialog/newstyle.src4
-rw-r--r--sfx2/source/dialog/passwd.src3
-rw-r--r--sfx2/source/dialog/printopt.src22
-rw-r--r--sfx2/source/dialog/recfloat.src1
-rw-r--r--[-rwxr-xr-x]sfx2/source/dialog/securitypage.cxx30
-rw-r--r--[-rwxr-xr-x]sfx2/source/dialog/securitypage.src0
-rw-r--r--sfx2/source/dialog/srchdlg.src6
-rw-r--r--sfx2/source/dialog/tabdlg.cxx10
-rw-r--r--sfx2/source/dialog/taskpane.cxx26
-rw-r--r--sfx2/source/dialog/templdlg.cxx44
-rw-r--r--sfx2/source/dialog/templdlg.src10
-rw-r--r--sfx2/source/dialog/titledockwin.cxx26
-rw-r--r--sfx2/source/dialog/versdlg.src10
-rw-r--r--sfx2/source/doc/DocumentMetadataAccess.cxx25
-rw-r--r--sfx2/source/doc/SfxDocumentMetaData.cxx7
-rw-r--r--sfx2/source/doc/doc.hrc1
-rw-r--r--sfx2/source/doc/doc.src8
-rw-r--r--sfx2/source/doc/docfac.cxx19
-rw-r--r--sfx2/source/doc/docfile.cxx47
-rw-r--r--sfx2/source/doc/doctdlg.src8
-rw-r--r--sfx2/source/doc/doctemplates.cxx2
-rw-r--r--sfx2/source/doc/docvor.src7
-rw-r--r--sfx2/source/doc/iframe.cxx2
-rw-r--r--sfx2/source/doc/makefile.mk2
-rw-r--r--sfx2/source/doc/new.src18
-rw-r--r--sfx2/source/doc/objcont.cxx11
-rw-r--r--[-rwxr-xr-x]sfx2/source/doc/objmisc.cxx2
-rw-r--r--sfx2/source/doc/objserv.cxx18
-rw-r--r--sfx2/source/doc/objstor.cxx43
-rw-r--r--[-rwxr-xr-x]sfx2/source/doc/objxtor.cxx7
-rw-r--r--sfx2/source/doc/querytemplate.cxx4
-rw-r--r--sfx2/source/doc/sfxbasemodel.cxx13
-rwxr-xr-xsfx2/source/doc/syspathw32.cxx2
-rw-r--r--sfx2/source/inc/applet.hxx122
-rw-r--r--[-rwxr-xr-x]sfx2/source/inc/helpid.hrc621
-rw-r--r--sfx2/source/menu/menu.src7
-rwxr-xr-x[-rw-r--r--]sfx2/source/menu/mnumgr.cxx16
-rwxr-xr-x[-rw-r--r--]sfx2/source/menu/thessubmenu.cxx33
-rw-r--r--sfx2/source/menu/thessubmenu.hxx4
-rw-r--r--sfx2/source/menu/virtmenu.cxx25
-rw-r--r--sfx2/source/statbar/stbitem.cxx5
-rw-r--r--sfx2/source/view/frame2.cxx15
-rw-r--r--sfx2/source/view/frmload.cxx2
-rw-r--r--sfx2/source/view/sfxbasecontroller.cxx51
-rw-r--r--sfx2/source/view/userinputinterception.cxx14
-rw-r--r--sfx2/source/view/viewfac.cxx23
-rw-r--r--sfx2/source/view/viewfrm.cxx113
-rw-r--r--sfx2/source/view/viewimp.hxx4
-rw-r--r--sfx2/source/view/viewprn.cxx19
75 files changed, 1325 insertions, 1518 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!" );
}
-// }
}
}
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index 84b60d6a38..3660e7cfac 100644..100755
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -281,7 +281,11 @@ int SfxDispatcher::Call_Impl( SfxShell& rShell, const SfxSlot &rSlot, SfxRequest
if ( !pView )
pView = SfxViewFrame::Current();
if ( pView )
- SfxHelp::OpenHelpAgent( &pView->GetFrame(), rReq.GetSlot() );
+ {
+ rtl::OString aCmd(".uno:");
+ aCmd += rSlot.GetUnoName();
+ SfxHelp::OpenHelpAgent( &pView->GetFrame(), aCmd );
+ }
SfxExecFunc pFunc = rSlot.GetExecFnc();
rShell.CallExec( pFunc, rReq );
@@ -1675,14 +1679,14 @@ void SfxDispatcher::SetMenu_Impl()
}
//--------------------------------------------------------------------
-long SfxDispatcher::Update_Impl( sal_Bool bForce )
+void SfxDispatcher::Update_Impl( sal_Bool bForce )
{
SFX_STACK(SfxDispatcher::Update_Impl);
Flush();
if ( !pImp->pFrame || pImp->bUILocked )
- return 0;
+ return;
SFX_APP(); // -Wall is this required???
SfxDispatcher *pDisp = this;
@@ -1704,7 +1708,7 @@ long SfxDispatcher::Update_Impl( sal_Bool bForce )
}
if ( !bUpdate || pImp->pFrame->GetFrame().IsClosing_Impl() )
- return 0;
+ return;
SfxViewFrame* pTop = pImp->pFrame ? pImp->pFrame->GetTopViewFrame() : NULL;
sal_Bool bUIActive = pTop && pTop->GetBindings().GetDispatcher() == this;
@@ -1778,12 +1782,11 @@ long SfxDispatcher::Update_Impl( sal_Bool bForce )
if ( xLayoutManager.is() )
xLayoutManager->unlock();
- return 1;
+ return;
}
-sal_uInt32 SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp, sal_Bool bIsIPOwner, SfxWorkWindow *pTaskWin )
+void SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp, sal_Bool bIsIPOwner, SfxWorkWindow *pTaskWin )
{
- sal_uInt32 nHelpId = 0;
SFX_APP();
SfxWorkWindow *pWorkWin = pImp->pFrame->GetFrame().GetWorkWindow_Impl();
sal_Bool bIsActive = sal_False;
@@ -1798,7 +1801,7 @@ sal_uInt32 SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp,
}
if ( pImp->pParent && !pImp->bQuiet /* && bUIActive */ )
- nHelpId = pImp->pParent->_Update_Impl( bUIActive, bIsMDIApp, bIsIPOwner, pTaskWin );
+ pImp->pParent->_Update_Impl( bUIActive, bIsMDIApp, bIsIPOwner, pTaskWin );
for (sal_uInt16 n=0; n<SFX_OBJECTBAR_MAX; n++)
pImp->aObjBars[n].nResId = 0;
@@ -1807,7 +1810,7 @@ sal_uInt32 SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp,
// bQuiet : own shells aren't considered for UI and SlotServer
// bNoUI: own Shells aren't considered fors UI
if ( pImp->bQuiet || pImp->bNoUI || (pImp->pFrame && pImp->pFrame->GetObjectShell()->IsPreview()) )
- return nHelpId;
+ return;
sal_uInt32 nStatBarId=0;
SfxShell *pStatusBarShell = NULL;
@@ -1818,8 +1821,6 @@ sal_uInt32 SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp,
{
SfxShell *pShell = GetShell( nShell-1 );
SfxInterface *pIFace = pShell->GetInterface();
- if (pShell->GetHelpId())
- nHelpId = pShell->GetHelpId();
// don't consider shells if "Hidden" oder "Quiet"
sal_Bool bReadOnlyShell = IsReadOnlyShell_Impl( nShell-1 );
@@ -1950,8 +1951,6 @@ sal_uInt32 SfxDispatcher::_Update_Impl( sal_Bool bUIActive, sal_Bool bIsMDIApp,
pImp->pFrame->GetFrame().GetWorkWindow_Impl()->SetStatusBar_Impl( nStatBarId, pStatusBarShell, rBindings );
}
}
-
- return nHelpId;
}
//--------------------------------------------------------------------
diff --git a/sfx2/source/control/msg.cxx b/sfx2/source/control/msg.cxx
index 95ab30d49e..5f26113b4b 100644
--- a/sfx2/source/control/msg.cxx
+++ b/sfx2/source/control/msg.cxx
@@ -29,9 +29,6 @@
#include "precompiled_sfx2.hxx"
#include <svl/itempool.hxx>
#include <svl/eitem.hxx>
-#ifndef GCC
-#endif
-
#include <sfx2/msg.hxx>
//====================================================================
@@ -63,4 +60,16 @@ USHORT SfxSlot::GetWhich( const SfxItemPool &rPool ) const
return nMasterSlotId;
}
+::rtl::OString SfxSlot::GetCommand() const
+{
+ rtl::OString sRet(".uno:");
+ sRet += pUnoName;
+ return sRet;
+}
+
+::rtl::OUString SfxSlot::GetCommandString() const
+{
+ rtl::OString aCmd(GetCommand());
+ return rtl::OUString( aCmd, aCmd.getLength(), RTL_TEXTENCODING_UTF8 );
+}
diff --git a/sfx2/source/dialog/about.cxx b/sfx2/source/dialog/about.cxx
index 6f171e1ee8..0d1ece34d4 100644
--- a/sfx2/source/dialog/about.cxx
+++ b/sfx2/source/dialog/about.cxx
@@ -54,7 +54,7 @@
#include "sfxresid.hxx"
#include <sfx2/sfxdefs.hxx>
#include <sfx2/app.hxx>
-
+#include <sfx2/sfxcommands.h>
#include "dialog.hrc"
// defines ---------------------------------------------------------------
@@ -282,8 +282,7 @@ AboutDialog::AboutDialog( Window* pParent, const ResId& rId, const String& rVerS
FreeResource();
- // explizite Help-Id
- SetHelpId( SID_ABOUT );
+ SetHelpId( CMD_SID_ABOUT );
}
// -----------------------------------------------------------------------
diff --git a/sfx2/source/dialog/alienwarn.src b/sfx2/source/dialog/alienwarn.src
index 1d3bd34c44..df9392b34f 100644
--- a/sfx2/source/dialog/alienwarn.src
+++ b/sfx2/source/dialog/alienwarn.src
@@ -81,6 +81,7 @@ ModalDialog RID_DLG_ALIEN_WARNING
};
CheckBox CB_WARNING_OFF
{
+ HelpID = "sfx2:CheckBox:RID_DLG_ALIEN_WARNING:CB_WARNING_OFF";
Pos = MAP_APPFONT( AW_COL_2, AW_ROW_4 );
Size = MAP_APPFONT( DIALOG_WIDTH-AW_COL_2-RSC_SP_DLG_INNERBORDER_RIGHT, RSC_CD_CHECKBOX_HEIGHT );
WordBreak = TRUE ;
diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx
index dd992c0758..edb58bb478 100644
--- a/sfx2/source/dialog/basedlgs.cxx
+++ b/sfx2/source/dialog/basedlgs.cxx
@@ -160,9 +160,6 @@ void SfxModalDialog::GetDialogData_Impl()
void SfxModalDialog::init()
{
GetDialogData_Impl();
- aTimer.SetTimeout( 100 );
- aTimer.SetTimeoutHdl( LINK( this, SfxModalDialog, TimerHdl_Impl ) );
- aTimer.Start();
}
// -----------------------------------------------------------------------
@@ -214,13 +211,7 @@ SfxModalDialog::~SfxModalDialog()
*/
{
-/*
- SfxHelpPI *pHelpPI = SFX_APP()->GetHelpPI();
- if ( pHelpPI )
- pHelpPI->ResetTopic();
-*/
SetDialogData_Impl();
- aTimer.Stop();
delete pOutputSet;
}
@@ -233,16 +224,6 @@ void SfxModalDialog::CreateOutputItemSet( SfxItemPool& rPool )
// -----------------------------------------------------------------------
-IMPL_LINK( SfxModalDialog, TimerHdl_Impl, Timer*, EMPTYARG )
-{
-/*
- SfxHelpPI *pHelpPI = SFX_APP()->GetHelpPI();
- if ( pHelpPI )
- pHelpPI->LoadTopic( GetHelpId() );
- */
- return 0L;
-}
-
void SfxModalDialog::CreateOutputItemSet( const SfxItemSet& rSet )
{
DBG_ASSERT( !pOutputSet, "Double creation of OutputSet!" );
@@ -373,9 +354,8 @@ SfxModelessDialog::SfxModelessDialog( SfxBindings *pBindinx,
{
pImp->pMgr = pCW;
pImp->bConstructed = FALSE;
- sal_uInt32 nId = GetHelpId();
- SetHelpId(0);
- SetUniqueId( nId );
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
if ( pBindinx )
pImp->StartListening( *pBindinx );
pImp->aMoveTimer.SetTimeout(50);
@@ -393,9 +373,8 @@ SfxModelessDialog::SfxModelessDialog( SfxBindings *pBindinx,
{
pImp->pMgr = pCW;
pImp->bConstructed = FALSE;
- sal_uInt32 nId = GetHelpId();
- SetHelpId(0);
- SetUniqueId( nId );
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
if ( pBindinx )
pImp->StartListening( *pBindinx );
pImp->aMoveTimer.SetTimeout(50);
@@ -418,15 +397,15 @@ long SfxModelessDialog::Notify( NotifyEvent& rEvt )
pBindings->SetActiveFrame( pImp->pMgr->GetFrame() );
pImp->pMgr->Activate_Impl();
Window* pWindow = rEvt.GetWindow();
- ULONG nHelpId = 0;
- while ( !nHelpId && pWindow )
+ rtl::OString sHelpId;
+ while ( !sHelpId.getLength() && pWindow )
{
- nHelpId = pWindow->GetHelpId();
+ sHelpId = pWindow->GetHelpId();
pWindow = pWindow->GetParent();
}
- if ( nHelpId )
- SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), nHelpId );
+ if ( sHelpId.getLength() )
+ SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), sHelpId );
}
else if ( rEvt.GetType() == EVENT_LOSEFOCUS && !HasChildPathFocus() )
{
@@ -520,15 +499,15 @@ long SfxFloatingWindow::Notify( NotifyEvent& rEvt )
pBindings->SetActiveFrame( pImp->pMgr->GetFrame() );
pImp->pMgr->Activate_Impl();
Window* pWindow = rEvt.GetWindow();
- ULONG nHelpId = 0;
- while ( !nHelpId && pWindow )
+ rtl::OString sHelpId;
+ while ( !sHelpId.getLength() && pWindow )
{
- nHelpId = pWindow->GetHelpId();
+ sHelpId = pWindow->GetHelpId();
pWindow = pWindow->GetParent();
}
- if ( nHelpId )
- SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), nHelpId );
+ if ( sHelpId.getLength() )
+ SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), sHelpId );
}
else if ( rEvt.GetType() == EVENT_LOSEFOCUS )
{
@@ -561,9 +540,8 @@ SfxFloatingWindow::SfxFloatingWindow( SfxBindings *pBindinx,
{
pImp->pMgr = pCW;
pImp->bConstructed = FALSE;
- sal_uInt32 nId = GetHelpId();
- SetHelpId(0);
- SetUniqueId( nId );
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
if ( pBindinx )
pImp->StartListening( *pBindinx );
pImp->aMoveTimer.SetTimeout(50);
@@ -582,9 +560,8 @@ SfxFloatingWindow::SfxFloatingWindow( SfxBindings *pBindinx,
{
pImp->pMgr = pCW;
pImp->bConstructed = FALSE;
- sal_uInt32 nId = GetHelpId();
- SetHelpId(0);
- SetUniqueId( nId );
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
if ( pBindinx )
pImp->StartListening( *pBindinx );
pImp->aMoveTimer.SetTimeout(50);
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 521a6c3257..6c596bea3d 100755..100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1525,19 +1525,6 @@ SfxDocumentInfoDialog::SfxDocumentInfoDialog( Window* pParent,
{
// Dateiname
String aFile( pInfoItem->GetValue() );
-#ifdef WIN
- if ( aFile.Len() <= 8 )
- {
- String sTmp( SfxResId( STR_NONAME ) );
- USHORT nLen = Min( (USHORT)8, sTmp.Len() );
-
- if ( sTmp.Copy( 0, nLen ).Lower() ==
- aFile.Copy( 0, nLen ).Lower() )
- {
- aFile = pInfoItem->GetValue();
- }
- }
-#endif
INetURLObject aURL;
aURL.SetSmartProtocol( INET_PROT_FILE );
diff --git a/sfx2/source/dialog/dinfdlg.src b/sfx2/source/dialog/dinfdlg.src
index 3290983c5b..9a45eac92d 100755..100644
--- a/sfx2/source/dialog/dinfdlg.src
+++ b/sfx2/source/dialog/dinfdlg.src
@@ -53,6 +53,7 @@ TabPage TP_DOCINFODESC
};
Edit ED_TITLE
{
+ HelpID = "sfx2:Edit:TP_DOCINFODESC:ED_TITLE";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 6 ) ;
Size = MAP_APPFONT ( 184 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -68,6 +69,7 @@ TabPage TP_DOCINFODESC
};
Edit ED_THEMA
{
+ HelpID = "sfx2:Edit:TP_DOCINFODESC:ED_THEMA";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 21 ) ;
Size = MAP_APPFONT ( 184 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -83,6 +85,7 @@ TabPage TP_DOCINFODESC
};
Edit ED_KEYWORDS
{
+ HelpID = "sfx2:Edit:TP_DOCINFODESC:ED_KEYWORDS";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 36 ) ;
Size = MAP_APPFONT ( 184 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -98,6 +101,7 @@ TabPage TP_DOCINFODESC
};
MultiLineEdit ED_COMMENT
{
+ HelpID = "sfx2:MultiLineEdit:TP_DOCINFODESC:ED_COMMENT";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 51 ) ;
Size = MAP_APPFONT ( 184 , 128 ) ;
@@ -121,6 +125,7 @@ TabPage TP_DOCINFODOC
};
Edit ED_FILE_NAME
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:ED_FILE_NAME";
Pos = MAP_APPFONT ( 54 , 12 ) ;
Size = MAP_APPFONT ( 200 , RSC_CD_TEXTBOX_HEIGHT ) ;
Border = TRUE ;
@@ -138,11 +143,13 @@ TabPage TP_DOCINFODOC
};
Edit FT_FILE_SHOW_TYP
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_FILE_SHOW_TYP";
Pos = MAP_APPFONT ( 78 , 37 ) ;
Size = MAP_APPFONT ( 106 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
CheckBox CB_FILE_READONLY
{
+ HelpID = "sfx2:CheckBox:TP_DOCINFODOC:CB_FILE_READONLY";
Pos = MAP_APPFONT ( 163 , 37 ) ;
Size = MAP_APPFONT ( 91 , RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "~Read-only" ;
@@ -155,6 +162,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_FILE_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_FILE_VAL";
Pos = MAP_APPFONT ( 78 , 49 ) ;
Size = MAP_APPFONT ( 176 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -166,6 +174,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_FILE_SHOW_SIZE
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_FILE_SHOW_SIZE";
Pos = MAP_APPFONT ( 78 , 61 ) ;
Size = MAP_APPFONT ( 176 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -182,6 +191,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_CREATE_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_CREATE_VAL";
Pos = MAP_APPFONT ( 78 , 80 ) ;
Size = MAP_APPFONT ( 176 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -193,6 +203,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_CHANGE_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_CHANGE_VAL";
Pos = MAP_APPFONT ( 78 , 92 ) ;
Size = MAP_APPFONT ( 176 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -204,11 +215,13 @@ TabPage TP_DOCINFODOC
};
Edit FT_SIGNED_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_SIGNED_VAL";
Pos = MAP_APPFONT ( 78 , 104 ) ;
Size = MAP_APPFONT ( 123 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
PushButton BTN_SIGNATURE
{
+ HelpID = "sfx2:PushButton:TP_DOCINFODOC:BTN_SIGNATURE";
Pos = MAP_APPFONT ( 204 , 101 ) ;
Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH , RSC_CD_PUSHBUTTON_HEIGHT ) ;
Text [ en-US ] = "Digital Signature...";
@@ -225,6 +238,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_PRINT_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_PRINT_VAL";
Pos = MAP_APPFONT ( 78 , 116 ) ;
Size = MAP_APPFONT ( 176 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -236,6 +250,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_TIMELOG_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_TIMELOG_VAL";
Pos = MAP_APPFONT ( 78 , 128 ) ;
Size = MAP_APPFONT ( 30 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -247,11 +262,13 @@ TabPage TP_DOCINFODOC
};
Edit FT_DOCNO_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_DOCNO_VAL";
Pos = MAP_APPFONT ( 78 , 140 ) ;
Size = MAP_APPFONT ( 30 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
PushButton BTN_DELETE
{
+ HelpID = "sfx2:PushButton:TP_DOCINFODOC:BTN_DELETE";
Pos = MAP_APPFONT ( 204 , 150 ) ;
Size = MAP_APPFONT ( RSC_CD_PUSHBUTTON_WIDTH , RSC_CD_PUSHBUTTON_HEIGHT ) ;
Hide = TRUE;
@@ -259,6 +276,7 @@ TabPage TP_DOCINFODOC
};
CheckBox CB_USE_USERDATA
{
+ HelpID = "sfx2:CheckBox:TP_DOCINFODOC:CB_USE_USERDATA";
Pos = MAP_APPFONT ( 6 , 152 ) ;
Size = MAP_APPFONT ( 192 , RSC_CD_CHECKBOX_HEIGHT ) ;
Hide = TRUE;
@@ -277,6 +295,7 @@ TabPage TP_DOCINFODOC
};
Edit FT_TEMPL_VAL
{
+ HelpID = "sfx2:Edit:TP_DOCINFODOC:FT_TEMPL_VAL";
Pos = MAP_APPFONT ( 78 , 172 ) ;
Size = MAP_APPFONT ( 180 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
};
@@ -301,6 +320,7 @@ TabPage TP_DOCINFOUSER
};
Edit ED_INFO1
{
+ HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO1";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 17 ) ;
Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -314,6 +334,7 @@ TabPage TP_DOCINFOUSER
};
Edit ED_INFO2
{
+ HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO2";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 43 ) ;
Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -327,6 +348,7 @@ TabPage TP_DOCINFOUSER
};
Edit ED_INFO3
{
+ HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO3";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 69 ) ;
Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -340,6 +362,7 @@ TabPage TP_DOCINFOUSER
};
Edit ED_INFO4
{
+ HelpID = "sfx2:Edit:TP_DOCINFOUSER:ED_INFO4";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 95 ) ;
Size = MAP_APPFONT ( 248 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -347,6 +370,7 @@ TabPage TP_DOCINFOUSER
};
PushButton BTN_EDITLABEL
{
+ HelpID = "sfx2:PushButton:TP_DOCINFOUSER:BTN_EDITLABEL";
Pos = MAP_APPFONT ( 194 , 165 ) ;
Size = MAP_APPFONT ( 60 , RSC_CD_PUSHBUTTON_HEIGHT ) ;
Text [ en-US ] = "~Info fields..." ;
@@ -362,6 +386,7 @@ TabPage TP_DOCINFORELOAD
Size = MAP_APPFONT ( 260 , 185 ) ;
RadioButton RB_NOAUTOUPDATE
{
+ HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_NOAUTOUPDATE";
TabStop = TRUE ;
Pos = MAP_APPFONT( COL_0 , ROW_0 ) ;
Size = MAP_APPFONT( COL_7 - COL_1 , RSC_CD_RADIOBUTTON_HEIGHT ) ;
@@ -370,6 +395,7 @@ TabPage TP_DOCINFORELOAD
RadioButton RB_RELOADUPDATE
{
+ HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_RELOADUPDATE";
TabStop = TRUE ;
Pos = MAP_APPFONT( COL_0, ROW_1 ) ;
Size = MAP_APPFONT( COL_7 - COL_1, RSC_CD_RADIOBUTTON_HEIGHT ) ;
@@ -383,6 +409,7 @@ TabPage TP_DOCINFORELOAD
};
NumericField ED_RELOAD
{
+ HelpID = "sfx2:NumericField:TP_DOCINFORELOAD:ED_RELOAD";
Border = TRUE ;
Pos = MAP_APPFONT ( COL_2 , ROW_2 - ROWDIFF_FT_EDTFLD ) ;
Size = MAP_APPFONT ( WIDTH_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -403,6 +430,7 @@ TabPage TP_DOCINFORELOAD
RadioButton RB_FORWARDUPDATE
{
+ HelpID = "sfx2:RadioButton:TP_DOCINFORELOAD:RB_FORWARDUPDATE";
TabStop = TRUE ;
Pos = MAP_APPFONT( COL_0, ROW_3 ) ;
Size = MAP_APPFONT( COL_7 - COL_1, RSC_CD_RADIOBUTTON_HEIGHT ) ;
@@ -416,6 +444,7 @@ TabPage TP_DOCINFORELOAD
};
NumericField ED_FORWARD
{
+ HelpID = "sfx2:NumericField:TP_DOCINFORELOAD:ED_FORWARD";
Border = TRUE ;
Pos = MAP_APPFONT ( COL_2 , ROW_4 - ROWDIFF_FT_EDTFLD ) ;
Size = MAP_APPFONT ( WIDTH_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -441,12 +470,14 @@ TabPage TP_DOCINFORELOAD
};
Edit ED_URL
{
+ HelpID = "sfx2:Edit:TP_DOCINFORELOAD:ED_URL";
Border = TRUE ;
Pos = MAP_APPFONT ( COL_2 , ROW_5 - ROWDIFF_FT_EDTFLD ) ;
Size = MAP_APPFONT ( COL_5 - COL_2 , RSC_CD_TEXTBOX_HEIGHT ) ;
};
PushButton PB_BROWSEURL
{
+ HelpID = "sfx2:PushButton:TP_DOCINFORELOAD:PB_BROWSEURL";
Pos = MAP_APPFONT ( COL_6 , ROW_5 - ROWDIFF_FT_EDTFLD ) ;
Size = MAP_APPFONT ( COL_7 - COL_6 , RSC_CD_PUSHBUTTON_HEIGHT ) ;
Text = "..." ;
@@ -459,6 +490,7 @@ TabPage TP_DOCINFORELOAD
};
ComboBox CB_FRAME
{
+ HelpID = "sfx2:ComboBox:TP_DOCINFORELOAD:CB_FRAME";
Pos = MAP_APPFONT ( COL_2 , ROW_6 - ROWDIFF_FT_EDTFLD ) ;
Size = MAP_APPFONT ( COL_7 - COL_2 , RSC_CD_DROPDOWN_HEIGHT * 10 ) ;
DropDown = TRUE ;
@@ -524,6 +556,7 @@ TabPage TP_CUSTOMPROPERTIES
};
PushButton BTN_ADD
{
+ HelpID = "sfx2:PushButton:TP_CUSTOMPROPERTIES:BTN_ADD";
Pos = MAP_APPFONT( 204 , 165 );
Size = MAP_APPFONT( RSC_CD_PUSHBUTTON_WIDTH, RSC_CD_PUSHBUTTON_HEIGHT );
Text [ en-US ] = "~Add";
@@ -756,6 +789,7 @@ ModalDialog RID_EDIT_DURATIONS
};
CheckBox CB_NEGATIVE
{
+ HelpID = "sfx2:CheckBox:RID_EDIT_DURATIONS:CB_NEGATIVE";
Pos = MAP_APPFONT ( 6 , 21 ) ;
Size = MAP_APPFONT ( 60 , RSC_CD_FIXEDTEXT_HEIGHT ) ;
Text [ en-US ] = "~Negative" ;
@@ -769,6 +803,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_YEAR
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_YEAR";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 36 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -789,6 +824,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_MONTH
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_MONTH";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 50 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -809,6 +845,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_DAY
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_DAY";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 64 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -829,6 +866,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_HOUR
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_HOUR";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 78 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -849,6 +887,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_MINUTE
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_MINUTE";
Border = TRUE ;
Pos = MAP_APPFONT ( 70, 92) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -869,6 +908,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_SECOND
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_SECOND";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 106 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
@@ -889,6 +929,7 @@ ModalDialog RID_EDIT_DURATIONS
};
NumericField ED_MSECOND
{
+ HelpID = "sfx2:NumericField:RID_EDIT_DURATIONS:ED_MSECOND";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 120 ) ;
Size = MAP_APPFONT ( 40, RSC_CD_TEXTBOX_HEIGHT ) ;
diff --git a/sfx2/source/dialog/dinfedt.src b/sfx2/source/dialog/dinfedt.src
index ebc18731f7..476690de0b 100644
--- a/sfx2/source/dialog/dinfedt.src
+++ b/sfx2/source/dialog/dinfedt.src
@@ -45,24 +45,28 @@ ModalDialog DLG_DOCINFO_EDT
};
Edit ED_INFO1
{
+ HelpID = "sfx2:Edit:DLG_DOCINFO_EDT:ED_INFO1";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 14 ) ;
Size = MAP_APPFONT ( 86 , 12 ) ;
};
Edit ED_INFO2
{
+ HelpID = "sfx2:Edit:DLG_DOCINFO_EDT:ED_INFO2";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 29 ) ;
Size = MAP_APPFONT ( 86 , 12 ) ;
};
Edit ED_INFO3
{
+ HelpID = "sfx2:Edit:DLG_DOCINFO_EDT:ED_INFO3";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 44 ) ;
Size = MAP_APPFONT ( 86 , 12 ) ;
};
Edit ED_INFO4
{
+ HelpID = "sfx2:Edit:DLG_DOCINFO_EDT:ED_INFO4";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 59 ) ;
Size = MAP_APPFONT ( 86 , 12 ) ;
diff --git a/sfx2/source/dialog/dockwin.cxx b/sfx2/source/dialog/dockwin.cxx
index eda084e751..36be016832 100644
--- a/sfx2/source/dialog/dockwin.cxx
+++ b/sfx2/source/dialog/dockwin.cxx
@@ -46,6 +46,7 @@
#include <sfx2/viewsh.hxx>
#include "sfx2/sfxhelp.hxx"
#include <sfx2/objsh.hxx>
+#include <sfx2/msgpool.hxx>
#include <com/sun/star/frame/XController.hpp>
#include <com/sun/star/lang/XUnoTunnel.hpp>
@@ -918,11 +919,23 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
*/
{
- ULONG nId = GetHelpId();
- if ( !nId && pCW )
- nId = pCW->GetType();
- SetHelpId( 0 );
- SetUniqueId( nId );
+ if ( GetHelpId().getLength() )
+ {
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
+ }
+ else
+ {
+ SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
+ SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
+ const SfxSlot* pSlot = pSlotPool->GetSlot( pCW->GetType() );
+ if ( pSlot )
+ {
+ rtl::OString aCmd("SFXDOCKINGWINDOW_");
+ aCmd += pSlot->GetUnoName();
+ SetUniqueId( aCmd );
+ }
+ }
pImp = new SfxDockingWindow_Impl;
pImp->bConstructed = FALSE;
@@ -960,9 +973,23 @@ SfxDockingWindow::SfxDockingWindow( SfxBindings *pBindinx, SfxChildWindow *pCW,
*/
{
- ULONG nId = GetHelpId();
- SetHelpId(0);
- SetUniqueId( nId );
+ if ( GetHelpId().getLength() )
+ {
+ SetUniqueId( GetHelpId() );
+ SetHelpId("");
+ }
+ else
+ {
+ SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
+ SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
+ const SfxSlot* pSlot = pSlotPool->GetSlot( pCW->GetType() );
+ if ( pSlot )
+ {
+ rtl::OString aCmd("SFXDOCKINGWINDOW_");
+ aCmd += pSlot->GetUnoName();
+ SetUniqueId( aCmd );
+ }
+ }
pImp = new SfxDockingWindow_Impl;
pImp->bConstructed = FALSE;
@@ -1844,15 +1871,15 @@ long SfxDockingWindow::Notify( NotifyEvent& rEvt )
pMgr->Activate_Impl();
Window* pWindow = rEvt.GetWindow();
- ULONG nHelpId = 0;
- while ( !nHelpId && pWindow )
+ rtl::OString sHelpId;
+ while ( !sHelpId.getLength() && pWindow )
{
- nHelpId = pWindow->GetHelpId();
+ sHelpId = pWindow->GetHelpId();
pWindow = pWindow->GetParent();
}
- if ( nHelpId )
- SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), nHelpId );
+ if ( sHelpId.getLength() )
+ SfxHelp::OpenHelpAgent( &pBindings->GetDispatcher_Impl()->GetFrame()->GetFrame(), sHelpId );
// In VCL geht Notify zun"achst an das Fenster selbst,
// also base class rufen, sonst erf"ahrt der parent nichts
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx
index ee7ff5459d..ebb099d363 100644
--- a/sfx2/source/dialog/filedlghelper.cxx
+++ b/sfx2/source/dialog/filedlghelper.cxx
@@ -79,7 +79,6 @@
#include <unotools/viewoptions.hxx>
#include <unotools/moduleoptions.hxx>
#include <svtools/helpid.hrc>
-#include <svl/pickerhelper.hxx>
#include <comphelper/docpasswordrequest.hxx>
#include <comphelper/docpasswordhelper.hxx>
#include <ucbhelper/content.hxx>
@@ -98,7 +97,7 @@
#include "filtergrouping.hxx"
#include <sfx2/request.hxx>
#include "filedlgimpl.hxx"
-
+#include <helpid.hrc>
#include <sfxlocal.hrc>
//-----------------------------------------------------------------------------
@@ -221,55 +220,55 @@ OUString FileDialogHelper_Impl::handleHelpRequested( const FilePickerEvent& aEve
{
//!!! todo: cache the help strings (here or TRA)
- ULONG nHelpId = 0;
+ rtl::OString sHelpId;
// mapping from element id -> help id
switch ( aEvent.ElementId )
{
case ExtendedFilePickerElementIds::CHECKBOX_AUTOEXTENSION :
- nHelpId = HID_FILESAVE_AUTOEXTENSION;
+ sHelpId = HID_FILESAVE_AUTOEXTENSION;
break;
case ExtendedFilePickerElementIds::CHECKBOX_PASSWORD :
- nHelpId = HID_FILESAVE_SAVEWITHPASSWORD;
+ sHelpId = HID_FILESAVE_SAVEWITHPASSWORD;
break;
case ExtendedFilePickerElementIds::CHECKBOX_FILTEROPTIONS :
- nHelpId = HID_FILESAVE_CUSTOMIZEFILTER;
+ sHelpId = HID_FILESAVE_CUSTOMIZEFILTER;
break;
case ExtendedFilePickerElementIds::CHECKBOX_READONLY :
- nHelpId = HID_FILEOPEN_READONLY;
+ sHelpId = HID_FILEOPEN_READONLY;
break;
case ExtendedFilePickerElementIds::CHECKBOX_LINK :
- nHelpId = HID_FILEDLG_LINK_CB;
+ sHelpId = HID_FILEDLG_LINK_CB;
break;
case ExtendedFilePickerElementIds::CHECKBOX_PREVIEW :
- nHelpId = HID_FILEDLG_PREVIEW_CB;
+ sHelpId = HID_FILEDLG_PREVIEW_CB;
break;
case ExtendedFilePickerElementIds::PUSHBUTTON_PLAY :
- nHelpId = HID_FILESAVE_DOPLAY;
+ sHelpId = HID_FILESAVE_DOPLAY;
break;
case ExtendedFilePickerElementIds::LISTBOX_VERSION_LABEL :
case ExtendedFilePickerElementIds::LISTBOX_VERSION :
- nHelpId = HID_FILEOPEN_VERSION;
+ sHelpId = HID_FILEOPEN_VERSION;
break;
case ExtendedFilePickerElementIds::LISTBOX_TEMPLATE_LABEL :
case ExtendedFilePickerElementIds::LISTBOX_TEMPLATE :
- nHelpId = HID_FILESAVE_TEMPLATE;
+ sHelpId = HID_FILESAVE_TEMPLATE;
break;
case ExtendedFilePickerElementIds::LISTBOX_IMAGE_TEMPLATE_LABEL :
case ExtendedFilePickerElementIds::LISTBOX_IMAGE_TEMPLATE :
- nHelpId = HID_FILEOPEN_IMAGE_TEMPLATE;
+ sHelpId = HID_FILEOPEN_IMAGE_TEMPLATE;
break;
case ExtendedFilePickerElementIds::CHECKBOX_SELECTION :
- nHelpId = HID_FILESAVE_SELECTION;
+ sHelpId = HID_FILESAVE_SELECTION;
break;
default:
@@ -279,7 +278,7 @@ OUString FileDialogHelper_Impl::handleHelpRequested( const FilePickerEvent& aEve
OUString aHelpText;
Help* pHelp = Application::GetHelp();
if ( pHelp )
- aHelpText = String( pHelp->GetHelpText( nHelpId, NULL ) );
+ aHelpText = String( pHelp->GetHelpText( String( ByteString(sHelpId), RTL_TEXTENCODING_UTF8), NULL ) );
return aHelpText;
}
@@ -1204,7 +1203,7 @@ void SAL_CALL PickerThread_Impl::run()
}
// ------------------------------------------------------------------------
-void FileDialogHelper_Impl::setControlHelpIds( const sal_Int16* _pControlId, const sal_Int32* _pHelpId )
+void FileDialogHelper_Impl::setControlHelpIds( const sal_Int16* _pControlId, const char** _pHelpId )
{
DBG_ASSERT( _pControlId && _pHelpId, "FileDialogHelper_Impl::setControlHelpIds: invalid array pointers!" );
if ( !_pControlId || !_pHelpId )
@@ -1213,17 +1212,16 @@ void FileDialogHelper_Impl::setControlHelpIds( const sal_Int16* _pControlId, con
// forward these ids to the file picker
try
{
- const ::rtl::OUString sHelpIdPrefix( RTL_CONSTASCII_USTRINGPARAM( "HID:" ) );
+ const ::rtl::OUString sHelpIdPrefix( RTL_CONSTASCII_USTRINGPARAM( INET_HID_SCHEME ) );
// the ids for the single controls
uno::Reference< XFilePickerControlAccess > xControlAccess( mxFileDlg, UNO_QUERY );
if ( xControlAccess.is() )
{
while ( *_pControlId )
{
- // calc the help id of the element
+ DBG_ASSERT( INetURLObject( rtl::OStringToOUString( *_pHelpId, RTL_TEXTENCODING_UTF8 ) ).GetProtocol() == INET_PROT_NOT_VALID, "Wrong HelpId!" );
::rtl::OUString sId( sHelpIdPrefix );
- sId += ::rtl::OUString::valueOf( *_pHelpId );
- // set the help id
+ sId += ::rtl::OUString( *_pHelpId, strlen( *_pHelpId ), RTL_TEXTENCODING_UTF8 );
xControlAccess->setValue( *_pControlId, ControlActions::SET_HELP_URL, makeAny( sId ) );
++_pControlId; ++_pHelpId;
@@ -1237,12 +1235,6 @@ void FileDialogHelper_Impl::setControlHelpIds( const sal_Int16* _pControlId, con
}
// ------------------------------------------------------------------------
-void FileDialogHelper_Impl::setDialogHelpId( const sal_Int32 _nHelpId )
-{
- svt::SetDialogHelpId( mxFileDlg, _nHelpId );
-}
-
-// ------------------------------------------------------------------------
IMPL_LINK( FileDialogHelper_Impl, InitControls, void*, NOTINTERESTEDIN )
{
(void)NOTINTERESTEDIN;
@@ -1954,7 +1946,7 @@ void FileDialogHelper_Impl::addGraphicFilter()
}
}
-#if defined(WIN) || defined(WNT)
+#if defined(WNT)
if ( aExtensions.Len() > 240 )
aExtensions = DEFINE_CONST_UNICODE( FILEDIALOG_FILTER_ALL );
#endif
@@ -2346,9 +2338,6 @@ void FileDialogHelper_Impl::SetContext( FileDialogHelper::Context _eNewContext )
const OUString* pConfigId = GetLastFilterConfigId( _eNewContext );
if( pConfigId )
LoadLastUsedFilter( *pConfigId );
-
-// if( nNewHelpId )
-// this->setDialogHelpId( nNewHelpId );
}
// ------------------------------------------------------------------------
@@ -2494,17 +2483,11 @@ void FileDialogHelper::CreateMatcher( const String& rFactory )
}
// ------------------------------------------------------------------------
-void FileDialogHelper::SetControlHelpIds( const sal_Int16* _pControlId, const sal_Int32* _pHelpId )
+void FileDialogHelper::SetControlHelpIds( const sal_Int16* _pControlId, const char** _pHelpId )
{
mpImp->setControlHelpIds( _pControlId, _pHelpId );
}
-// ------------------------------------------------------------------------
-void FileDialogHelper::SetDialogHelpId( const sal_Int32 _nHelpId )
-{
- mpImp->setDialogHelpId( _nHelpId );
-}
-
void FileDialogHelper::SetContext( Context _eNewContext )
{
mpImp->SetContext( _eNewContext );
@@ -2748,7 +2731,7 @@ void FileDialogHelper::SetDisplayDirectory( const String& _rPath )
if ( sFolder.getLength() == 0 )
{
// _rPath is not a valid path -> fallback to home directory
- NAMESPACE_VOS( OSecurity ) aSecurity;
+ vos:: OSecurity aSecurity;
aSecurity.getHomeDir( sFolder );
}
mpImp->displayFolder( sFolder );
diff --git a/sfx2/source/dialog/filedlgimpl.hxx b/sfx2/source/dialog/filedlgimpl.hxx
index f7b6f8d41c..e2d2bfbf40 100644
--- a/sfx2/source/dialog/filedlgimpl.hxx
+++ b/sfx2/source/dialog/filedlgimpl.hxx
@@ -142,8 +142,7 @@ namespace sfx2
void correctVirtualDialogType();
- void setControlHelpIds( const sal_Int16* _pControlId, const sal_Int32* _pHelpId );
- void setDialogHelpId( const sal_Int32 _nHelpId );
+ void setControlHelpIds( const sal_Int16* _pControlId, const char** _pHelpId );
sal_Bool CheckFilterOptionsCapability( const SfxFilter* _pFilter );
diff --git a/sfx2/source/dialog/mgetempl.src b/sfx2/source/dialog/mgetempl.src
index 49cfb04cd0..be60b35f7d 100644
--- a/sfx2/source/dialog/mgetempl.src
+++ b/sfx2/source/dialog/mgetempl.src
@@ -44,12 +44,14 @@ TabPage TP_MANAGE_STYLES
};
Edit ED_NAME
{
+ HelpID = "sfx2:Edit:TP_MANAGE_STYLES:ED_NAME";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 6 ) ;
Size = MAP_APPFONT ( 184 , 12 ) ;
};
CheckBox CB_AUTO
{
+ HelpID = "sfx2:CheckBox:TP_MANAGE_STYLES:CB_AUTO";
Pos = MAP_APPFONT ( 164 , 8 ) ;
Size = MAP_APPFONT ( 90 , 10 ) ;
Hide = TRUE ;
@@ -63,6 +65,7 @@ TabPage TP_MANAGE_STYLES
};
ListBox LB_NEXT
{
+ HelpID = "sfx2:ListBox:TP_MANAGE_STYLES:LB_NEXT";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 24 ) ;
Size = MAP_APPFONT ( 184 , 65 ) ;
@@ -79,6 +82,7 @@ TabPage TP_MANAGE_STYLES
};
ListBox LB_BASE
{
+ HelpID = "sfx2:ListBox:TP_MANAGE_STYLES:LB_BASE";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 42 ) ;
Size = MAP_APPFONT ( 184 , 65 ) ;
@@ -93,6 +97,7 @@ TabPage TP_MANAGE_STYLES
};
ListBox LB_REGION
{
+ HelpID = "sfx2:ListBox:TP_MANAGE_STYLES:LB_REGION";
Border = TRUE ;
Pos = MAP_APPFONT ( 70 , 60 ) ;
Size = MAP_APPFONT ( 184 , 64 ) ;
@@ -107,6 +112,7 @@ TabPage TP_MANAGE_STYLES
};
MultiLineEdit ED_DESC
{
+ HelpID = "sfx2:MultiLineEdit:TP_MANAGE_STYLES:ED_DESC";
Pos = MAP_APPFONT ( 12 , 88 ) ;
Size = MAP_APPFONT ( 236 , 85 ) ;
ReadOnly = TRUE ;
diff --git a/sfx2/source/dialog/newstyle.src b/sfx2/source/dialog/newstyle.src
index b691c64fa7..28dddf7fd6 100644
--- a/sfx2/source/dialog/newstyle.src
+++ b/sfx2/source/dialog/newstyle.src
@@ -28,10 +28,11 @@
#include <sfx2/sfx.hrc>
#include "dialog.hrc"
#include "newstyle.hrc"
+#include "sfx2/sfxcommands.h"
ModalDialog DLG_NEW_STYLE_BY_EXAMPLE
{
- HelpId = SID_STYLE_NEW_BY_EXAMPLE ;
+ HelpId = CMD_SID_STYLE_NEW_BY_EXAMPLE ;
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 177 , 112 ) ;
@@ -45,6 +46,7 @@ ModalDialog DLG_NEW_STYLE_BY_EXAMPLE
};
ComboBox LB_COL
{
+ HelpID = "sfx2:ComboBox:DLG_NEW_STYLE_BY_EXAMPLE:LB_COL";
Pos = MAP_APPFONT ( 12 , 14 ) ;
Size = MAP_APPFONT ( 94 , 92 ) ;
TabStop = TRUE ;
diff --git a/sfx2/source/dialog/passwd.src b/sfx2/source/dialog/passwd.src
index b95c14cba0..4111597e1c 100644
--- a/sfx2/source/dialog/passwd.src
+++ b/sfx2/source/dialog/passwd.src
@@ -47,6 +47,7 @@ ModalDialog DLG_PASSWD
};
Edit ED_PASSWD_USER
{
+ HelpID = "sfx2:Edit:DLG_PASSWD:ED_PASSWD_USER";
Border = TRUE;
Pos = MAP_APPFONT( 57, 14 );
Size = MAP_APPFONT( 75, 12 );
@@ -59,6 +60,7 @@ ModalDialog DLG_PASSWD
};
Edit ED_PASSWD_PASSWORD
{
+ HelpID = "sfx2:Edit:DLG_PASSWD:ED_PASSWD_PASSWORD";
Border = TRUE;
PassWord = TRUE;
Pos = MAP_APPFONT( 57, 29 );
@@ -72,6 +74,7 @@ ModalDialog DLG_PASSWD
};
Edit ED_PASSWD_CONFIRM
{
+ HelpID = "sfx2:Edit:DLG_PASSWD:ED_PASSWD_CONFIRM";
Border = TRUE;
PassWord = TRUE;
Pos = MAP_APPFONT( 57, 44 );
diff --git a/sfx2/source/dialog/printopt.src b/sfx2/source/dialog/printopt.src
index d5b1602e13..065cf926e1 100644
--- a/sfx2/source/dialog/printopt.src
+++ b/sfx2/source/dialog/printopt.src
@@ -60,6 +60,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_PRINTEROUTPUT
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_PRINTEROUTPUT";
TabStop = TRUE;
Pos = MAP_APPFONT ( 81, 14 ) ;
Size = MAP_APPFONT ( 60, 10 ) ;
@@ -67,6 +68,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_PRINTFILEOUTPUT
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_PRINTFILEOUTPUT";
TabStop = TRUE;
Pos = MAP_APPFONT ( 142, 14 ) ;
Size = MAP_APPFONT ( 100, 10 ) ;
@@ -83,6 +85,7 @@ TabPage TP_COMMONPRINTOPTIONS
CheckBox CB_REDUCETRANSPARENCY
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_REDUCETRANSPARENCY";
TabStop = TRUE;
Pos = MAP_APPFONT ( 18, 38 ) ;
Size = MAP_APPFONT ( 115, 10 ) ;
@@ -90,6 +93,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCETRANSPARENCY_AUTO
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCETRANSPARENCY_AUTO";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 51 ) ;
Size = MAP_APPFONT ( 105, 10 ) ;
@@ -97,6 +101,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCETRANSPARENCY_NONE
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCETRANSPARENCY_NONE";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 64 ) ;
Size = MAP_APPFONT ( 105, 10 ) ;
@@ -107,6 +112,7 @@ TabPage TP_COMMONPRINTOPTIONS
CheckBox CB_REDUCEGRADIENTS
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_REDUCEGRADIENTS";
TabStop = TRUE;
Pos = MAP_APPFONT ( 136, 38 ) ;
Size = MAP_APPFONT ( 121, 10 ) ;
@@ -114,6 +120,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCEGRADIENTS_STRIPES
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCEGRADIENTS_STRIPES";
TabStop = TRUE;
Pos = MAP_APPFONT ( 146, 51 ) ;
Size = MAP_APPFONT ( 77, 10 ) ;
@@ -121,6 +128,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
NumericField NF_REDUCEGRADIENTS_STEPCOUNT
{
+ HelpID = "sfx2:NumericField:TP_COMMONPRINTOPTIONS:NF_REDUCEGRADIENTS_STEPCOUNT";
TabStop = TRUE;
Border = TRUE ;
Pos = MAP_APPFONT ( 224, 49 ) ;
@@ -132,6 +140,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCEGRADIENTS_COLOR
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCEGRADIENTS_COLOR";
TabStop = TRUE;
Pos = MAP_APPFONT ( 146, 64 ) ;
Size = MAP_APPFONT ( 108, 10 ) ;
@@ -142,6 +151,7 @@ TabPage TP_COMMONPRINTOPTIONS
CheckBox CB_REDUCEBITMAPS
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_REDUCEBITMAPS";
TabStop = TRUE;
Pos = MAP_APPFONT ( 18, 80 ) ;
Size = MAP_APPFONT ( 115, 10 ) ;
@@ -149,6 +159,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCEBITMAPS_OPTIMAL
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCEBITMAPS_OPTIMAL";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 93 ) ;
Size = MAP_APPFONT ( 226, 10 ) ;
@@ -156,6 +167,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCEBITMAPS_NORMAL
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCEBITMAPS_NORMAL";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 106 ) ;
Size = MAP_APPFONT ( 226, 10 ) ;
@@ -163,6 +175,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
RadioButton RB_REDUCEBITMAPS_RESOLUTION
{
+ HelpID = "sfx2:RadioButton:TP_COMMONPRINTOPTIONS:RB_REDUCEBITMAPS_RESOLUTION";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 119 ) ;
Size = MAP_APPFONT ( 52, 10 ) ;
@@ -170,6 +183,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
ListBox LB_REDUCEBITMAPS_RESOLUTION
{
+ HelpID = "sfx2:ListBox:TP_COMMONPRINTOPTIONS:LB_REDUCEBITMAPS_RESOLUTION";
TabStop = TRUE;
Border = TRUE ;
Pos = MAP_APPFONT ( 81, 117 ) ;
@@ -188,6 +202,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
CheckBox CB_REDUCEBITMAPS_TRANSPARENCY
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_REDUCEBITMAPS_TRANSPARENCY";
TabStop = TRUE;
Pos = MAP_APPFONT ( 28, 132 ) ;
Size = MAP_APPFONT ( 226, 10 ) ;
@@ -198,6 +213,7 @@ TabPage TP_COMMONPRINTOPTIONS
CheckBox CB_CONVERTTOGREYSCALES
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_CONVERTTOGREYSCALES";
TabStop = TRUE;
Pos = MAP_APPFONT ( 136, 80 ) ;
Size = MAP_APPFONT ( 123, 10 ) ;
@@ -214,6 +230,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
CheckBox CB_PAPERSIZE
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_PAPERSIZE";
TabStop = TRUE;
Pos = MAP_APPFONT ( 12, 159 ) ;
Size = MAP_APPFONT ( 123, 10 ) ;
@@ -221,6 +238,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
CheckBox CB_PAPERORIENTATION
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_PAPERORIENTATION";
TabStop = TRUE;
Pos = MAP_APPFONT ( 12, 172 ) ;
Size = MAP_APPFONT ( 123 , 10 ) ;
@@ -228,6 +246,7 @@ TabPage TP_COMMONPRINTOPTIONS
};
CheckBox CB_TRANSPARENCY
{
+ HelpID = "sfx2:CheckBox:TP_COMMONPRINTOPTIONS:CB_TRANSPARENCY";
TabStop = TRUE;
Pos = MAP_APPFONT ( 136, 159 ) ;
Size = MAP_APPFONT ( 123, 10 ) ;
@@ -241,6 +260,7 @@ TabPage TP_COMMONPRINTOPTIONS
ModalDialog RID_WARN_PRINTTRANSPARENCY
{
+ HelpID = "sfx2:ModalDialog:RID_WARN_PRINTTRANSPARENCY";
OutputSize = TRUE ;
Size = MAP_APPFONT ( 195 , 85 ) ;
Text [ en-US ] = "Warning" ;
@@ -266,6 +286,7 @@ ModalDialog RID_WARN_PRINTTRANSPARENCY
};
PushButton BTN_PRINTTRANS_NO
{
+ HelpID = "sfx2:PushButton:RID_WARN_PRINTTRANSPARENCY:BTN_PRINTTRANS_NO";
Pos = MAP_APPFONT ( 68 , 48 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~No" ;
@@ -278,6 +299,7 @@ ModalDialog RID_WARN_PRINTTRANSPARENCY
};
CheckBox CBX_NOPRINTTRANSWARN
{
+ HelpID = "sfx2:CheckBox:RID_WARN_PRINTTRANSPARENCY:CBX_NOPRINTTRANSWARN";
Pos = MAP_APPFONT ( 6 , 68 ) ;
Size = MAP_APPFONT ( 183 , 10 ) ;
Text [ en-US ] = "~Do not show warning again" ;
diff --git a/sfx2/source/dialog/recfloat.src b/sfx2/source/dialog/recfloat.src
index f87e521a29..0e55ac8170 100644
--- a/sfx2/source/dialog/recfloat.src
+++ b/sfx2/source/dialog/recfloat.src
@@ -34,6 +34,7 @@
FloatingWindow SID_RECORDING_FLOATWINDOW
{
+ HelpID = "sfx2:FloatingWindow:SID_RECORDING_FLOATWINDOW";
Moveable = TRUE ;
Closeable = TRUE ;
Hide = TRUE ;
diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx
index 5577170c90..4f9b41a0dd 100755..100644
--- a/sfx2/source/dialog/securitypage.cxx
+++ b/sfx2/source/dialog/securitypage.cxx
@@ -245,6 +245,36 @@ SfxSecurityPage_Impl::SfxSecurityPage_Impl( SfxSecurityPage &rTabPage, const Sfx
m_aRecordChangesCB.SetStyle( m_aRecordChangesCB.GetStyle() | WB_EARLYTOGGLE );
m_aRecordChangesCB.SetToggleHdl( LINK( this, SfxSecurityPage_Impl, RecordChangesCBToggleHdl ) );
m_aChangeProtectionPB.SetClickHdl( LINK( this, SfxSecurityPage_Impl, ChangeProtectionPBHdl ) );
+
+
+ // #i112277: for the time being (OOO 3.3) the following options should not
+ // be available. In the long run however it is planned to implement the yet
+ // missing functionality. Thus now we hide them and move the remaining ones up.
+ m_aNewPasswordToOpenFL.Hide();
+ m_aNewPasswordToOpenFT.Hide();
+ m_aNewPasswordToOpenED.Hide();
+ m_aConfirmPasswordToOpenFT.Hide();
+ m_aConfirmPasswordToOpenED.Hide();
+ m_aNewPasswordInfoFT.Hide();
+ m_aNewPasswordToModifyFL.Hide();
+ m_aNewPasswordToModifyFT.Hide();
+ m_aNewPasswordToModifyED.Hide();
+ m_aConfirmPasswordToModifyFT.Hide();
+ m_aConfirmPasswordToModifyED.Hide();
+ const long nDelta = m_aOptionsFL.GetPosPixel().Y() - m_aNewPasswordToOpenFL.GetPosPixel().Y();
+ Point aPos;
+ aPos = m_aOptionsFL.GetPosPixel();
+ aPos.Y() -= nDelta;
+ m_aOptionsFL.SetPosPixel( aPos );
+ aPos = m_aOpenReadonlyCB.GetPosPixel();
+ aPos.Y() -= nDelta;
+ m_aOpenReadonlyCB.SetPosPixel( aPos );
+ aPos = m_aRecordChangesCB.GetPosPixel();
+ aPos.Y() -= nDelta;
+ m_aRecordChangesCB.SetPosPixel( aPos );
+ aPos = m_aChangeProtectionPB.GetPosPixel();
+ aPos.Y() -= nDelta;
+ m_aChangeProtectionPB.SetPosPixel( aPos );
}
diff --git a/sfx2/source/dialog/securitypage.src b/sfx2/source/dialog/securitypage.src
index 4818068990..4818068990 100755..100644
--- a/sfx2/source/dialog/securitypage.src
+++ b/sfx2/source/dialog/securitypage.src
diff --git a/sfx2/source/dialog/srchdlg.src b/sfx2/source/dialog/srchdlg.src
index aaa367b1b1..8ffcadf4d6 100644
--- a/sfx2/source/dialog/srchdlg.src
+++ b/sfx2/source/dialog/srchdlg.src
@@ -52,6 +52,7 @@ ModelessDialog RID_DLG_SEARCH
};
ComboBox ED_SEARCH
{
+ HelpID = "sfx2:ComboBox:RID_DLG_SEARCH:ED_SEARCH";
Border = TRUE;
Pos = MAP_APPFONT( 6, 14 );
Size = MAP_APPFONT( 150, 50 );
@@ -60,6 +61,7 @@ ModelessDialog RID_DLG_SEARCH
};
CheckBox CB_WHOLEWORDS
{
+ HelpID = "sfx2:CheckBox:RID_DLG_SEARCH:CB_WHOLEWORDS";
Pos = MAP_APPFONT( 6, 29 );
Size = MAP_APPFONT( 150, 10 );
Text [ en-US ] = "~Whole words only" ;
@@ -67,6 +69,7 @@ ModelessDialog RID_DLG_SEARCH
};
CheckBox CB_MATCHCASE
{
+ HelpID = "sfx2:CheckBox:RID_DLG_SEARCH:CB_MATCHCASE";
Pos = MAP_APPFONT( 6, 42 );
Size = MAP_APPFONT( 150, 10 );
Text[ en-US ] = "~Match case";
@@ -74,6 +77,7 @@ ModelessDialog RID_DLG_SEARCH
};
CheckBox CB_WRAPAROUND
{
+ HelpID = "sfx2:CheckBox:RID_DLG_SEARCH:CB_WRAPAROUND";
Pos = MAP_APPFONT( 6, 55 );
Size = MAP_APPFONT( 150, 10 );
Text [ en-US ] = "Wrap ~around" ;
@@ -81,6 +85,7 @@ ModelessDialog RID_DLG_SEARCH
};
CheckBox CB_BACKWARDS
{
+ HelpID = "sfx2:CheckBox:RID_DLG_SEARCH:CB_BACKWARDS";
Pos = MAP_APPFONT( 6, 68 );
Size = MAP_APPFONT( 150, 10 );
Text [ en-US ] = "~Backwards" ;
@@ -88,6 +93,7 @@ ModelessDialog RID_DLG_SEARCH
};
PushButton PB_FIND
{
+ HelpID = "sfx2:PushButton:RID_DLG_SEARCH:PB_FIND";
Pos = MAP_APPFONT( 162, 6 );
Size = MAP_APPFONT( 50, 14 );
Text [ en-US ] = "~Find" ;
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index c9a04d1e62..c1d250155f 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -1780,15 +1780,15 @@ long SfxTabDialog::Notify( NotifyEvent& rNEvt )
if ( pViewFrame )
{
Window* pWindow = rNEvt.GetWindow();
- ULONG nHelpId = 0;
- while ( !nHelpId && pWindow )
+ rtl::OString sHelpId;
+ while ( !sHelpId.getLength() && pWindow )
{
- nHelpId = pWindow->GetHelpId();
+ sHelpId = pWindow->GetHelpId();
pWindow = pWindow->GetParent();
}
- if ( nHelpId )
- SfxHelp::OpenHelpAgent( &pViewFrame->GetFrame(), nHelpId );
+ if ( sHelpId.getLength() )
+ SfxHelp::OpenHelpAgent( &pViewFrame->GetFrame(), sHelpId );
}
}
diff --git a/sfx2/source/dialog/taskpane.cxx b/sfx2/source/dialog/taskpane.cxx
index 35da8e2593..f1339fca85 100644
--- a/sfx2/source/dialog/taskpane.cxx
+++ b/sfx2/source/dialog/taskpane.cxx
@@ -60,7 +60,7 @@
#include <vcl/menu.hxx>
#include <vcl/svapp.hxx>
#include <toolkit/helper/vclunohelper.hxx>
-
+#include <tools/urlobj.hxx>
#include <boost/noncopyable.hpp>
//......................................................................................................................
@@ -253,10 +253,11 @@ namespace sfx2
pWindow->SetHelpId( HID_TASKPANE_WINDOW );
pWindow->SetOutputSizePixel( Size( 300, 450 ) );
- pWindow->Show();
dynamic_cast< SfxDockingWindow* >( pWindow )->Initialize( i_pInfo );
SetHideNotDelete( TRUE );
+
+ pWindow->Show();
}
//------------------------------------------------------------------------------------------------------------------
@@ -309,7 +310,7 @@ namespace sfx2
virtual ::rtl::OUString GetDisplayName() const;
virtual Image GetImage() const;
- virtual SmartId GetHelpID() const;
+ virtual rtl::OString GetHelpID() const;
virtual void Activate( Window& i_rParentWindow );
virtual void Deactivate();
virtual void SetSizePixel( const Size& i_rPanelWindowSize );
@@ -408,10 +409,19 @@ namespace sfx2
return m_aPanelImage;
}
+ 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 );
+ }
+
//------------------------------------------------------------------------------------------------------------------
- SmartId CustomToolPanel::GetHelpID() const
+ rtl::OString CustomToolPanel::GetHelpID() const
{
- return SmartId( m_aPanelHelpURL );
+ return lcl_getHelpId( m_aPanelHelpURL );
}
//------------------------------------------------------------------------------------------------------------------
@@ -584,6 +594,7 @@ namespace sfx2
return;
::rtl::OUString sFirstVisiblePanelResource;
+ ::rtl::OUString sFirstPanelResource;
const Sequence< ::rtl::OUString > aUIElements( aWindowStateConfig.getNodeNames() );
for ( const ::rtl::OUString* resource = aUIElements.getConstArray();
@@ -594,6 +605,8 @@ namespace sfx2
if ( !impl_isToolPanelResource( *resource ) )
continue;
+ sFirstPanelResource = *resource;
+
::utl::OConfigurationNode aResourceNode( aWindowStateConfig.openNode( *resource ) );
::svt::PToolPanel pCustomPanel( new CustomToolPanel( aResourceNode, m_xFrame ) );
@@ -620,6 +633,9 @@ namespace sfx2
sFirstVisiblePanelResource = *resource;
}
+ if ( sFirstVisiblePanelResource.getLength() == 0 )
+ sFirstVisiblePanelResource = sFirstPanelResource;
+
if ( sFirstVisiblePanelResource.getLength() )
{
::boost::optional< size_t > aPanelPos( GetPanelPos( sFirstVisiblePanelResource ) );
diff --git a/sfx2/source/dialog/templdlg.cxx b/sfx2/source/dialog/templdlg.cxx
index 10e6a92542..af3d315b78 100644
--- a/sfx2/source/dialog/templdlg.cxx
+++ b/sfx2/source/dialog/templdlg.cxx
@@ -2208,32 +2208,6 @@ IMPL_LINK( SfxCommonTemplateDialog_Impl, FmtSelectHdl, SvTreeListBox *, pListBox
// HilfePI antriggern, wenn von Call als Handler und Bereich erlaubt ist
if( !pListBox || pListBox->IsSelected( pListBox->GetHdlEntry() ) )
{
-#ifdef WIR_KOENNEN_WIEDER_HILFE_FUER_STYLESHEETS
- SfxHelpPI* pHelpPI = SFX_APP()->GetHelpPI();
- if ( pHelpPI && pListBox && IsInitialized() &&
- GetSelectedEntry().Len() )
- {
- const SfxStyleFamilyItem *pItem = GetFamilyItem_Impl();
- const SfxStyleFamily eFam = pItem->GetFamily();
- DBG_ASSERT(pStyleSheetPool, "Kein Pool");
- // SfxStyleSheetBase* pStyle = pStyleSheetPool
- // ? pStyleSheetPool->Find( GetSelectedEntry(), eFam ) : 0;
- SfxStyleSheetBase *pStyle;
- if ( pStyleSheetPool )
- pStyle = pStyleSheetPool->Find ( GetSelectedEntry(), eFam );
- else
- pStyle = 0;
-
- if ( pStyle )
- {
- String aHelpFile;
- ULONG nHelpId=pStyle->GetHelpId(aHelpFile);
- if ( nHelpId )
- pHelpPI->LoadTopic( nHelpId );
- }
- }
-#endif
-
// nur, wenn Giesskanne an ist
if ( IsInitialized() &&
IsCheckedItem(SID_STYLE_WATERCAN) &&
@@ -2373,18 +2347,18 @@ void SfxTemplateDialog_Impl::EnableFamilyItem( USHORT nId, BOOL bEnable )
void SfxTemplateDialog_Impl::InsertFamilyItem(USHORT nId,const SfxStyleFamilyItem *pItem)
{
- USHORT nHelpId = 0;
+ rtl::OString sHelpId;
switch( (USHORT) pItem->GetFamily() )
{
- case SFX_STYLE_FAMILY_CHAR: nHelpId = SID_STYLE_FAMILY1; break;
- case SFX_STYLE_FAMILY_PARA: nHelpId = SID_STYLE_FAMILY2; break;
- case SFX_STYLE_FAMILY_FRAME:nHelpId = SID_STYLE_FAMILY3; break;
- case SFX_STYLE_FAMILY_PAGE: nHelpId = SID_STYLE_FAMILY4; break;
- case SFX_STYLE_FAMILY_PSEUDO: nHelpId = SID_STYLE_FAMILY5; break;
- default: DBG_ERROR("unbekannte StyleFamily"); break;
+ case SFX_STYLE_FAMILY_CHAR: sHelpId = ".uno:CharStyle"; break;
+ case SFX_STYLE_FAMILY_PARA: sHelpId = ".uno:ParaStyle"; break;
+ case SFX_STYLE_FAMILY_FRAME: sHelpId = ".uno:FrameStyle"; break;
+ case SFX_STYLE_FAMILY_PAGE: sHelpId = ".uno:PageStyle"; break;
+ case SFX_STYLE_FAMILY_PSEUDO: sHelpId = ".uno:ListStyle"; break;
+ default: DBG_ERROR("unknown StyleFamily"); break;
}
m_aActionTbL.InsertItem( nId, pItem->GetImage(), pItem->GetText(), 0, 0);
- m_aActionTbL.SetHelpId( nId, nHelpId );
+ m_aActionTbL.SetHelpId( nId, sHelpId );
}
// ------------------------------------------------------------------------
@@ -2694,7 +2668,7 @@ IMPL_LINK( SfxTemplateDialog_Impl, ToolBoxRClick, ToolBox *, pBox )
aCommand = xUICommands->getByName(::rtl::OUString::createFromAscii(".uno:LoadStyles"));
sLabel = lcl_GetLabel( aCommand );
pMenu->InsertItem( SID_TEMPLATE_LOAD, sLabel );
- pMenu->SetHelpId(SID_TEMPLATE_LOAD, SID_TEMPLATE_LOAD);
+ pMenu->SetHelpId(SID_TEMPLATE_LOAD, ".uno:LoadStyles");
pMenu->SetSelectHdl(LINK(this, SfxTemplateDialog_Impl, MenuSelectHdl));
pMenu->Execute( pBox,
diff --git a/sfx2/source/dialog/templdlg.src b/sfx2/source/dialog/templdlg.src
index 6bb33ca207..31cf999d37 100644
--- a/sfx2/source/dialog/templdlg.src
+++ b/sfx2/source/dialog/templdlg.src
@@ -57,7 +57,7 @@ ImageList IMG_LST_STYLE_DESIGNER_HC
// RID_STYLECATALOG ------------------------------------------------------
ModalDialog RID_STYLECATALOG
{
- HelpId = SID_STYLE_CATALOG ;
+ HelpId = CMD_SID_STYLE_CATALOG ;
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 181 , 134 ) ;
@@ -78,6 +78,7 @@ ModalDialog RID_STYLECATALOG
};
PushButton BT_ORG
{
+ HelpID = "sfx2:PushButton:RID_STYLECATALOG:BT_ORG";
Pos = MAP_APPFONT ( 123 , 97 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Organizer..." ;
@@ -85,6 +86,7 @@ ModalDialog RID_STYLECATALOG
};
PushButton BT_DEL
{
+ HelpID = "sfx2:PushButton:RID_STYLECATALOG:BT_DEL";
Pos = MAP_APPFONT ( 123 , 78 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Delete..." ;
@@ -92,6 +94,7 @@ ModalDialog RID_STYLECATALOG
};
PushButton BT_EDIT
{
+ HelpID = "sfx2:PushButton:RID_STYLECATALOG:BT_EDIT";
Pos = MAP_APPFONT ( 123 , 60 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Modify..." ;
@@ -99,6 +102,7 @@ ModalDialog RID_STYLECATALOG
};
PushButton BT_NEW
{
+ HelpID = "sfx2:PushButton:RID_STYLECATALOG:BT_NEW";
Pos = MAP_APPFONT ( 123 , 43 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~New..." ;
@@ -112,6 +116,7 @@ ModalDialog RID_STYLECATALOG
};
ListBox BT_TOOL
{
+ HelpID = "sfx2:ListBox:RID_STYLECATALOG:BT_TOOL";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 6 ) ;
Size = MAP_APPFONT ( 110 , 55 ) ;
@@ -128,6 +133,7 @@ ModalDialog RID_STYLECATALOG
};
ListBox BT_FLIST
{
+ HelpID = "sfx2:ListBox:RID_STYLECATALOG:BT_FLIST";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 114 ) ;
Size = MAP_APPFONT ( 110 , 77 ) ;
@@ -146,7 +152,7 @@ DockingWindow DLG_STYLE_DESIGNER
{
Text [ en-US ] = "Styles and Formatting" ;
- HelpId = SID_STYLE_DESIGNER ;
+ HelpId = CMD_SID_STYLE_DESIGNER ;
OutputSize = TRUE ;
Hide = TRUE ;
SVLook = TRUE ;
diff --git a/sfx2/source/dialog/titledockwin.cxx b/sfx2/source/dialog/titledockwin.cxx
index b264561275..9b09b5fe63 100644
--- a/sfx2/source/dialog/titledockwin.cxx
+++ b/sfx2/source/dialog/titledockwin.cxx
@@ -51,6 +51,7 @@ namespace sfx2
,m_aContentWindow( this, WB_DIALOGCONTROL )
,m_aBorder( 3, 1, 3, 3 )
,m_bLayoutPending( false )
+ ,m_nTitleBarHeight(0)
{
impl_construct();
}
@@ -139,23 +140,23 @@ namespace sfx2
Size aWindowSize( GetOutputSizePixel() );
// position the tool box
- int nTitleBarHeight( GetSettings().GetStyleSettings().GetTitleHeight() );
- if ( aToolBoxSize.Height() > nTitleBarHeight )
- nTitleBarHeight = aToolBoxSize.Height();
+ m_nTitleBarHeight = GetSettings().GetStyleSettings().GetTitleHeight();
+ if ( aToolBoxSize.Height() > m_nTitleBarHeight )
+ m_nTitleBarHeight = aToolBoxSize.Height();
m_aToolbox.SetPosSizePixel(
Point(
aWindowSize.Width() - aToolBoxSize.Width(),
- ( nTitleBarHeight - aToolBoxSize.Height() ) / 2
+ ( m_nTitleBarHeight - aToolBoxSize.Height() ) / 2
),
aToolBoxSize
);
// Place the content window.
- if ( nTitleBarHeight < aToolBoxSize.Height() )
- nTitleBarHeight = aToolBoxSize.Height();
- aWindowSize.Height() -= nTitleBarHeight;
+ if ( m_nTitleBarHeight < aToolBoxSize.Height() )
+ m_nTitleBarHeight = aToolBoxSize.Height();
+ aWindowSize.Height() -= m_nTitleBarHeight;
m_aContentWindow.SetPosSizePixel(
- Point( m_aBorder.Left(), nTitleBarHeight + m_aBorder.Top() ),
+ Point( m_aBorder.Left(), m_nTitleBarHeight + m_aBorder.Top() ),
Size(
aWindowSize.Width() - m_aBorder.Left() - m_aBorder.Right(),
aWindowSize.Height() - m_aBorder.Top() - m_aBorder.Bottom()
@@ -175,11 +176,6 @@ namespace sfx2
Push( PUSH_FONT | PUSH_FILLCOLOR | PUSH_LINECOLOR );
- int nTitleBarHeight( GetSettings().GetStyleSettings().GetTitleHeight() );
- const Size aToolBoxSize = m_aToolbox.CalcWindowSizePixel();
- if ( aToolBoxSize.Height() > nTitleBarHeight )
- nTitleBarHeight = aToolBoxSize.Height();
-
SetFillColor( GetSettings().GetStyleSettings().GetDialogColor() );
SetLineColor();
@@ -194,7 +190,7 @@ namespace sfx2
int nInnerLeft = nOuterLeft + m_aBorder.Left() - 1;
int nOuterRight = aWindowSize.Width() - 1;
int nInnerRight = nOuterRight - m_aBorder.Right() + 1;
- int nInnerTop = nTitleBarHeight + m_aBorder.Top() - 1;
+ int nInnerTop = m_nTitleBarHeight + m_aBorder.Top() - 1;
int nOuterBottom = aWindowSize.Height() - 1;
int nInnerBottom = nOuterBottom - m_aBorder.Bottom() + 1;
@@ -260,7 +256,7 @@ namespace sfx2
}
//------------------------------------------------------------------------------------------------------------------
- USHORT TitledDockingWindow::impl_addDropDownToolBoxItem( const String& i_rItemText, ULONG i_nHelpId, const Link& i_rCallback )
+ USHORT TitledDockingWindow::impl_addDropDownToolBoxItem( const String& i_rItemText, const rtl::OString& i_nHelpId, const Link& i_rCallback )
{
// Add the menu before the closer button.
const USHORT nItemCount( m_aToolbox.GetItemCount() );
diff --git a/sfx2/source/dialog/versdlg.src b/sfx2/source/dialog/versdlg.src
index 5e0f35cf65..ff33b8d239 100644
--- a/sfx2/source/dialog/versdlg.src
+++ b/sfx2/source/dialog/versdlg.src
@@ -28,6 +28,7 @@
#include "versdlg.hrc"
ModalDialog DLG_VERSIONS
{
+ HelpID = "sfx2:ModalDialog:DLG_VERSIONS";
OutputSize = TRUE ;
Size = MAP_APPFONT ( 340 , 184 ) ;
SvLook = TRUE ;
@@ -41,6 +42,7 @@ ModalDialog DLG_VERSIONS
};
PushButton PB_SAVE
{
+ HelpID = "sfx2:PushButton:DLG_VERSIONS:PB_SAVE";
Pos = MAP_APPFONT ( 12 , 14 ) ;
Size = MAP_APPFONT ( 90 , 14 ) ;
TabStop = TRUE ;
@@ -48,6 +50,7 @@ ModalDialog DLG_VERSIONS
};
CheckBox CB_SAVEONCLOSE
{
+ HelpID = "sfx2:CheckBox:DLG_VERSIONS:CB_SAVEONCLOSE";
Pos = MAP_APPFONT ( 108 , 16 ) ;
Size = MAP_APPFONT ( 164 , 10 ) ;
TabStop = TRUE ;
@@ -93,6 +96,7 @@ ModalDialog DLG_VERSIONS
};
PushButton PB_OPEN
{
+ HelpID = "sfx2:PushButton:DLG_VERSIONS:PB_OPEN";
Pos = MAP_APPFONT ( 284 , 26 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
@@ -100,6 +104,7 @@ ModalDialog DLG_VERSIONS
};
PushButton PB_VIEW
{
+ HelpID = "sfx2:PushButton:DLG_VERSIONS:PB_VIEW";
Pos = MAP_APPFONT ( 284 , 43 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
@@ -108,6 +113,7 @@ ModalDialog DLG_VERSIONS
};
PushButton PB_DELETE
{
+ HelpID = "sfx2:PushButton:DLG_VERSIONS:PB_DELETE";
Pos = MAP_APPFONT ( 284 , 60 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
@@ -115,6 +121,7 @@ ModalDialog DLG_VERSIONS
};
PushButton PB_COMPARE
{
+ HelpID = "sfx2:PushButton:DLG_VERSIONS:PB_COMPARE";
Pos = MAP_APPFONT ( 284 , 77 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
@@ -130,6 +137,7 @@ ModalDialog DLG_VERSIONS
};
ModalDialog DLG_COMMENTS
{
+ HelpID = "sfx2:ModalDialog:DLG_COMMENTS";
OutputSize = TRUE ;
Size = MAP_APPFONT ( 180 , 118 ) ;
SvLook = TRUE ;
@@ -148,6 +156,7 @@ ModalDialog DLG_COMMENTS
};
MultiLineEdit ME_VERSIONS
{
+ HelpID = "sfx2:MultiLineEdit:DLG_COMMENTS:ME_VERSIONS";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 32 ) ;
Size = MAP_APPFONT ( 168 , 60 ) ;
@@ -168,6 +177,7 @@ ModalDialog DLG_COMMENTS
};
PushButton PB_CLOSE
{
+ HelpID = "sfx2:PushButton:DLG_COMMENTS:PB_CLOSE";
Pos = MAP_APPFONT ( 68 , 98 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
TabStop = TRUE ;
diff --git a/sfx2/source/doc/DocumentMetadataAccess.cxx b/sfx2/source/doc/DocumentMetadataAccess.cxx
index bf6782ef7e..5336b5cfe5 100644
--- a/sfx2/source/doc/DocumentMetadataAccess.cxx
+++ b/sfx2/source/doc/DocumentMetadataAccess.cxx
@@ -45,6 +45,8 @@
#include <rtl/uuid.h>
#include <rtl/ustrbuf.hxx>
+#include <rtl/uri.hxx>
+#include <rtl/bootstrap.hxx>
#include <comphelper/interaction.hxx>
#include <comphelper/makesequence.hxx>
@@ -136,6 +138,24 @@ uno::Reference<rdf::XURI> createBaseURI(
throw uno::RuntimeException();
}
+ // #i108078# workaround non-hierarchical vnd.sun.star.expand URIs
+ // this really should be done somewhere else, not here.
+ ::rtl::OUString pkgURI(i_rPkgURI);
+ if (pkgURI.matchIgnoreAsciiCaseAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("vnd.sun.star.expand:")))
+ {
+ // expand it here (makeAbsolute requires hierarchical URI)
+ pkgURI = pkgURI.copy( RTL_CONSTASCII_LENGTH("vnd.sun.star.expand:") );
+ if (pkgURI.getLength() != 0) {
+ pkgURI = ::rtl::Uri::decode(
+ pkgURI, rtl_UriDecodeStrict, RTL_TEXTENCODING_UTF8);
+ if (pkgURI.getLength() == 0) {
+ throw uno::RuntimeException();
+ }
+ ::rtl::Bootstrap::expandMacros(pkgURI);
+ }
+ }
+
const uno::Reference<lang::XMultiComponentFactory> xServiceFactory(
i_xContext->getServiceManager(), uno::UNO_SET_THROW);
const uno::Reference<uri::XUriReferenceFactory> xUriFactory(
@@ -146,11 +166,12 @@ uno::Reference<rdf::XURI> createBaseURI(
uno::Reference< uri::XUriReference > xBaseURI;
const uno::Reference< uri::XUriReference > xPkgURI(
- xUriFactory->parse(i_rPkgURI), uno::UNO_SET_THROW );
+ xUriFactory->parse(pkgURI), uno::UNO_SET_THROW );
xPkgURI->clearFragment();
+
// need to know whether the storage is a FileSystemStorage
// XServiceInfo would be better, but it is not implemented
-// if ( i_rPkgURI.getLength() && ::utl::UCBContentHelper::IsFolder(i_rPkgURI) )
+// if ( pkgURI.getLength() && ::utl::UCBContentHelper::IsFolder(pkgURI) )
if (true) {
xBaseURI.set( xPkgURI, uno::UNO_SET_THROW );
#if 0
diff --git a/sfx2/source/doc/SfxDocumentMetaData.cxx b/sfx2/source/doc/SfxDocumentMetaData.cxx
index 95fe000709..16a9ba4603 100644
--- a/sfx2/source/doc/SfxDocumentMetaData.cxx
+++ b/sfx2/source/doc/SfxDocumentMetaData.cxx
@@ -2380,12 +2380,5 @@ extern "C" void * SAL_CALL component_getFactory(
return ::cppu::component_getFactoryHelper(
implName, serviceManager, registryKey, entries);
}
-
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * serviceManager, void * registryKey)
-{
- return ::cppu::component_writeInfoHelper(serviceManager, registryKey,
- entries);
-}
#endif
diff --git a/sfx2/source/doc/doc.hrc b/sfx2/source/doc/doc.hrc
index 0f6dd6b94a..09e7c58476 100644
--- a/sfx2/source/doc/doc.hrc
+++ b/sfx2/source/doc/doc.hrc
@@ -44,7 +44,6 @@
#define STR_NOSTARTPRINTER (RID_SFX_DOC_START+ 8)
#define MSG_CONFIRM_FILTER (RID_SFX_DOC_START+11)
#define MSG_CONFIRM_OVERWRITE_TEMPLATE (RID_SFX_DOC_START+12)
-#define MSG_QUERY_LOAD_TEMPLATE (RID_SFX_DOC_START+13)
#define STR_DELETE_REGION (RID_SFX_DOC_START+14)
#define STR_DELETE_TEMPLATE (RID_SFX_DOC_START+15)
diff --git a/sfx2/source/doc/doc.src b/sfx2/source/doc/doc.src
index 8386febfae..3081374941 100644
--- a/sfx2/source/doc/doc.src
+++ b/sfx2/source/doc/doc.src
@@ -43,14 +43,6 @@ QueryBox MSG_CONFIRM_OVERWRITE_TEMPLATE
DefButton = WB_DEF_NO ;
Message [ en-US ] = "Name already in use.\nDo you want to overwrite document template?" ;
};
-QueryBox MSG_QUERY_LOAD_TEMPLATE
-{
- BUTTONS = WB_YES_NO ;
- DEFBUTTON = WB_DEF_NO ;
- HelpId = MSG_QUERY_LOAD_TEMPLATE;
-
- Message [ en-US ] = "The Styles in this document do not match your current Styles. Should your current Styles be applied to this document?";
-};
String STR_DELETE_REGION
{
Text [ en-US ] = "Are you sure you want to delete the region \"$1\"?" ;
diff --git a/sfx2/source/doc/docfac.cxx b/sfx2/source/doc/docfac.cxx
index 9041d386d0..c28e6950f7 100644
--- a/sfx2/source/doc/docfac.cxx
+++ b/sfx2/source/doc/docfac.cxx
@@ -159,6 +159,21 @@ void SfxObjectFactory::RegisterViewFactory
SfxViewFactory &rFactory
)
{
+#if OSL_DEBUG_LEVEL > 0
+ {
+ const String sViewName( rFactory.GetAPIViewName() );
+ for ( sal_uInt16 i = 0; i < pImpl->aViewFactoryArr.Count(); ++i )
+ {
+ if ( !pImpl->aViewFactoryArr[i]->GetAPIViewName().Equals( sViewName ) )
+ continue;
+ ByteString sMessage( "SfxObjectFactory::RegisterViewFactory: duplicate view name '" );
+ sMessage += ByteString( sViewName, RTL_TEXTENCODING_ASCII_US );
+ sMessage += "'!";
+ OSL_ENSURE( false, sMessage.GetBuffer() );
+ break;
+ }
+ }
+#endif
sal_uInt16 nPos;
for ( nPos = 0;
nPos < pImpl->aViewFactoryArr.Count() &&
@@ -467,7 +482,9 @@ SfxViewFactory* SfxObjectFactory::GetViewFactoryByViewName( const String& i_rVie
)
{
SfxViewFactory& rViewFac( GetViewFactory( nViewNo ) );
- if ( rViewFac.GetViewName() == i_rViewName )
+ if ( ( rViewFac.GetAPIViewName() == i_rViewName )
+ || ( rViewFac.GetLegacyViewName() == i_rViewName )
+ )
return &rViewFac;
}
return NULL;
diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx
index f95da331c2..bd4364ce94 100644
--- a/sfx2/source/doc/docfile.cxx
+++ b/sfx2/source/doc/docfile.cxx
@@ -3718,53 +3718,6 @@ void SfxMedium::SetCachedSignatureState_Impl( sal_uInt16 nState )
pImp->m_nSignatureState = nState;
}
-//----------------------------------------------------------------
-sal_Bool SfxMedium::EqualURLs( const ::rtl::OUString& aFirstURL, const ::rtl::OUString& aSecondURL )
-{
- sal_Bool bResult = sal_False;
-
- if ( aFirstURL.getLength() && aSecondURL.getLength() )
- {
- INetURLObject aFirst( aFirstURL );
- INetURLObject aSecond( aSecondURL );
-
- if ( aFirst.GetProtocol() != INET_PROT_NOT_VALID && aSecond.GetProtocol() != INET_PROT_NOT_VALID )
- {
- try
- {
- ::ucbhelper::ContentBroker* pBroker = ::ucbhelper::ContentBroker::get();
- if ( !pBroker )
- throw uno::RuntimeException();
-
- uno::Reference< ::com::sun::star::ucb::XContentIdentifierFactory > xIdFac
- = pBroker->getContentIdentifierFactoryInterface();
- if ( !xIdFac.is() )
- throw uno::RuntimeException();
-
- uno::Reference< ::com::sun::star::ucb::XContentIdentifier > xIdFirst
- = xIdFac->createContentIdentifier( aFirst.GetMainURL( INetURLObject::NO_DECODE ) );
- uno::Reference< ::com::sun::star::ucb::XContentIdentifier > xIdSecond
- = xIdFac->createContentIdentifier( aSecond.GetMainURL( INetURLObject::NO_DECODE ) );
-
- if ( xIdFirst.is() && xIdSecond.is() )
- {
- uno::Reference< ::com::sun::star::ucb::XContentProvider > xProvider =
- pBroker->getContentProviderInterface();
- if ( !xProvider.is() )
- throw uno::RuntimeException();
- bResult = !xProvider->compareContentIds( xIdFirst, xIdSecond );
- }
- }
- catch( uno::Exception& )
- {
- OSL_ENSURE( sal_False, "Can't compare URL's, treat as different!\n" );
- }
- }
- }
-
- return bResult;
-}
-
BOOL SfxMedium::HasStorage_Impl() const
{
return pImp->xStorage.is();
diff --git a/sfx2/source/doc/doctdlg.src b/sfx2/source/doc/doctdlg.src
index ee878a85ca..8756da18cf 100644
--- a/sfx2/source/doc/doctdlg.src
+++ b/sfx2/source/doc/doctdlg.src
@@ -28,10 +28,11 @@
#include <sfx2/sfx.hrc>
#include "doc.hrc"
#include "doctdlg.hrc"
+#include <sfx2/sfxcommands.h>
ModalDialog DLG_DOC_TEMPLATE
{
- HelpId = SID_DOCTEMPLATE ;
+ HelpId = CMD_SID_DOCTEMPLATE ;
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 280 , 128 ) ;
@@ -45,6 +46,7 @@ ModalDialog DLG_DOC_TEMPLATE
};
Edit ED_NAME
{
+ HelpID = "sfx2:Edit:DLG_DOC_TEMPLATE:ED_NAME";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 14 ) ;
Size = MAP_APPFONT ( 200 , 12 ) ;
@@ -63,6 +65,7 @@ ModalDialog DLG_DOC_TEMPLATE
};
ListBox LB_SECTION
{
+ HelpID = "sfx2:ListBox:DLG_DOC_TEMPLATE:LB_SECTION";
Border = TRUE ;
Pos = MAP_APPFONT ( 12 , 56 ) ;
Size = MAP_APPFONT ( 97 , 66 ) ;
@@ -75,6 +78,7 @@ ModalDialog DLG_DOC_TEMPLATE
};
ListBox LB_STYLESHEETS
{
+ HelpID = "sfx2:ListBox:DLG_DOC_TEMPLATE:LB_STYLESHEETS";
Border = TRUE ;
Pos = MAP_APPFONT ( 115 , 56 ) ;
Size = MAP_APPFONT ( 97 , 66 ) ;
@@ -98,12 +102,14 @@ ModalDialog DLG_DOC_TEMPLATE
};
PushButton BT_EDIT
{
+ HelpID = "sfx2:PushButton:DLG_DOC_TEMPLATE:BT_EDIT";
Pos = MAP_APPFONT ( 224 , 62 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Edit" ;
};
PushButton BT_ORGANIZE
{
+ HelpID = "sfx2:PushButton:DLG_DOC_TEMPLATE:BT_ORGANIZE";
Pos = MAP_APPFONT ( 224 , 79 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~Organizer..." ;
diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx
index bf93d926db..abc48c5a80 100644
--- a/sfx2/source/doc/doctemplates.cxx
+++ b/sfx2/source/doc/doctemplates.cxx
@@ -1919,7 +1919,7 @@ sal_Bool SfxDocTplService_Impl::storeTemplate( const OUString& rGroupName,
aStoreArgs[1].Value <<= rTemplateName;
::rtl::OUString aCurrentDocumentURL = rStorable->getLocation();
- if( !SfxMedium::EqualURLs( aNewTemplateTargetURL, rStorable->getLocation() ))
+ if( !::utl::UCBContentHelper::EqualURLs( aNewTemplateTargetURL, rStorable->getLocation() ))
rStorable->storeToURL( aNewTemplateTargetURL, aStoreArgs );
else
rStorable->store();
diff --git a/sfx2/source/doc/docvor.src b/sfx2/source/doc/docvor.src
index a471a42e89..78ec832d56 100644
--- a/sfx2/source/doc/docvor.src
+++ b/sfx2/source/doc/docvor.src
@@ -37,7 +37,7 @@
ModalDialog DLG_ORGANIZE
{
- HelpId = SID_ORGANIZER ;
+ HelpId = CMD_SID_ORGANIZER ;
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 271 , 162 ) ;
@@ -61,6 +61,7 @@ ModalDialog DLG_ORGANIZE
};
PushButton BTN_FILES
{
+ HelpID = "sfx2:PushButton:DLG_ORGANIZE:BTN_FILES";
Pos = MAP_APPFONT ( 205 , 143 ) ;
Size = MAP_APPFONT ( 60 , 14 ) ;
Text [ en-US ] = "~File..." ;
@@ -68,12 +69,14 @@ ModalDialog DLG_ORGANIZE
};
PushButton BTN_ADDRESSTEMPLATE
{
+ HelpID = "sfx2:PushButton:DLG_ORGANIZE:BTN_ADDRESSTEMPLATE";
Pos = MAP_APPFONT ( 205 , 124 ) ;
Size = MAP_APPFONT ( 60 , 14 ) ;
Text [ en-US ] = "~Address Book..." ;
};
ListBox LB_LEFT_TYP
{
+ HelpID = "sfx2:ListBox:DLG_ORGANIZE:LB_LEFT_TYP";
Border = TRUE ;
Pos = MAP_APPFONT ( 3 , 144 ) ;
Size = MAP_APPFONT ( 94 , 55 ) ;
@@ -88,6 +91,7 @@ ModalDialog DLG_ORGANIZE
};
ListBox LB_RIGHT_TYP
{
+ HelpID = "sfx2:ListBox:DLG_ORGANIZE:LB_RIGHT_TYP";
Border = TRUE ;
Pos = MAP_APPFONT ( 103 , 144 ) ;
Size = MAP_APPFONT ( 94 , 55 ) ;
@@ -142,6 +146,7 @@ ModalDialog DLG_ORGANIZE
};
MenuButton BTN_EDIT
{
+ HelpID = "sfx2:MenuButton:DLG_ORGANIZE:BTN_EDIT";
Pos = MAP_APPFONT ( 205 , 23 ) ;
Size = MAP_APPFONT ( 60 , 14 ) ;
Text [ en-US ] = "Commands" ;
diff --git a/sfx2/source/doc/iframe.cxx b/sfx2/source/doc/iframe.cxx
index f8db2447cd..1e4ebbb977 100644
--- a/sfx2/source/doc/iframe.cxx
+++ b/sfx2/source/doc/iframe.cxx
@@ -384,7 +384,7 @@ void SAL_CALL IFrameObject::removeVetoableChangeListener(const ::rtl::OUString&,
::sal_Int16 SAL_CALL IFrameObject::execute() throw (::com::sun::star::uno::RuntimeException)
{
SfxAbstractDialogFactory* pFact = SfxAbstractDialogFactory::Create();
- VclAbstractDialog* pDlg = pFact->CreateEditObjectDialog( NULL, SID_INSERT_FLOATINGFRAME, mxObj );
+ VclAbstractDialog* pDlg = pFact->CreateEditObjectDialog( NULL, rtl::OUString::createFromAscii(".uno:InsertObjectFloatingFrame"), mxObj );
if ( pDlg )
pDlg->Execute();
return 0;
diff --git a/sfx2/source/doc/makefile.mk b/sfx2/source/doc/makefile.mk
index b1bddf82e4..d663d34cf5 100644
--- a/sfx2/source/doc/makefile.mk
+++ b/sfx2/source/doc/makefile.mk
@@ -87,8 +87,6 @@ SLOFILES = \
$(SLO)$/syspath.obj \
$(SLO)$/syspathw32.obj
-# $(SLO)$/applet.obj \
-
.IF "$(GUI)" == "WNT"
#HACK TO DISABLE PCH
diff --git a/sfx2/source/doc/new.src b/sfx2/source/doc/new.src
index dc7bcac962..db53b1267f 100644
--- a/sfx2/source/doc/new.src
+++ b/sfx2/source/doc/new.src
@@ -28,12 +28,14 @@
#include <sfx2/sfx.hrc>
#include "doc.hrc"
#include "new.hrc"
+#include <sfx2/sfxcommands.h>
+
// pragma ----------------------------------------------------------------
// DLG_NEW_FILE ----------------------------------------------------------
ModalDialog DLG_NEW_FILE
{
- HelpId = SID_NEWDOC ;
+ HelpId = CMD_SID_NEWDOC ;
OutputSize = TRUE ;
SVLook = TRUE ;
Size = MAP_APPFONT ( 336 , 96 ) ;
@@ -57,6 +59,7 @@ ModalDialog DLG_NEW_FILE
};
ListBox LB_REGION
{
+ HelpID = "sfx2:ListBox:DLG_NEW_FILE:LB_REGION";
Border = TRUE ;
Pos = MAP_APPFONT ( 6 , 18 ) ;
Size = MAP_APPFONT ( 127 , 72 ) ;
@@ -78,6 +81,7 @@ ModalDialog DLG_NEW_FILE
};
ListBox LB_TEMPLATE
{
+ HelpID = "sfx2:ListBox:DLG_NEW_FILE:LB_TEMPLATE";
Border = TRUE ;
Pos = MAP_APPFONT ( 139 , 18 ) ;
Size = MAP_APPFONT ( 127 , 72 ) ;
@@ -85,6 +89,7 @@ ModalDialog DLG_NEW_FILE
};
MoreButton BT_MORE
{
+ HelpID = "sfx2:MoreButton:DLG_NEW_FILE:BT_MORE";
Pos = MAP_APPFONT ( 274 , 70 ) ;
Size = MAP_APPFONT ( 50 , 14 ) ;
Text [ en-US ] = "~More" ;
@@ -101,6 +106,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox BTN_PREVIEW
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:BTN_PREVIEW";
Pos = MAP_APPFONT ( 6 , 96 ) ;
Size = MAP_APPFONT ( 97 , 10 ) ;
Text [ en-US ] = "Pre~view" ;
@@ -115,6 +121,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox CB_TEXT_STYLE
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:CB_TEXT_STYLE";
Pos = MAP_APPFONT ( 6 , 94 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
Hide = TRUE;
@@ -122,6 +129,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox CB_FRAME_STYLE
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:CB_FRAME_STYLE";
Pos = MAP_APPFONT ( 60 , 94 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
Hide = TRUE;
@@ -129,6 +137,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox CB_PAGE_STYLE
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:CB_PAGE_STYLE";
Pos = MAP_APPFONT ( 114 , 94 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
Hide = TRUE;
@@ -136,6 +145,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox CB_NUM_STYLE
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:CB_NUM_STYLE";
Pos = MAP_APPFONT ( 168 , 94 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
Hide = TRUE;
@@ -143,6 +153,7 @@ ModalDialog DLG_NEW_FILE
};
CheckBox CB_MERGE_STYLE
{
+ HelpID = "sfx2:CheckBox:DLG_NEW_FILE:CB_MERGE_STYLE";
Pos = MAP_APPFONT ( 222 , 94 ) ;
Size = MAP_APPFONT ( 50 , 10 ) ;
Hide = TRUE;
@@ -150,6 +161,7 @@ ModalDialog DLG_NEW_FILE
};
PushButton PB_LOAD_FILE
{
+ HelpID = "sfx2:PushButton:DLG_NEW_FILE:PB_LOAD_FILE";
Pos = MAP_APPFONT ( 274 , 92 ) ;
Size = MAP_APPFONT ( 56 , 14 ) ;
Hide = TRUE;
@@ -168,6 +180,7 @@ ModalDialog DLG_NEW_FILE
};
Edit ED_TITLE
{
+ HelpID = "sfx2:Edit:DLG_NEW_FILE:ED_TITLE";
Border = TRUE ;
Pos = MAP_APPFONT ( 145 , 121 ) ;
Size = MAP_APPFONT ( 175 , 12 ) ;
@@ -183,6 +196,7 @@ ModalDialog DLG_NEW_FILE
};
Edit ED_THEMA
{
+ HelpID = "sfx2:Edit:DLG_NEW_FILE:ED_THEMA";
Border = TRUE ;
Pos = MAP_APPFONT ( 145 , 148 ) ;
Size = MAP_APPFONT ( 175 , 12 ) ;
@@ -198,6 +212,7 @@ ModalDialog DLG_NEW_FILE
};
Edit ED_KEYWORDS
{
+ HelpID = "sfx2:Edit:DLG_NEW_FILE:ED_KEYWORDS";
Border = TRUE ;
Pos = MAP_APPFONT ( 145 , 175 ) ;
Size = MAP_APPFONT ( 175 , 12 ) ;
@@ -213,6 +228,7 @@ ModalDialog DLG_NEW_FILE
};
MultiLineEdit ED_DESC
{
+ HelpID = "sfx2:MultiLineEdit:DLG_NEW_FILE:ED_DESC";
Border = TRUE ;
Pos = MAP_APPFONT ( 144 , 202 ) ;
Size = MAP_APPFONT ( 175 , 32 ) ;
diff --git a/sfx2/source/doc/objcont.cxx b/sfx2/source/doc/objcont.cxx
index 3a2e777c1e..8300f7ea02 100644
--- a/sfx2/source/doc/objcont.cxx
+++ b/sfx2/source/doc/objcont.cxx
@@ -365,17 +365,6 @@ void SfxObjectShell::TriggerHelpPI(USHORT nIdx1, USHORT nIdx2, USHORT)
{
SfxStyleSheetBasePool *pStylePool = GetStyleSheetPool();
SetOrganizerSearchMask(pStylePool);
-#ifdef WIR_KOENNEN_WIEDER_HILFE_FUER_STYLESHEETS
- SfxStyleSheetBase *pStyle = (*pStylePool)[nIdx2];
- if(pStyle)
- {
- String aHelpFile;
- ULONG nHelpId=pStyle->GetHelpId(aHelpFile);
- SfxHelpPI* pHelpPI = SFX_APP()->GetHelpPI();
- if ( pHelpPI && nHelpId )
- pHelpPI->LoadTopic( nHelpId );
- }
-#endif
}
}
diff --git a/sfx2/source/doc/objmisc.cxx b/sfx2/source/doc/objmisc.cxx
index ba2ad9c3c3..524416f7e1 100755..100644
--- a/sfx2/source/doc/objmisc.cxx
+++ b/sfx2/source/doc/objmisc.cxx
@@ -733,7 +733,7 @@ void SfxObjectShell::FreeSharedFile( const ::rtl::OUString& aTempFileURL )
SetSharedXMLFlag( sal_False );
if ( IsDocShared() && aTempFileURL.getLength()
- && !SfxMedium::EqualURLs( aTempFileURL, GetSharedFileURL() ) )
+ && !::utl::UCBContentHelper::EqualURLs( aTempFileURL, GetSharedFileURL() ) )
{
if ( pImp->m_bAllowShareControlFileClean )
{
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index 84d92e3955..5e44de738e 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -489,6 +489,13 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
case SID_SAVEASDOC:
case SID_SAVEDOC:
{
+ // derived class may decide to abort this
+ if( !QuerySlotExecutable( nId ) )
+ {
+ rReq.SetReturnValue( SfxBoolItem( 0, FALSE ) );
+ return;
+ }
+
//!! detaillierte Auswertung eines Fehlercodes
SfxObjectShellRef xLock( this );
@@ -895,7 +902,7 @@ void SfxObjectShell::ExecFile_Impl(SfxRequest &rReq)
rReq.Done();
}
-//--------------------------------------------------------------------
+//-------------------------------------------------------------------------
void SfxObjectShell::GetState_Impl(SfxItemSet &rSet)
{
@@ -1337,8 +1344,13 @@ sal_uInt16 SfxObjectShell::ImplGetSignatureState( sal_Bool bScriptingContent )
void SfxObjectShell::ImplSign( sal_Bool bScriptingContent )
{
// Check if it is stored in OASIS format...
- if ( GetMedium() && GetMedium()->GetFilter()
- && ( !GetMedium()->GetFilter()->IsOwnFormat() || !GetMedium()->HasStorage_Impl() ) )
+ if ( GetMedium()
+ && GetMedium()->GetFilter()
+ && GetMedium()->GetName().Len()
+ && ( !GetMedium()->GetFilter()->IsOwnFormat()
+ || !GetMedium()->HasStorage_Impl()
+ )
+ )
{
// Only OASIS and OOo6.x formats will be handled further
InfoBox( NULL, SfxResId( RID_XMLSEC_INFO_WRONGDOCFORMAT ) ).Execute();
diff --git a/sfx2/source/doc/objstor.cxx b/sfx2/source/doc/objstor.cxx
index 7943e95222..771b0a7f98 100644
--- a/sfx2/source/doc/objstor.cxx
+++ b/sfx2/source/doc/objstor.cxx
@@ -195,6 +195,13 @@ sal_Bool SfxObjectShell::SaveAs( SfxMedium& rMedium )
//-------------------------------------------------------------------------
+sal_Bool SfxObjectShell::QuerySlotExecutable( USHORT /*nSlotId*/ )
+{
+ return sal_True;
+}
+
+//-------------------------------------------------------------------------
+
sal_Bool GetPasswd_Impl( const SfxItemSet* pSet, ::rtl::OUString& rPasswd )
{
const SfxPoolItem* pItem = NULL;
@@ -1182,7 +1189,7 @@ sal_Bool SfxObjectShell::SaveTo_Impl
if ( pMedium
&& pMedium->GetName().CompareIgnoreCaseToAscii( "private:stream", 14 ) != COMPARE_EQUAL
&& rMedium.GetName().CompareIgnoreCaseToAscii( "private:stream", 14 ) != COMPARE_EQUAL
- && SfxMedium::EqualURLs( pMedium->GetName(), rMedium.GetName() ) )
+ && ::utl::UCBContentHelper::EqualURLs( pMedium->GetName(), rMedium.GetName() ) )
{
bStoreToSameLocation = sal_True;
AddLog( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX "Save" ) ) );
@@ -1910,7 +1917,25 @@ sal_Bool SfxObjectShell::ConnectTmpStorage_Impl(
bResult = SaveCompleted( xTmpStorage );
if ( bResult )
+ {
pImp->pBasicManager->setStorage( xTmpStorage );
+
+ // Get rid of this workaround after issue i113914 is fixed
+ try
+ {
+ uno::Reference< script::XStorageBasedLibraryContainer > xBasicLibraries( pImp->xBasicLibraries, uno::UNO_QUERY_THROW );
+ xBasicLibraries->setRootStorage( xTmpStorage );
+ }
+ catch( uno::Exception& )
+ {}
+ try
+ {
+ uno::Reference< script::XStorageBasedLibraryContainer > xDialogLibraries( pImp->xDialogLibraries, uno::UNO_QUERY_THROW );
+ xDialogLibraries->setRootStorage( xTmpStorage );
+ }
+ catch( uno::Exception& )
+ {}
+ }
}
catch( uno::Exception& )
{}
@@ -2056,6 +2081,22 @@ sal_Bool SfxObjectShell::DoSaveCompleted( SfxMedium* pNewMed )
// TODO/LATER: may be this code will be replaced, but not sure
// Set storage in document library containers
pImp->pBasicManager->setStorage( xStorage );
+
+ // Get rid of this workaround after issue i113914 is fixed
+ try
+ {
+ uno::Reference< script::XStorageBasedLibraryContainer > xBasicLibraries( pImp->xBasicLibraries, uno::UNO_QUERY_THROW );
+ xBasicLibraries->setRootStorage( xStorage );
+ }
+ catch( uno::Exception& )
+ {}
+ try
+ {
+ uno::Reference< script::XStorageBasedLibraryContainer > xDialogLibraries( pImp->xDialogLibraries, uno::UNO_QUERY_THROW );
+ xDialogLibraries->setRootStorage( xStorage );
+ }
+ catch( uno::Exception& )
+ {}
}
else
{
diff --git a/sfx2/source/doc/objxtor.cxx b/sfx2/source/doc/objxtor.cxx
index 00e82898ae..995f42a7bd 100755..100644
--- a/sfx2/source/doc/objxtor.cxx
+++ b/sfx2/source/doc/objxtor.cxx
@@ -526,6 +526,13 @@ SfxObjectShell* SfxObjectShell::Current()
return pFrame ? pFrame->GetObjectShell() : 0;
}
+//-------------------------------------------------------------------------
+
+sal_Bool SfxObjectShell::IsInPrepareClose() const
+{
+ return pImp->bInPrepareClose;
+}
+
//------------------------------------------------------------------------
struct BoolEnv_Impl
diff --git a/sfx2/source/doc/querytemplate.cxx b/sfx2/source/doc/querytemplate.cxx
index ee7b8c7277..86ff2bdd90 100644
--- a/sfx2/source/doc/querytemplate.cxx
+++ b/sfx2/source/doc/querytemplate.cxx
@@ -31,7 +31,7 @@
#include "querytemplate.hxx"
#include "sfx2/sfxresid.hxx"
#include "doc.hrc"
-
+#include "helpid.hrc"
#include <vcl/svapp.hxx>
namespace sfx2
@@ -41,7 +41,7 @@ QueryTemplateBox::QueryTemplateBox( Window* pParent, const String& rMessage ) :
MessBox ( pParent, 0, Application::GetDisplayName(), rMessage )
{
SetImage( QueryBox::GetStandardImage() );
- SetHelpId( MSG_QUERY_LOAD_TEMPLATE );
+ SetHelpId( HID_QUERY_LOAD_TEMPLATE );
AddButton( String( SfxResId( STR_QRYTEMPL_UPDATE_BTN ) ), RET_YES,
BUTTONDIALOG_DEFBUTTON | BUTTONDIALOG_OKBUTTON | BUTTONDIALOG_FOCUSBUTTON );
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index 6663944c38..af89d9e807 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -95,6 +95,7 @@
#include <framework/titlehelper.hxx>
#include <comphelper/numberedcollection.hxx>
#include <unotools/ucbstreamhelper.hxx>
+#include <unotools/ucbhelper.hxx>
//________________________________________________________________________________________________________
// includes of my own project
@@ -977,6 +978,8 @@ sal_Bool SAL_CALL SfxBaseModel::attachResource( const ::rtl::OUString&
aArgs.remove( "BreakMacroSignature" );
aArgs.remove( "Stream" );
aArgs.remove( "InputStream" );
+ aArgs.remove( "URL" );
+ aArgs.remove( "Frame" );
// TODO/LATER: all the parameters that are accepted by ItemSet of the DocShell must be removed here
@@ -988,6 +991,10 @@ sal_Bool SAL_CALL SfxBaseModel::attachResource( const ::rtl::OUString&
SfxAllItemSet aSet( pObjectShell->GetPool() );
TransformParameters( SID_OPENDOC, rArgs, aSet );
+ // the arguments are not allowed to reach the medium
+ aSet.ClearItem( SID_FILE_NAME );
+ aSet.ClearItem( SID_FILLFRAME );
+
pMedium->GetItemSet()->Put( aSet );
SFX_ITEMSET_ARG( &aSet, pItem, SfxStringItem, SID_FILTER_NAME, sal_False );
if ( pItem )
@@ -2640,7 +2647,7 @@ void SfxBaseModel::impl_store( const ::rtl::OUString& sURL
sal_Bool bSaved = sal_False;
if ( !bSaveTo && m_pData->m_pObjectShell && sURL.getLength()
&& sURL.compareToAscii( "private:stream", 14 ) != COMPARE_EQUAL
- && SfxMedium::EqualURLs( getLocation(), sURL ) )
+ && ::utl::UCBContentHelper::EqualURLs( getLocation(), sURL ) )
{
// this is the same file URL as the current document location, try to use storeOwn if possible
@@ -3803,7 +3810,7 @@ css::uno::Sequence< ::rtl::OUString > SAL_CALL SfxBaseModel::getAvailableViewCon
Sequence< ::rtl::OUString > aViewNames( nViewFactoryCount );
for ( sal_Int32 nViewNo = 0; nViewNo < nViewFactoryCount; ++nViewNo )
- aViewNames[nViewNo] = rDocumentFactory.GetViewFactory( nViewNo ).GetViewName();
+ aViewNames[nViewNo] = rDocumentFactory.GetViewFactory( nViewNo ).GetAPIViewName();
return aViewNames;
}
@@ -3817,7 +3824,7 @@ css::uno::Reference< css::frame::XController2 > SAL_CALL SfxBaseModel::createDef
SfxModelGuard aGuard( *this );
const SfxObjectFactory& rDocumentFactory = GetObjectShell()->GetFactory();
- const ::rtl::OUString sDefaultViewName = rDocumentFactory.GetViewFactory( 0 ).GetViewName();
+ const ::rtl::OUString sDefaultViewName = rDocumentFactory.GetViewFactory( 0 ).GetAPIViewName();
aGuard.clear();
diff --git a/sfx2/source/doc/syspathw32.cxx b/sfx2/source/doc/syspathw32.cxx
index f93be7329e..2513d4b468 100755
--- a/sfx2/source/doc/syspathw32.cxx
+++ b/sfx2/source/doc/syspathw32.cxx
@@ -78,7 +78,7 @@ typedef unsigned short sal_uInt16;
extern "C" bool GetUserTemplateLocation(sal_Unicode* pFolder, int nSize)
{
#ifdef WNT
- return _SHGetSpecialFolderW32( CSIDL_TEMPLATES, pFolder, nSize );
+ return _SHGetSpecialFolderW32( CSIDL_TEMPLATES, reinterpret_cast<LPWSTR>(pFolder), nSize );
#else
(void)pFolder;
(void)nSize;
diff --git a/sfx2/source/inc/applet.hxx b/sfx2/source/inc/applet.hxx
deleted file mode 100644
index 54ae8865c3..0000000000
--- a/sfx2/source/inc/applet.hxx
+++ /dev/null
@@ -1,122 +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.
- *
- ************************************************************************/
-
-#ifndef _SFX_APPLET_HXX
-#define _SFX_APPLET_HXX
-
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/util/XCloseable.hpp>
-#include <com/sun/star/lang/XEventListener.hpp>
-#include <com/sun/star/frame/XSynchronousFrameLoader.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/embed/XEmbeddedObject.hpp>
-#include <cppuhelper/implbase6.hxx>
-
-#include <rtl/ustring.hxx>
-#include <svl/ownlist.hxx>
-#include <svl/itemprop.hxx>
-
-namespace com { namespace sun { namespace star { namespace uno {
- class XComponentContext;
- class XInterface;
-} } } }
-
-class SjApplet2;
-namespace sfx2
-{
-
-class AppletObject : public ::cppu::WeakImplHelper6 <
- com::sun::star::util::XCloseable,
- com::sun::star::lang::XEventListener,
- com::sun::star::frame::XSynchronousFrameLoader,
- com::sun::star::ui::dialogs::XExecutableDialog,
- com::sun::star::lang::XInitialization,
- com::sun::star::beans::XPropertySet >
-{
- com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext >
- mxContext;
- com::sun::star::uno::Reference < com::sun::star::embed::XEmbeddedObject > mxObj;
- SfxItemPropertyMap maPropMap;
- SvCommandList maCmdList;
- ::rtl::OUString maClass;
- ::rtl::OUString maName;
- ::rtl::OUString maCodeBase;
- ::rtl::OUString maDocBase;
- SjApplet2* mpApplet;
- sal_Bool mbMayScript;
-
- AppletObject( AppletObject & ); // not defined
- void operator =( AppletObject & ); // not defined
-
- AppletObject( const com::sun::star::uno::Reference < com::sun::star::uno::XComponentContext >& rContext );
- ~AppletObject();
-
- virtual sal_Bool SAL_CALL load( const com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue >& lDescriptor,
- const com::sun::star::uno::Reference < com::sun::star::frame::XFrame >& xFrame ) throw( com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL cancel() throw( com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL close( sal_Bool bDeliverOwnership ) throw( com::sun::star::util::CloseVetoException, com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addCloseListener( const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& xListener ) throw( com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeCloseListener( const com::sun::star::uno::Reference < com::sun::star::util::XCloseListener >& xListener ) throw( com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL disposing( const com::sun::star::lang::EventObject& aEvent ) throw (com::sun::star::uno::RuntimeException) ;
- virtual void SAL_CALL setTitle( const ::rtl::OUString& aTitle ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Int16 SAL_CALL execute( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addPropertyChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removePropertyChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL addVetoableChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL removeVetoableChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener > & aListener) throw( ::com::sun::star::uno::RuntimeException );
- virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue( const ::rtl::OUString& PropertyName ) throw (::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL initialize( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& aArguments ) throw (::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException);
-
- virtual ::rtl::OUString SAL_CALL getImplementationName()
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::sal_Bool SAL_CALL supportsService(
- const ::rtl::OUString& sServiceName )
- throw( ::com::sun::star::uno::RuntimeException );
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL
- getSupportedServiceNames() throw( ::com::sun::star::uno::RuntimeException );
-
- static ::com::sun::star::uno::Sequence< ::rtl::OUString >
- impl_getStaticSupportedServiceNames();
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
- SAL_CALL impl_createInstance(
- const ::com::sun::star::uno::Reference<
- ::com::sun::star::uno::XComponentContext >& xContext )
- throw( ::com::sun::star::uno::Exception );
-
-public:
- static ::rtl::OUString impl_getStaticImplementationName();
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
- impl_createFactory();
-};
-
-}
-#endif
diff --git a/sfx2/source/inc/helpid.hrc b/sfx2/source/inc/helpid.hrc
index b1c39a2cef..0e96396065 100755..100644
--- a/sfx2/source/inc/helpid.hrc
+++ b/sfx2/source/inc/helpid.hrc
@@ -28,342 +28,313 @@
#define _SFX_HELPID_HRC
// include ------------------------------------------------------------------
-
-#include <svl/solar.hrc>
+
+#include <sfx2/sfxcommands.h>
// Help-Ids -----------------------------------------------------------------
-#define HID_GLOBAL_FALLBACK 0xFFFFFFFF
-
-#define HID_FILTER_SELECT (HID_SFX_START + 0)
-#define HID_USERDEFBMP (HID_SFX_START + 1)
-#define HID_DOCINFO_EDT (HID_SFX_START + 2)
-#define HID_PASSWD (HID_SFX_START + 3)
-#define HID_PRINTMONITOR (HID_SFX_START + 4)
-#define HID_CONFIG_OBJECTBAR (HID_SFX_START + 5)
-#define HID_MANAGE_STYLES (HID_SFX_START + 6)
-#define HID_CONFIG_EVENT (HID_SFX_START + 7)
-#define HID_DOCINFODESC (HID_SFX_START + 8)
-#define HID_DOCINFODOC (HID_SFX_START + 9)
-#define HID_DOCINFOUSER (HID_SFX_START + 10)
-#define HID_DOCINFOSECURITY (HID_SFX_START + 11)
-#define HID_BOOKMARKPROPS (HID_SFX_START + 14)
-#define HID_BOOKGROUPPROPS (HID_SFX_START + 15)
-#define HID_BOOKFILEPROPS (HID_SFX_START + 16)
-#define HID_NEWS_SERVERPROPS (HID_SFX_START + 20)
-#define HID_NEWS_RULEPAGE (HID_SFX_START + 21)
-#define HID_MAILINTRAYPROPS (HID_SFX_START + 23)
-#define HID_DOCINFORELOAD (HID_SFX_START + 24)
-#define HID_NEWS_GROUPPAGE (HID_SFX_START + 25)
-#define HID_NEWS_SERVERPAGE (HID_SFX_START + 26)
-#define HID_FILEDLG_STANDARD (HID_SFX_START + 27)
-#define HID_FILEDLG_MANAGER (HID_SFX_START + 28)
-#define HID_FILEDLG_URL (HID_SFX_START + 29)
-#define HID_FILEDLG_FILE (HID_SFX_START + 30)
-#define HID_FILEDLG_USE_PASSWD (HID_SFX_START + 31)
-#define HID_FILEDLG_READ_ONLY (HID_SFX_START + 32)
-#define HID_EXPLORERCONTROL (HID_SFX_START + 33)
-#define HID_BROWSERCONTROL (HID_SFX_START + 34)
-#define HID_CTL_ORGANIZER_LEFT (HID_SFX_START + 35)
-#define HID_CTL_ORGANIZER_RIGHT (HID_SFX_START + 36)
-#define HID_EXPLMAILSRV_GENERAL_PAGE (HID_SFX_START + 37)
-#define HID_EXPLMAILSRV_PROTOCOL_PAGE (HID_SFX_START + 38)
-#define HID_EXPLMAILSRV_DATAMATCH_PAGE (HID_SFX_START + 39)
-#define HID_EXPLMAILSRV_SENDJOURNAL_PAGE (HID_SFX_START + 40)
-#define HID_EXPLMAIL_GENERAL_PAGE (HID_SFX_START + 41)
-#define HID_NEWS_CTL_RULES (HID_SFX_START + 42)
-#define HID_NEWS_CTL_GROUPS (HID_SFX_START + 43)
-#define HID_CONFIG_OBJECTBAR_CTL (HID_SFX_START + 44)
-#define HID_NEWS_QUICKSEARCH (HID_SFX_START + 45)
-#define HID_NEWS_SERVERVIEWPROPS (HID_SFX_START + 46)
-#define HID_NEWS_SHOWARTICLEPROPS (HID_SFX_START + 47)
-#define HID_NEWS_SHOWGROUPPROPS (HID_SFX_START + 48)
-#define HID_NEWS_USER (HID_SFX_START + 49)
-#define HID_MULTISELECTION_GENERAL_PAGE (HID_SFX_START + 50)
-#define HID_LINK_GENERAL_PAGE (HID_SFX_START + 51)
-#define HID_LINK_ADDRESS_PAGE (HID_SFX_START + 52)
-#define HID_FOLDER_GENERAL_PAGE (HID_SFX_START + 53)
-#define HID_FILE_GENERAL_PAGE (HID_SFX_START + 54)
-#define HID_FTP_GENERAL_PAGE (HID_SFX_START + 55)
-#define HID_PRINT_OPTIONS (HID_SFX_START + 56)
-#define HID_PREVIEW_FRAME (HID_SFX_START + 57)
-#define HID_DOCINFO_FRAME (HID_SFX_START + 58)
-#define HID_EXPLORER_FRAME (HID_SFX_START + 59)
-#define HID_APP_WIN (HID_SFX_START + 60)
-#define HID_TEMPLATE_FMT (HID_SFX_START + 61)
-#define HID_TEMPLATE_FILTER (HID_SFX_START + 62)
-#define HID_FTPSERVER_PAGE (HID_SFX_START + 63)
-#define HID_DLG_SFX_EXP_SEARCH (HID_SFX_START + 65)
-#define HID_TP_SFX_EXP_SEARCH_CRITERIA (HID_SFX_START + 66)
-#define HID_TP_SFX_EXP_SEARCH_PLACE (HID_SFX_START + 67)
-#define HID_SEARCH_DLG_TABLB (HID_SFX_START + 68)
-#define HID_TEMPLDLG_NEWBYEXAMPLE (HID_SFX_START + 69)
-#define HID_TEMPLDLG_UPDATEBYEXAMPLE (HID_SFX_START + 70)
-#define HID_TEMPLDLG_WATERCAN (HID_SFX_START + 71)
-#define HID_DESKTOP (HID_SFX_START + 78)
-#define HID_EXPLORERTOOLSTOOLBOX (HID_SFX_START + 79)
-#define HID_EXPLOREROBJECTTOOLBOX (HID_SFX_START + 80)
-#define HID_RECORDINGTOOLBOX (HID_SFX_START + 81)
-#define HID_FULLSCREENTOOLBOX (HID_SFX_START + 82)
-#define HID_HELPBAR (HID_SFX_START + 83)
-#define HID_ENVTOOLBOX (HID_SFX_START + 84)
-#define HID_FRAMESETEDIT_TOOLBOX (HID_SFX_START + 85)
-#define HID_NAVIGATOR_WINDOW (HID_SFX_START + 86)
-#define HID_TABDLG_RESET_BTN (HID_SFX_START + 89)
-#define HID_TABDLG_STANDARD_BTN (HID_SFX_START + 90)
-#define HID_HELPAGENT_TIP_BOX (HID_SFX_START + 91)
-#define HID_TEMPLDLG_TOOLBOX_LEFT (HID_SFX_START + 92)
-#define HID_TEMPLDLG_TOOLBOX_RIGHT (HID_SFX_START + 93)
-#define HID_EXPLORER_SRCH_COUNT (HID_SFX_START + 94)
-#define HID_BEAMER_SORT_ASCENDING (HID_SFX_START + 95)
-#define HID_BEAMER_SORT_DESCENDING (HID_SFX_START + 96)
-#define HID_EXPLORER_SRCH_LATEST_COUNT (HID_SFX_START + 97)
-#define HID_CONFIG_EVENT_OFFICE_BASED (HID_SFX_START + 98)
-#define HID_CONFIG_EVENT_DOCUMENT_BASED (HID_SFX_START + 99)
-#define HID_ORGANIZE_NEW (HID_SFX_START + 100)
-#define HID_ORGANIZE_DELETE (HID_SFX_START + 101)
-#define HID_ORGANIZE_EDIT (HID_SFX_START + 102)
-#define HID_ORGANIZE_COPY_FROM (HID_SFX_START + 103)
-#define HID_ORGANIZE_COPY_TO (HID_SFX_START + 104)
-#define HID_ORGANIZE_PRINT (HID_SFX_START + 105)
-#define HID_ORGANIZE_PRINTER_SETUP (HID_SFX_START + 106)
-#define HID_ORGANIZE_RESCAN (HID_SFX_START + 107)
-#define HID_STYLIST_NEW (HID_SFX_START + 108)
-#define HID_STYLIST_EDIT (HID_SFX_START + 109)
-#define HID_STYLIST_DELETE (HID_SFX_START + 110)
-#define HID_EXPLORERMENU_ARRANGEICONS (HID_SFX_START + 111)
-#define HID_EXPLORERMENU_ARRANGEICONS_ONGRID (HID_SFX_START + 112)
-#define HID_EXPLORERMENU_FIXEDICONPOS (HID_SFX_START + 113)
-#define HID_EXPLORERMENU_OPEN (HID_SFX_START + 114)
-#define HID_EXPLORERMENU_PRINT (HID_SFX_START + 115)
-#define HID_EXPLORERMENU_SEARCH (HID_SFX_START + 116)
-#define HID_EXPLORERMENU_COPY (HID_SFX_START + 117)
-#define HID_EXPLORERMENU_DELETE (HID_SFX_START + 118)
-#define HID_EXPLORERMENU_CREATELINK (HID_SFX_START + 119)
-#define HID_EXPLORERMENU_EDITPROPERTIES (HID_SFX_START + 120)
-#define HID_EXPLORERMENU_DOWNLOAD (HID_SFX_START + 121)
-#define HID_EXPLORERMENU_STDTEMPLATE (HID_SFX_START + 122)
-#define HID_EXPLORERDLG_FILELIST (HID_SFX_START + 124)
-#define HID_PDFOLDERS_WORKPLACE (HID_SFX_START + 125)
-#define HID_PDFOLDERS_EXPLORER (HID_SFX_START + 126)
-#define HID_PDFOLDERS_STANDARD (HID_SFX_START + 127)
-#define HID_PDFOLDERS_ROOT (HID_SFX_START + 128)
-#define HID_PDFOLDERS_DESKTOP (HID_SFX_START + 129)
-#define HID_CNTMENU_REMOVE_GROUP (HID_SFX_START + 130)
-#define HID_CNTMENU_CLEAR_CACHE (HID_SFX_START + 131)
-#define HID_CNT_SYNC_INFO_DLG (HID_SFX_START + 132)
-#define HID_CNT_REMOVE_REMOVEDLIST (HID_SFX_START + 133)
-#define HID_CNT_ABORT_DIALOG (HID_SFX_START + 134)
-#define HID_CNT_PAGE_PRJ_DATAEXCHANGE (HID_SFX_START + 135)
-#define HID_CHAOSDOC_OBJECTBAR_FILE (HID_SFX_START + 136)
-#define HID_CHAOSDOC_OBJECTBAR_MESSAGE (HID_SFX_START + 137)
-#define HID_CHAOSDOC_MN_PART_OPEN (HID_SFX_START + 138)
-#define HID_CHAOSDOC_MN_PART_DELETE (HID_SFX_START + 139)
-#define HID_CHAOSDOC_MN_PART_RENAME (HID_SFX_START + 140)
-#define HID_CHAOSDOC_MN_PART_SAVEAS (HID_SFX_START + 141)
-#define HID_EXPLORER_DOCVIEW_ICON (HID_SFX_START + 142)
-#define HID_EXPLORER_DOCVIEW_DETAILS (HID_SFX_START + 143)
-#define HID_CHAOSDOC_WIN (HID_SFX_START + 144)
-#define HID_CHAOSDOC_WIN_HEADER (HID_SFX_START + 145)
-#define HID_CHAOSDOC_WIN_PARTS (HID_SFX_START + 146)
-#define HID_CHAOSDOC_WIN_BODY (HID_SFX_START + 147)
-#define HID_CNT_INSERT_COLUMN (HID_SFX_START + 148)
-#define HID_CNT_REMOVE_COLUMN (HID_SFX_START + 149)
-#define HID_CNT_OPT_WIDTH (HID_SFX_START + 150)
-#define HID_CNT_SORT_ASC (HID_SFX_START + 151)
-#define HID_CNT_SORT_DESC (HID_SFX_START + 152)
-#define HID_CNT_RULEPG_OPEN_DIR (HID_SFX_START + 153)
-#define HID_CHAOSDOC_MN_HEADER_ADDRESSBOOK (HID_SFX_START + 154)
-#define HID_CHAOSDOC_MN_HEADER_COPYLINK (HID_SFX_START + 155)
-#define HID_CLEAN_CACHE (HID_SFX_START + 156)
-#define HID_SBOX_LOCATION (HID_SFX_START + 157)
-#define HID_SBOX_SUBSCRIBTION (HID_SFX_START + 158)
-#define HID_SBOX_CDF_SUBSCRIBTION (HID_SFX_START + 159)
-#define HID_SBOX_SCHEDULE (HID_SFX_START + 160)
-#define HID_SBOX_NOTIFICATION (HID_SFX_START + 161)
-#define HID_SBOX_SDC_GENERAL (HID_SFX_START + 162)
-#define HID_BRWBOX_HEADERBAR (HID_SFX_START + 163)
-#define HID_CANNOT_CREATE_BMK_HERE (HID_SFX_START + 164)
-#define HID_CREATE_BOOKMARK (HID_SFX_START + 165)
-#define HID_TASKBAR (HID_SFX_START + 166)
-#define HID_TASKBUTTONBAR (HID_SFX_START + 167)
-#define HID_TASKTOOLBAR (HID_SFX_START + 168)
-#define HID_CHAOSDOC_SHOW_FSYS_EXTENSION (HID_SFX_START + 169)
-#define HID_CNT_FILE (HID_SFX_START + 170)
-#define HID_CHAOSDOC_MN_BODY_OPENLINK (HID_SFX_START + 171)
-#define HID_CHAOSDOC_MN_BODY_OPENLINK_BLANK (HID_SFX_START + 172)
-#define HID_CHAOSDOC_MN_BODY_DOWNLOAD (HID_SFX_START + 173)
-#define HID_CHAOSDOC_MN_BODY_ADDBOOKMARK (HID_SFX_START + 174)
-#define HID_OPEN_MENU_CNT (HID_SFX_START + 175)
-#define HID_CNT_OPEN_AS_TEMPLATE (HID_SFX_START + 176)
-#define HID_CNT_OPEN_AS_DOC (HID_SFX_START + 177)
-#define HID_PDFOLDERS_TEMPLATE (HID_SFX_START + 178)
-#define HID_EXPLORER_ROOT (HID_SFX_START + 179)
-#define HID_RESET_URL (HID_SFX_START + 180)
-#define HID_PHONE_DIALOG (HID_SFX_START + 181)
-#define HID_QB_RESOLVE_LINK (HID_SFX_START + 182)
-#define HID_CHAOSDOC_MN_HEADER_FLAG_BOLD (HID_SFX_START + 183)
-#define HID_CHAOSDOC_MN_HEADER_FLAG_ITALIC (HID_SFX_START + 184)
-#define HID_CHAOSDOC_MN_HEADER_BIG_HEADER (HID_SFX_START + 185)
-#define HID_CHAOSDOC_MN_HEADER_TEMPLATE_HEADER (HID_SFX_START + 186)
-#define HID_CNT_MARK_THREAD_MARKED (HID_SFX_START + 187)
-#define HID_CNT_MARK_THREAD_UNMARKED (HID_SFX_START + 188)
-#define HID_CNT_DLG_SEARCH_BT_SHOW (HID_SFX_START + 189)
-#define HID_CNT_DLG_SEARCH_BT_UPDATE (HID_SFX_START + 190)
-#define HID_CNT_DLG_SEARCH_BT_SYNCHRONIZE (HID_SFX_START + 191)
-#define HID_CNT_DLG_SEARCH_BT_STOP (HID_SFX_START + 192)
-#define HID_CNT_PAGE_HEADER (HID_SFX_START + 193)
-#define HID_CNT_DLG_ADDRESS (HID_SFX_START + 194)
-#define HID_EXPLORERMENU_AUTO_ARRANGEICONS (HID_SFX_START + 195)
-#define HID_EXPLORERMENU_AUTO_ADJUSTICONS (HID_SFX_START + 196)
-#define HID_EXPLORERMENU_FREE_POSITIONING (HID_SFX_START + 197)
-#define HID_CNT_TARGET_MENU (HID_SFX_START + 198)
-#define HID_CNT_PAGE_DESCRIPTION (HID_SFX_START + 199)
-#define HID_CNT_LB_HEADER (HID_SFX_START + 200)
-#define HID_CNT_LB_DESCRIPTION (HID_SFX_START + 201)
-#define HID_GROUPVIEW_BIG_SYMBOLS (HID_SFX_START + 202)
-#define HID_GROUPVIEW_SMALL_SYMBOLS (HID_SFX_START + 203)
-#define HID_GROUPVIEW_ADD_GROUP (HID_SFX_START + 204)
-#define HID_GROUPVIEW_REMOVE_GROUP (HID_SFX_START + 205)
-#define HID_GROUPVIEW_RENAME_GROUP (HID_SFX_START + 206)
-#define HID_GROUPVIEW_ADD_BOOKMARK (HID_SFX_START + 207)
-#define HID_GROUPVIEW_TREE (HID_SFX_START + 208)
-#define HID_GROUPVIEW_ADD_AS_FOLDER (HID_SFX_START + 209)
-#define HID_GROUPVIEW_ADD_AS_BMK (HID_SFX_START + 210)
-#define HID_GROUPVIEW_REMOVE_BMK (HID_SFX_START + 211)
-#define HID_GROUPVIEW_CONTENT_BIG (HID_SFX_START + 212)
-#define HID_GROUPVIEW_CONTENT_SMALL (HID_SFX_START + 213)
-#define HID_GROUPVIEW_CONTENT_TREE (HID_SFX_START + 214)
-#define HID_GROUPVIEW_SHOW_DOCS (HID_SFX_START + 215)
-#define HID_EDIT_TEMPLATE (HID_SFX_START + 216)
-#define HID_PDFOLDERS_GRAPHICS (HID_SFX_START + 217)
-#define HID_FILEDLG_AUTOCOMPLETEBOX (HID_SFX_START + 218)
-#define HID_FILEDLG_SAVE_BTN (HID_SFX_START + 219)
-#define HID_FILEDLG_SAVE_FILENAME (HID_SFX_START + 220)
-#define HID_FILEDLG_SAVE_FILETYPE (HID_SFX_START + 221)
-#define HID_FILEDLG_INSERT_BTN (HID_SFX_START + 222)
-#define HID_FILEDLG_PATH_BTN (HID_SFX_START + 223)
-#define HID_FILEDLG_PATH_FILENAME (HID_SFX_START + 224)
-#define HID_FILEDLG_FOLDER_BTN (HID_SFX_START + 225)
-#define HID_FILEDLG_FOLDER_FILENAME (HID_SFX_START + 226)
-#define HID_FILEDLG_SRCHFOLDER_BTN (HID_SFX_START + 227)
-#define HID_PDFOLDERS_GROUPS (HID_SFX_START + 228)
-#define HID_OPEN_CHOOSE_FILTER (HID_SFX_START + 229)
-#define HID_PDFOLDERS_BOOKMARKS (HID_SFX_START + 230)
-#define HID_PDFOLDERS_FAVORITES_ADD (HID_SFX_START + 231)
-#define HID_PDFOLDERS_FAVORITES_REMOVE (HID_SFX_START + 232)
-#define HID_PDFOLDERS_HISTORY (HID_SFX_START + 233)
-#define HID_FILEDLG_EDIT_FAVORITES (HID_SFX_START + 234)
-#define HID_FILEDLG_NEW_FAVORITE (HID_SFX_START + 235)
-#define HID_FILEDLG_EDIT_FAVORITES_LISTBOX (HID_SFX_START + 236)
-#define HID_FILEDLG_EDIT_FAVORITES_HEADERBAR (HID_SFX_START + 237)
-#define HID_CNT_CB_FORCE_BODY_EXPORT (HID_SFX_START + 240)
-#define HID_CNT_PAGE_REPSTATE_CONTROL (HID_SFX_START + 241)
-#define HID_TASKSTATUSBAR (HID_SFX_START + 242)
-#define HID_CNT_PAGE_HEADER_TABBAR (HID_SFX_START + 244)
-#define HID_CNT_PAGE_SUBSCR_TABBAR (HID_SFX_START + 245)
-#define HID_CHAOSDOC_MN_PART_PRINT (HID_SFX_START + 246)
-#define HID_STATUSINDICATOR_TEXT (HID_SFX_START + 247)
-#define HID_STATUSINDICATOR_PROGRESS (HID_SFX_START + 248)
-#define HID_CNT_VALUE_ADDED_NONE (HID_SFX_START + 249)
-#define HID_CNT_VALUE_ADDED_DOCINFO (HID_SFX_START + 250)
-#define HID_CNT_VALUE_ADDED_FULL (HID_SFX_START + 251)
-#define HID_CNT_MESSAGE_STOREMODE_REMOTE (HID_SFX_START + 252)
-#define HID_CNT_MESSAGE_STOREMODE_LOCAL (HID_SFX_START + 253)
-#define HID_CNT_VIEW_ALL_ARTICLES (HID_SFX_START + 254)
-#define HID_CNT_VIEW_UNREAD_ARTICLES (HID_SFX_START + 255)
-#define HID_CNT_VIEW_READ_ARTICLES (HID_SFX_START + 256)
-#define HID_CNT_VIEW_MARKED_ARTICLES (HID_SFX_START + 257)
-#define HID_CNT_VIEW_MARKED_AND_UNREAD_ARTICLES (HID_SFX_START + 258)
-#define HID_CNT_VIEW_ALL_FOLDERS (HID_SFX_START + 259)
-#define HID_CNT_VIEW_SUBSCRIBED_FOLDERS (HID_SFX_START + 260)
-#define HID_CNT_VIEW_ACTIVE_FOLDERS (HID_SFX_START + 261)
-#define HID_CNT_SENT_VIEW_ALL_ARTICLES (HID_SFX_START + 262)
-#define HID_CNT_SENT_VIEW_SENT_ARTICLES (HID_SFX_START + 263)
-#define HID_CNT_SENT_VIEW_UNSENT_ARTICLES (HID_SFX_START + 264)
-#define HID_CNT_SENT_VIEW_MARKED_ARTICLES (HID_SFX_START + 265)
-#define HID_MAILWIN_SEND_BUTTON (HID_SFX_START + 266)
-#define HID_MAILWIN_CLOSE_BUTTON (HID_SFX_START + 267)
-#define HID_MAILWIN_ROLE_BOX (HID_SFX_START + 268)
-#define HID_MAILWIN_ADDRESS_EDIT (HID_SFX_START + 269)
-#define HID_MAILWIN_ADDRESS_BOX (HID_SFX_START + 270)
-#define HID_MAILWIN_SUBJECT_EDIT (HID_SFX_START + 271)
-#define HID_MAILWIN_FROM_EDIT (HID_SFX_START + 272)
-#define HID_MAILWIN_PRIO_BOX (HID_SFX_START + 273)
-#define HID_TABDLG_APPLY_BTN (HID_SFX_START + 274)
-#define HID_TP_COMMONPRINTOPTIONS (HID_SFX_START + 275)
-#define HID_FILEDLG_LINK_CB (HID_SFX_START + 276)
-#define HID_FILEDLG_PREVIEW_CB (HID_SFX_START + 277)
-#define HID_HELP_WINDOW (HID_SFX_START + 278)
-#define HID_HELP_LISTBOX (HID_SFX_START + 279)
-#define HID_HELP_TABCONTROL (HID_SFX_START + 280)
-#define HID_HELP_TOOLBOX (HID_SFX_START + 281)
-#define HID_HELP_TOOLBOXITEM_INDEX (HID_SFX_START + 282)
-#define HID_HELP_TOOLBOXITEM_START (HID_SFX_START + 283)
-#define HID_HELP_TOOLBOXITEM_BACKWARD (HID_SFX_START + 284)
-#define HID_HELP_TOOLBOXITEM_FORWARD (HID_SFX_START + 285)
-#define HID_HELP_TOOLBOXITEM_PRINT (HID_SFX_START + 286)
-#define HID_HELP_TOOLBOXITEM_BOOKMARKS (HID_SFX_START + 287)
-#define HID_HELP_TABPAGE_CONTENTS (HID_SFX_START + 288)
-#define HID_HELP_TABPAGE_INDEX (HID_SFX_START + 289)
-#define HID_HELP_TABPAGE_SEARCH (HID_SFX_START + 290)
-#define HID_HELP_TABPAGE_BOOKMARKS (HID_SFX_START + 291)
-#define HID_TBXCONTROL_FILENEW (HID_SFX_START + 292)
-#define HID_ORGANIZE_STDTEMPLATE_ADD (HID_SFX_START + 293)
-#define HID_ORGANIZE_STDTEMPLATE_DEL (HID_SFX_START + 294)
-#define HID_HELP_TOOLBOXITEM_SEARCHDIALOG (HID_SFX_START + 295)
-#define HID_HELP_BOOKMARKS_OPEN (HID_SFX_START + 296)
-#define HID_HELP_BOOKMARKS_RENAME (HID_SFX_START + 297)
-#define HID_HELP_BOOKMARKS_DELETE (HID_SFX_START + 298)
-#define HID_CLOSE_WARNING (HID_SFX_START + 299)
-#define HID_DID_SAVE_PACKED_XML (HID_SFX_START + 300)
-#define HID_HELP_TREELISTBOX_CONTENTS (HID_SFX_START + 301)
-#define HID_CUSTOMIZETOOLBOX (HID_SFX_START + 302)
-#define HID_CUSTOMIZETOOLBOX_FUNCTIONS (HID_SFX_START + 303)
-#define HID_CUSTOMIZETOOLBOX_TOOLBOX (HID_SFX_START + 304)
-#define HID_HELP_TEXT_SELECTION_MODE (HID_SFX_START + 305)
+#define HID_FILTER_SELECT "SFX2_HID_FILTER_SELECT"
+#define HID_USERDEFBMP "SFX2_HID_USERDEFBMP"
+#define HID_DOCINFO_EDT "SFX2_HID_DOCINFO_EDT"
+#define HID_PASSWD "SFX2_HID_PASSWD"
+#define HID_PRINTMONITOR "SFX2_HID_PRINTMONITOR"
+#define HID_CONFIG_OBJECTBAR "SFX2_HID_CONFIG_OBJECTBAR"
+#define HID_MANAGE_STYLES "SFX2_HID_MANAGE_STYLES"
+#define HID_CONFIG_EVENT "SFX2_HID_CONFIG_EVENT"
+#define HID_DOCINFODESC "SFX2_HID_DOCINFODESC"
+#define HID_DOCINFODOC "SFX2_HID_DOCINFODOC"
+#define HID_DOCINFOUSER "SFX2_HID_DOCINFOUSER"
+#define HID_BOOKMARKPROPS "SFX2_HID_BOOKMARKPROPS"
+#define HID_BOOKGROUPPROPS "SFX2_HID_BOOKGROUPPROPS"
+#define HID_BOOKFILEPROPS "SFX2_HID_BOOKFILEPROPS"
+#define HID_NEWS_SERVERPROPS "SFX2_HID_NEWS_SERVERPROPS"
+#define HID_NEWS_RULEPAGE "SFX2_HID_NEWS_RULEPAGE"
+#define HID_MAILINTRAYPROPS "SFX2_HID_MAILINTRAYPROPS"
+#define HID_DOCINFORELOAD "SFX2_HID_DOCINFORELOAD"
+#define HID_NEWS_GROUPPAGE "SFX2_HID_NEWS_GROUPPAGE"
+#define HID_NEWS_SERVERPAGE "SFX2_HID_NEWS_SERVERPAGE"
+#define HID_EXPLORERCONTROL "SFX2_HID_EXPLORERCONTROL"
+#define HID_BROWSERCONTROL "SFX2_HID_BROWSERCONTROL"
+#define HID_CTL_ORGANIZER_LEFT "SFX2_HID_CTL_ORGANIZER_LEFT"
+#define HID_CTL_ORGANIZER_RIGHT "SFX2_HID_CTL_ORGANIZER_RIGHT"
+#define HID_EXPLMAILSRV_GENERAL_PAGE "SFX2_HID_EXPLMAILSRV_GENERAL_PAGE"
+#define HID_EXPLMAILSRV_PROTOCOL_PAGE "SFX2_HID_EXPLMAILSRV_PROTOCOL_PAGE"
+#define HID_EXPLMAILSRV_DATAMATCH_PAGE "SFX2_HID_EXPLMAILSRV_DATAMATCH_PAGE"
+#define HID_EXPLMAILSRV_SENDJOURNAL_PAGE "SFX2_HID_EXPLMAILSRV_SENDJOURNAL_PAGE"
+#define HID_EXPLMAIL_GENERAL_PAGE "SFX2_HID_EXPLMAIL_GENERAL_PAGE"
+#define HID_NEWS_CTL_RULES "SFX2_HID_NEWS_CTL_RULES"
+#define HID_NEWS_CTL_GROUPS "SFX2_HID_NEWS_CTL_GROUPS"
+#define HID_CONFIG_OBJECTBAR_CTL "SFX2_HID_CONFIG_OBJECTBAR_CTL"
+#define HID_NEWS_QUICKSEARCH "SFX2_HID_NEWS_QUICKSEARCH"
+#define HID_NEWS_SERVERVIEWPROPS "SFX2_HID_NEWS_SERVERVIEWPROPS"
+#define HID_NEWS_SHOWARTICLEPROPS "SFX2_HID_NEWS_SHOWARTICLEPROPS"
+#define HID_NEWS_SHOWGROUPPROPS "SFX2_HID_NEWS_SHOWGROUPPROPS"
+#define HID_NEWS_USER "SFX2_HID_NEWS_USER"
+#define HID_MULTISELECTION_GENERAL_PAGE "SFX2_HID_MULTISELECTION_GENERAL_PAGE"
+#define HID_LINK_GENERAL_PAGE "SFX2_HID_LINK_GENERAL_PAGE"
+#define HID_LINK_ADDRESS_PAGE "SFX2_HID_LINK_ADDRESS_PAGE"
+#define HID_FOLDER_GENERAL_PAGE "SFX2_HID_FOLDER_GENERAL_PAGE"
+#define HID_FILE_GENERAL_PAGE "SFX2_HID_FILE_GENERAL_PAGE"
+#define HID_FTP_GENERAL_PAGE "SFX2_HID_FTP_GENERAL_PAGE"
+#define HID_PRINT_OPTIONS "SFX2_HID_PRINT_OPTIONS"
+#define HID_PREVIEW_FRAME "SFX2_HID_PREVIEW_FRAME"
+#define HID_DOCINFO_FRAME "SFX2_HID_DOCINFO_FRAME"
+#define HID_EXPLORER_FRAME "SFX2_HID_EXPLORER_FRAME"
+#define HID_APP_WIN "SFX2_HID_APP_WIN"
+#define HID_TEMPLATE_FMT "SFX2_HID_TEMPLATE_FMT"
+#define HID_TEMPLATE_FILTER "SFX2_HID_TEMPLATE_FILTER"
+#define HID_FTPSERVER_PAGE "SFX2_HID_FTPSERVER_PAGE"
+#define HID_DLG_SFX_EXP_SEARCH "SFX2_HID_DLG_SFX_EXP_SEARCH"
+#define HID_TP_SFX_EXP_SEARCH_CRITERIA "SFX2_HID_TP_SFX_EXP_SEARCH_CRITERIA"
+#define HID_TP_SFX_EXP_SEARCH_PLACE "SFX2_HID_TP_SFX_EXP_SEARCH_PLACE"
+#define HID_SEARCH_DLG_TABLB "SFX2_HID_SEARCH_DLG_TABLB"
+#define HID_TEMPLDLG_NEWBYEXAMPLE "SFX2_HID_TEMPLDLG_NEWBYEXAMPLE"
+#define HID_TEMPLDLG_UPDATEBYEXAMPLE "SFX2_HID_TEMPLDLG_UPDATEBYEXAMPLE"
+#define HID_TEMPLDLG_WATERCAN "SFX2_HID_TEMPLDLG_WATERCAN"
+#define HID_DESKTOP "SFX2_HID_DESKTOP"
+#define HID_EXPLORERTOOLSTOOLBOX "SFX2_HID_EXPLORERTOOLSTOOLBOX"
+#define HID_EXPLOREROBJECTTOOLBOX "SFX2_HID_EXPLOREROBJECTTOOLBOX"
+#define HID_RECORDINGTOOLBOX "SFX2_HID_RECORDINGTOOLBOX"
+#define HID_FULLSCREENTOOLBOX "SFX2_HID_FULLSCREENTOOLBOX"
+#define HID_HELPBAR "SFX2_HID_HELPBAR"
+#define HID_ENVTOOLBOX "SFX2_HID_ENVTOOLBOX"
+#define HID_FRAMESETEDIT_TOOLBOX "SFX2_HID_FRAMESETEDIT_TOOLBOX"
+#define HID_NAVIGATOR_WINDOW "SFX2_HID_NAVIGATOR_WINDOW"
+#define HID_TABDLG_RESET_BTN "SFX2_HID_TABDLG_RESET_BTN"
+#define HID_TABDLG_STANDARD_BTN "SFX2_HID_TABDLG_STANDARD_BTN"
+#define HID_HELPAGENT_TIP_BOX "SFX2_HID_HELPAGENT_TIP_BOX"
+#define HID_TEMPLDLG_TOOLBOX_LEFT "SFX2_HID_TEMPLDLG_TOOLBOX_LEFT"
+#define HID_TEMPLDLG_TOOLBOX_RIGHT "SFX2_HID_TEMPLDLG_TOOLBOX_RIGHT"
+#define HID_EXPLORER_SRCH_COUNT "SFX2_HID_EXPLORER_SRCH_COUNT"
+#define HID_BEAMER_SORT_ASCENDING "SFX2_HID_BEAMER_SORT_ASCENDING"
+#define HID_BEAMER_SORT_DESCENDING "SFX2_HID_BEAMER_SORT_DESCENDING"
+#define HID_EXPLORER_SRCH_LATEST_COUNT "SFX2_HID_EXPLORER_SRCH_LATEST_COUNT"
+#define HID_CONFIG_EVENT_OFFICE_BASED "SFX2_HID_CONFIG_EVENT_OFFICE_BASED"
+#define HID_CONFIG_EVENT_DOCUMENT_BASED "SFX2_HID_CONFIG_EVENT_DOCUMENT_BASED"
+#define HID_ORGANIZE_NEW "SFX2_HID_ORGANIZE_NEW"
+#define HID_ORGANIZE_DELETE "SFX2_HID_ORGANIZE_DELETE"
+#define HID_ORGANIZE_EDIT "SFX2_HID_ORGANIZE_EDIT"
+#define HID_ORGANIZE_COPY_FROM "SFX2_HID_ORGANIZE_COPY_FROM"
+#define HID_ORGANIZE_COPY_TO "SFX2_HID_ORGANIZE_COPY_TO"
+#define HID_ORGANIZE_PRINT "SFX2_HID_ORGANIZE_PRINT"
+#define HID_ORGANIZE_PRINTER_SETUP "SFX2_HID_ORGANIZE_PRINTER_SETUP"
+#define HID_ORGANIZE_RESCAN "SFX2_HID_ORGANIZE_RESCAN"
+#define HID_STYLIST_NEW "SFX2_HID_STYLIST_NEW"
+#define HID_STYLIST_EDIT "SFX2_HID_STYLIST_EDIT"
+#define HID_STYLIST_DELETE "SFX2_HID_STYLIST_DELETE"
+#define HID_EXPLORERMENU_ARRANGEICONS "SFX2_HID_EXPLORERMENU_ARRANGEICONS"
+#define HID_EXPLORERMENU_ARRANGEICONS_ONGRID "SFX2_HID_EXPLORERMENU_ARRANGEICONS_ONGRID"
+#define HID_EXPLORERMENU_FIXEDICONPOS "SFX2_HID_EXPLORERMENU_FIXEDICONPOS"
+#define HID_EXPLORERMENU_OPEN "SFX2_HID_EXPLORERMENU_OPEN"
+#define HID_EXPLORERMENU_PRINT "SFX2_HID_EXPLORERMENU_PRINT"
+#define HID_EXPLORERMENU_SEARCH "SFX2_HID_EXPLORERMENU_SEARCH"
+#define HID_EXPLORERMENU_COPY "SFX2_HID_EXPLORERMENU_COPY"
+#define HID_EXPLORERMENU_DELETE "SFX2_HID_EXPLORERMENU_DELETE"
+#define HID_EXPLORERMENU_CREATELINK "SFX2_HID_EXPLORERMENU_CREATELINK"
+#define HID_EXPLORERMENU_EDITPROPERTIES "SFX2_HID_EXPLORERMENU_EDITPROPERTIES"
+#define HID_EXPLORERMENU_DOWNLOAD "SFX2_HID_EXPLORERMENU_DOWNLOAD"
+#define HID_EXPLORERMENU_STDTEMPLATE "SFX2_HID_EXPLORERMENU_STDTEMPLATE"
+#define HID_EXPLORERDLG_FILELIST "SFX2_HID_EXPLORERDLG_FILELIST"
+#define HID_PDFOLDERS_WORKPLACE "SFX2_HID_PDFOLDERS_WORKPLACE"
+#define HID_PDFOLDERS_EXPLORER "SFX2_HID_PDFOLDERS_EXPLORER"
+#define HID_PDFOLDERS_STANDARD "SFX2_HID_PDFOLDERS_STANDARD"
+#define HID_PDFOLDERS_ROOT "SFX2_HID_PDFOLDERS_ROOT"
+#define HID_PDFOLDERS_DESKTOP "SFX2_HID_PDFOLDERS_DESKTOP"
+#define HID_CNTMENU_REMOVE_GROUP "SFX2_HID_CNTMENU_REMOVE_GROUP"
+#define HID_CNTMENU_CLEAR_CACHE "SFX2_HID_CNTMENU_CLEAR_CACHE"
+#define HID_CNT_SYNC_INFO_DLG "SFX2_HID_CNT_SYNC_INFO_DLG"
+#define HID_CNT_REMOVE_REMOVEDLIST "SFX2_HID_CNT_REMOVE_REMOVEDLIST"
+#define HID_CNT_ABORT_DIALOG "SFX2_HID_CNT_ABORT_DIALOG"
+#define HID_CNT_PAGE_PRJ_DATAEXCHANGE "SFX2_HID_CNT_PAGE_PRJ_DATAEXCHANGE"
+#define HID_CHAOSDOC_OBJECTBAR_FILE "SFX2_HID_CHAOSDOC_OBJECTBAR_FILE"
+#define HID_CHAOSDOC_OBJECTBAR_MESSAGE "SFX2_HID_CHAOSDOC_OBJECTBAR_MESSAGE"
+#define HID_CHAOSDOC_MN_PART_OPEN "SFX2_HID_CHAOSDOC_MN_PART_OPEN"
+#define HID_CHAOSDOC_MN_PART_DELETE "SFX2_HID_CHAOSDOC_MN_PART_DELETE"
+#define HID_CHAOSDOC_MN_PART_RENAME "SFX2_HID_CHAOSDOC_MN_PART_RENAME"
+#define HID_CHAOSDOC_MN_PART_SAVEAS "SFX2_HID_CHAOSDOC_MN_PART_SAVEAS"
+#define HID_EXPLORER_DOCVIEW_ICON "SFX2_HID_EXPLORER_DOCVIEW_ICON"
+#define HID_EXPLORER_DOCVIEW_DETAILS "SFX2_HID_EXPLORER_DOCVIEW_DETAILS"
+#define HID_CHAOSDOC_WIN "SFX2_HID_CHAOSDOC_WIN"
+#define HID_CHAOSDOC_WIN_HEADER "SFX2_HID_CHAOSDOC_WIN_HEADER"
+#define HID_CHAOSDOC_WIN_PARTS "SFX2_HID_CHAOSDOC_WIN_PARTS"
+#define HID_CHAOSDOC_WIN_BODY "SFX2_HID_CHAOSDOC_WIN_BODY"
+#define HID_CNT_INSERT_COLUMN "SFX2_HID_CNT_INSERT_COLUMN"
+#define HID_CNT_REMOVE_COLUMN "SFX2_HID_CNT_REMOVE_COLUMN"
+#define HID_CNT_OPT_WIDTH "SFX2_HID_CNT_OPT_WIDTH"
+#define HID_CNT_SORT_ASC "SFX2_HID_CNT_SORT_ASC"
+#define HID_CNT_SORT_DESC "SFX2_HID_CNT_SORT_DESC"
+#define HID_CNT_RULEPG_OPEN_DIR "SFX2_HID_CNT_RULEPG_OPEN_DIR"
+#define HID_CHAOSDOC_MN_HEADER_ADDRESSBOOK "SFX2_HID_CHAOSDOC_MN_HEADER_ADDRESSBOOK"
+#define HID_CHAOSDOC_MN_HEADER_COPYLINK "SFX2_HID_CHAOSDOC_MN_HEADER_COPYLINK"
+#define HID_CLEAN_CACHE "SFX2_HID_CLEAN_CACHE"
+#define HID_SBOX_LOCATION "SFX2_HID_SBOX_LOCATION"
+#define HID_SBOX_SUBSCRIBTION "SFX2_HID_SBOX_SUBSCRIBTION"
+#define HID_SBOX_CDF_SUBSCRIBTION "SFX2_HID_SBOX_CDF_SUBSCRIBTION"
+#define HID_SBOX_SCHEDULE "SFX2_HID_SBOX_SCHEDULE"
+#define HID_SBOX_NOTIFICATION "SFX2_HID_SBOX_NOTIFICATION"
+#define HID_SBOX_SDC_GENERAL "SFX2_HID_SBOX_SDC_GENERAL"
+#define HID_BRWBOX_HEADERBAR "SFX2_HID_BRWBOX_HEADERBAR"
+#define HID_CANNOT_CREATE_BMK_HERE "SFX2_HID_CANNOT_CREATE_BMK_HERE"
+#define HID_CREATE_BOOKMARK "SFX2_HID_CREATE_BOOKMARK"
+#define HID_TASKBAR "SFX2_HID_TASKBAR"
+#define HID_TASKBUTTONBAR "SFX2_HID_TASKBUTTONBAR"
+#define HID_TASKTOOLBAR "SFX2_HID_TASKTOOLBAR"
+#define HID_CHAOSDOC_SHOW_FSYS_EXTENSION "SFX2_HID_CHAOSDOC_SHOW_FSYS_EXTENSION"
+#define HID_CNT_FILE "SFX2_HID_CNT_FILE"
+#define HID_CHAOSDOC_MN_BODY_OPENLINK "SFX2_HID_CHAOSDOC_MN_BODY_OPENLINK"
+#define HID_CHAOSDOC_MN_BODY_OPENLINK_BLANK "SFX2_HID_CHAOSDOC_MN_BODY_OPENLINK_BLANK"
+#define HID_CHAOSDOC_MN_BODY_DOWNLOAD "SFX2_HID_CHAOSDOC_MN_BODY_DOWNLOAD"
+#define HID_CHAOSDOC_MN_BODY_ADDBOOKMARK "SFX2_HID_CHAOSDOC_MN_BODY_ADDBOOKMARK"
+#define HID_OPEN_MENU_CNT "SFX2_HID_OPEN_MENU_CNT"
+#define HID_CNT_OPEN_AS_TEMPLATE "SFX2_HID_CNT_OPEN_AS_TEMPLATE"
+#define HID_CNT_OPEN_AS_DOC "SFX2_HID_CNT_OPEN_AS_DOC"
+#define HID_PDFOLDERS_TEMPLATE "SFX2_HID_PDFOLDERS_TEMPLATE"
+#define HID_EXPLORER_ROOT "SFX2_HID_EXPLORER_ROOT"
+#define HID_RESET_URL "SFX2_HID_RESET_URL"
+#define HID_PHONE_DIALOG "SFX2_HID_PHONE_DIALOG"
+#define HID_QB_RESOLVE_LINK "SFX2_HID_QB_RESOLVE_LINK"
+#define HID_CHAOSDOC_MN_HEADER_FLAG_BOLD "SFX2_HID_CHAOSDOC_MN_HEADER_FLAG_BOLD"
+#define HID_CHAOSDOC_MN_HEADER_FLAG_ITALIC "SFX2_HID_CHAOSDOC_MN_HEADER_FLAG_ITALIC"
+#define HID_CHAOSDOC_MN_HEADER_BIG_HEADER "SFX2_HID_CHAOSDOC_MN_HEADER_BIG_HEADER"
+#define HID_CHAOSDOC_MN_HEADER_TEMPLATE_HEADER "SFX2_HID_CHAOSDOC_MN_HEADER_TEMPLATE_HEADER"
+#define HID_CNT_MARK_THREAD_MARKED "SFX2_HID_CNT_MARK_THREAD_MARKED"
+#define HID_CNT_MARK_THREAD_UNMARKED "SFX2_HID_CNT_MARK_THREAD_UNMARKED"
+#define HID_CNT_DLG_SEARCH_BT_SHOW "SFX2_HID_CNT_DLG_SEARCH_BT_SHOW"
+#define HID_CNT_DLG_SEARCH_BT_UPDATE "SFX2_HID_CNT_DLG_SEARCH_BT_UPDATE"
+#define HID_CNT_DLG_SEARCH_BT_SYNCHRONIZE "SFX2_HID_CNT_DLG_SEARCH_BT_SYNCHRONIZE"
+#define HID_CNT_DLG_SEARCH_BT_STOP "SFX2_HID_CNT_DLG_SEARCH_BT_STOP"
+#define HID_CNT_PAGE_HEADER "SFX2_HID_CNT_PAGE_HEADER"
+#define HID_CNT_DLG_ADDRESS "SFX2_HID_CNT_DLG_ADDRESS"
+#define HID_EXPLORERMENU_AUTO_ARRANGEICONS "SFX2_HID_EXPLORERMENU_AUTO_ARRANGEICONS"
+#define HID_EXPLORERMENU_AUTO_ADJUSTICONS "SFX2_HID_EXPLORERMENU_AUTO_ADJUSTICONS"
+#define HID_EXPLORERMENU_FREE_POSITIONING "SFX2_HID_EXPLORERMENU_FREE_POSITIONING"
+#define HID_CNT_TARGET_MENU "SFX2_HID_CNT_TARGET_MENU"
+#define HID_CNT_PAGE_DESCRIPTION "SFX2_HID_CNT_PAGE_DESCRIPTION"
+#define HID_CNT_LB_HEADER "SFX2_HID_CNT_LB_HEADER"
+#define HID_CNT_LB_DESCRIPTION "SFX2_HID_CNT_LB_DESCRIPTION"
+#define HID_GROUPVIEW_BIG_SYMBOLS "SFX2_HID_GROUPVIEW_BIG_SYMBOLS"
+#define HID_GROUPVIEW_SMALL_SYMBOLS "SFX2_HID_GROUPVIEW_SMALL_SYMBOLS"
+#define HID_GROUPVIEW_ADD_GROUP "SFX2_HID_GROUPVIEW_ADD_GROUP"
+#define HID_GROUPVIEW_REMOVE_GROUP "SFX2_HID_GROUPVIEW_REMOVE_GROUP"
+#define HID_GROUPVIEW_RENAME_GROUP "SFX2_HID_GROUPVIEW_RENAME_GROUP"
+#define HID_GROUPVIEW_ADD_BOOKMARK "SFX2_HID_GROUPVIEW_ADD_BOOKMARK"
+#define HID_GROUPVIEW_TREE "SFX2_HID_GROUPVIEW_TREE"
+#define HID_GROUPVIEW_ADD_AS_FOLDER "SFX2_HID_GROUPVIEW_ADD_AS_FOLDER"
+#define HID_GROUPVIEW_ADD_AS_BMK "SFX2_HID_GROUPVIEW_ADD_AS_BMK"
+#define HID_GROUPVIEW_REMOVE_BMK "SFX2_HID_GROUPVIEW_REMOVE_BMK"
+#define HID_GROUPVIEW_CONTENT_BIG "SFX2_HID_GROUPVIEW_CONTENT_BIG"
+#define HID_GROUPVIEW_CONTENT_SMALL "SFX2_HID_GROUPVIEW_CONTENT_SMALL"
+#define HID_GROUPVIEW_CONTENT_TREE "SFX2_HID_GROUPVIEW_CONTENT_TREE"
+#define HID_GROUPVIEW_SHOW_DOCS "SFX2_HID_GROUPVIEW_SHOW_DOCS"
+#define HID_EDIT_TEMPLATE "SFX2_HID_EDIT_TEMPLATE"
+#define HID_PDFOLDERS_GRAPHICS "SFX2_HID_PDFOLDERS_GRAPHICS"
+#define HID_PDFOLDERS_GROUPS "SFX2_HID_PDFOLDERS_GROUPS"
+#define HID_OPEN_CHOOSE_FILTER "SFX2_HID_OPEN_CHOOSE_FILTER"
+#define HID_PDFOLDERS_BOOKMARKS "SFX2_HID_PDFOLDERS_BOOKMARKS"
+#define HID_PDFOLDERS_FAVORITES_ADD "SFX2_HID_PDFOLDERS_FAVORITES_ADD"
+#define HID_PDFOLDERS_FAVORITES_REMOVE "SFX2_HID_PDFOLDERS_FAVORITES_REMOVE"
+#define HID_PDFOLDERS_HISTORY "SFX2_HID_PDFOLDERS_HISTORY"
+#define HID_CNT_CB_FORCE_BODY_EXPORT "SFX2_HID_CNT_CB_FORCE_BODY_EXPORT"
+#define HID_CNT_PAGE_REPSTATE_CONTROL "SFX2_HID_CNT_PAGE_REPSTATE_CONTROL"
+#define HID_TASKSTATUSBAR "SFX2_HID_TASKSTATUSBAR"
+#define HID_CNT_PAGE_HEADER_TABBAR "SFX2_HID_CNT_PAGE_HEADER_TABBAR"
+#define HID_CNT_PAGE_SUBSCR_TABBAR "SFX2_HID_CNT_PAGE_SUBSCR_TABBAR"
+#define HID_CHAOSDOC_MN_PART_PRINT "SFX2_HID_CHAOSDOC_MN_PART_PRINT"
+#define HID_STATUSINDICATOR_TEXT "SFX2_HID_STATUSINDICATOR_TEXT"
+#define HID_STATUSINDICATOR_PROGRESS "SFX2_HID_STATUSINDICATOR_PROGRESS"
+#define HID_CNT_VALUE_ADDED_NONE "SFX2_HID_CNT_VALUE_ADDED_NONE"
+#define HID_CNT_VALUE_ADDED_DOCINFO "SFX2_HID_CNT_VALUE_ADDED_DOCINFO"
+#define HID_CNT_VALUE_ADDED_FULL "SFX2_HID_CNT_VALUE_ADDED_FULL"
+#define HID_CNT_MESSAGE_STOREMODE_REMOTE "SFX2_HID_CNT_MESSAGE_STOREMODE_REMOTE"
+#define HID_CNT_MESSAGE_STOREMODE_LOCAL "SFX2_HID_CNT_MESSAGE_STOREMODE_LOCAL"
+#define HID_CNT_VIEW_ALL_ARTICLES "SFX2_HID_CNT_VIEW_ALL_ARTICLES"
+#define HID_CNT_VIEW_UNREAD_ARTICLES "SFX2_HID_CNT_VIEW_UNREAD_ARTICLES"
+#define HID_CNT_VIEW_READ_ARTICLES "SFX2_HID_CNT_VIEW_READ_ARTICLES"
+#define HID_CNT_VIEW_MARKED_ARTICLES "SFX2_HID_CNT_VIEW_MARKED_ARTICLES"
+#define HID_CNT_VIEW_MARKED_AND_UNREAD_ARTICLES "SFX2_HID_CNT_VIEW_MARKED_AND_UNREAD_ARTICLES"
+#define HID_CNT_VIEW_ALL_FOLDERS "SFX2_HID_CNT_VIEW_ALL_FOLDERS"
+#define HID_CNT_VIEW_SUBSCRIBED_FOLDERS "SFX2_HID_CNT_VIEW_SUBSCRIBED_FOLDERS"
+#define HID_CNT_VIEW_ACTIVE_FOLDERS "SFX2_HID_CNT_VIEW_ACTIVE_FOLDERS"
+#define HID_CNT_SENT_VIEW_ALL_ARTICLES "SFX2_HID_CNT_SENT_VIEW_ALL_ARTICLES"
+#define HID_CNT_SENT_VIEW_SENT_ARTICLES "SFX2_HID_CNT_SENT_VIEW_SENT_ARTICLES"
+#define HID_CNT_SENT_VIEW_UNSENT_ARTICLES "SFX2_HID_CNT_SENT_VIEW_UNSENT_ARTICLES"
+#define HID_CNT_SENT_VIEW_MARKED_ARTICLES "SFX2_HID_CNT_SENT_VIEW_MARKED_ARTICLES"
+#define HID_MAILWIN_SEND_BUTTON "SFX2_HID_MAILWIN_SEND_BUTTON"
+#define HID_MAILWIN_CLOSE_BUTTON "SFX2_HID_MAILWIN_CLOSE_BUTTON"
+#define HID_MAILWIN_ROLE_BOX "SFX2_HID_MAILWIN_ROLE_BOX"
+#define HID_MAILWIN_ADDRESS_EDIT "SFX2_HID_MAILWIN_ADDRESS_EDIT"
+#define HID_MAILWIN_ADDRESS_BOX "SFX2_HID_MAILWIN_ADDRESS_BOX"
+#define HID_MAILWIN_SUBJECT_EDIT "SFX2_HID_MAILWIN_SUBJECT_EDIT"
+#define HID_MAILWIN_FROM_EDIT "SFX2_HID_MAILWIN_FROM_EDIT"
+#define HID_MAILWIN_PRIO_BOX "SFX2_HID_MAILWIN_PRIO_BOX"
+#define HID_TABDLG_APPLY_BTN "SFX2_HID_TABDLG_APPLY_BTN"
+#define HID_TP_COMMONPRINTOPTIONS "SFX2_HID_TP_COMMONPRINTOPTIONS"
+#define HID_HELP_WINDOW "SFX2_HID_HELP_WINDOW"
+#define HID_HELP_LISTBOX "SFX2_HID_HELP_LISTBOX"
+#define HID_HELP_TABCONTROL "SFX2_HID_HELP_TABCONTROL"
+#define HID_HELP_TOOLBOX "SFX2_HID_HELP_TOOLBOX"
+#define HID_HELP_TOOLBOXITEM_INDEX "SFX2_HID_HELP_TOOLBOXITEM_INDEX"
+#define HID_HELP_TOOLBOXITEM_START "SFX2_HID_HELP_TOOLBOXITEM_START"
+#define HID_HELP_TOOLBOXITEM_BACKWARD "SFX2_HID_HELP_TOOLBOXITEM_BACKWARD"
+#define HID_HELP_TOOLBOXITEM_FORWARD "SFX2_HID_HELP_TOOLBOXITEM_FORWARD"
+#define HID_HELP_TOOLBOXITEM_PRINT "SFX2_HID_HELP_TOOLBOXITEM_PRINT"
+#define HID_HELP_TOOLBOXITEM_BOOKMARKS "SFX2_HID_HELP_TOOLBOXITEM_BOOKMARKS"
+#define HID_HELP_TABPAGE_CONTENTS "SFX2_HID_HELP_TABPAGE_CONTENTS"
+#define HID_HELP_TABPAGE_INDEX "SFX2_HID_HELP_TABPAGE_INDEX"
+#define HID_HELP_TABPAGE_SEARCH "SFX2_HID_HELP_TABPAGE_SEARCH"
+#define HID_HELP_TABPAGE_BOOKMARKS "SFX2_HID_HELP_TABPAGE_BOOKMARKS"
+#define HID_TBXCONTROL_FILENEW "SFX2_HID_TBXCONTROL_FILENEW"
+#define HID_ORGANIZE_STDTEMPLATE_ADD "SFX2_HID_ORGANIZE_STDTEMPLATE_ADD"
+#define HID_ORGANIZE_STDTEMPLATE_DEL "SFX2_HID_ORGANIZE_STDTEMPLATE_DEL"
+#define HID_HELP_TOOLBOXITEM_SEARCHDIALOG "SFX2_HID_HELP_TOOLBOXITEM_SEARCHDIALOG"
+#define HID_HELP_BOOKMARKS_OPEN "SFX2_HID_HELP_BOOKMARKS_OPEN"
+#define HID_HELP_BOOKMARKS_RENAME "SFX2_HID_HELP_BOOKMARKS_RENAME"
+#define HID_HELP_BOOKMARKS_DELETE "SFX2_HID_HELP_BOOKMARKS_DELETE"
+#define HID_CLOSE_WARNING "SFX2_HID_CLOSE_WARNING"
+#define HID_DID_SAVE_PACKED_XML "SFX2_HID_DID_SAVE_PACKED_XML"
+#define HID_HELP_TREELISTBOX_CONTENTS "SFX2_HID_HELP_TREELISTBOX_CONTENTS"
+#define HID_CUSTOMIZETOOLBOX "SFX2_HID_CUSTOMIZETOOLBOX"
+#define HID_CUSTOMIZETOOLBOX_FUNCTIONS "SFX2_HID_CUSTOMIZETOOLBOX_FUNCTIONS"
+#define HID_CUSTOMIZETOOLBOX_TOOLBOX "SFX2_HID_CUSTOMIZETOOLBOX_TOOLBOX"
+#define HID_HELP_TEXT_SELECTION_MODE "SFX2_HID_HELP_TEXT_SELECTION_MODE"
-#define HID_WARNING_SECURITY_HYPERLINK (HID_SFX_START + 306)
-#define HID_FILEDLG_EXPORTASPDF (HID_SFX_START + 307)
-#define HID_USERDEFBMP_TOOLBOX (HID_SFX_START + 308)
+#define HID_WARNING_SECURITY_HYPERLINK "SFX2_HID_WARNING_SECURITY_HYPERLINK"
+#define HID_USERDEFBMP_TOOLBOX "SFX2_HID_USERDEFBMP_TOOLBOX"
-#define HID_CONFIG_LOAD (HID_SFX_START + 309)
-#define HID_CONFIG_SAVE (HID_SFX_START + 310)
+#define HID_CONFIG_LOAD "SFX2_HID_CONFIG_LOAD"
+#define HID_CONFIG_SAVE "SFX2_HID_CONFIG_SAVE"
-#define HID_SEARCHDIALOG (HID_SFX_START + 311)
-#define HID_TASKPANE_WINDOW (HID_SFX_START + 312)
-#define HID_TASKPANE_VIEW_MENU (HID_SFX_START + 313)
-#define HID_XMLSEC_WARNING_BROKENSIGNATURE (HID_SFX_START + 314)
-#define HID_XMLSEC_QUERY_LOSINGSIGNATURE (HID_SFX_START + 315)
-#define HID_XMLSEC_QUERY_SAVEBEFORESIGN (HID_SFX_START + 316)
-#define HID_XMLSECDLG_MACROWARN (HID_SFX_START + 317)
-#define HID_XMLSEC_INFO_WRONGDOCFORMAT (HID_SFX_START + 318)
-#define HID_WARNING_MACROSDISABLED (HID_SFX_START + 319)
-#define HID_WARNING_ALIENFORMAT (HID_SFX_START + 320)
-#define HID_HELP_ONSTARTUP_BOX (HID_SFX_START + 321)
-#define HID_DLG_CHECKFORONLINEUPDATE (HID_SFX_START + 322)
-#define HID_TP_CUSTOMPROPERTIES (HID_SFX_START + 324)
-#define HID_CTRL_CUSTOMPROPERTIES (HID_SFX_START + 325)
-#define HID_CTRL_CUSTOMPROPS_YES_NO (HID_SFX_START + 326)
-#define HID_DLG_CUSTOMPROPS_DURATION (HID_SFX_START + 327)
+#define HID_SEARCHDIALOG "SFX2_HID_SEARCHDIALOG"
-#define HID_SECURITYTAB_PASSWORD_TO_OPEN (HID_SFX_START + 328)
-#define HID_SECURITYTAB_CONFIRM_PASSWORD_TO_OPEN (HID_SFX_START + 329)
-#define HID_SECURITYTAB_PASSWORD_TO_MODIFY (HID_SFX_START + 330)
-#define HID_SECURITYTAB_CONFIRM_PASSWORD_TO_MODIFY (HID_SFX_START + 331)
-#define HID_SECURITYTAB_OPEN_FILE_READONLY (HID_SFX_START + 332)
-#define HID_SECURITYTAB_RECORD_CHANGES (HID_SFX_START + 333)
-#define HID_SECURITYTAB_PROTECTION (HID_SFX_START + 334)
+#define HID_XMLSEC_WARNING_BROKENSIGNATURE "SFX2_HID_XMLSEC_WARNING_BROKENSIGNATURE"
+#define HID_XMLSEC_QUERY_LOSINGSIGNATURE "SFX2_HID_XMLSEC_QUERY_LOSINGSIGNATURE"
+#define HID_XMLSEC_QUERY_SAVEBEFORESIGN "SFX2_HID_XMLSEC_QUERY_SAVEBEFORESIGN"
+#define HID_XMLSECDLG_MACROWARN "SFX2_HID_XMLSECDLG_MACROWARN"
+#define HID_XMLSEC_INFO_WRONGDOCFORMAT "SFX2_HID_XMLSEC_INFO_WRONGDOCFORMAT"
+#define HID_WARNING_MACROSDISABLED "SFX2_HID_WARNING_MACROSDISABLED"
+#define HID_WARNING_ALIENFORMAT "SFX2_HID_WARNING_ALIENFORMAT"
+#define HID_HELP_ONSTARTUP_BOX "SFX2_HID_HELP_ONSTARTUP_BOX"
+#define HID_DLG_CHECKFORONLINEUPDATE "SFX2_HID_DLG_CHECKFORONLINEUPDATE"
+#define HID_TP_CUSTOMPROPERTIES "SFX2_HID_TP_CUSTOMPROPERTIES"
+#define HID_CTRL_CUSTOMPROPERTIES "SFX2_HID_CTRL_CUSTOMPROPERTIES"
+#define HID_CTRL_CUSTOMPROPS_YES_NO "SFX2_HID_CTRL_CUSTOMPROPS_YES_NO"
+#define HID_DLG_CUSTOMPROPS_DURATION "SFX2_HID_DLG_CUSTOMPROPS_DURATION"
-#define ACT_SFX_HID_END HID_SECURITYTAB_PROTECTION
+#define HID_HELP_ONHELP "SFX2_HID_HELP_ONHELP"
-// "Uberlaufpr"ufung --------------------------------------------------------
+#define HID_QUERY_LOAD_TEMPLATE "SFX2_HID_QUERY_LOAD_TEMPLATE"
-#if ACT_SFX_HID_END > HID_SFX_END
-#error Resource-Ueberlauf in #line, #file
-#endif
+#define HID_SECURITYTAB_PASSWORD_TO_OPEN "SFX2_HID_SECURITYTAB_PASSWORD_TO_OPEN"
+#define HID_SECURITYTAB_CONFIRM_PASSWORD_TO_OPEN "SFX2_HID_SECURITYTAB_CONFIRM_PASSWORD_TO_OPEN"
+#define HID_SECURITYTAB_PASSWORD_TO_MODIFY "SFX2_HID_SECURITYTAB_PASSWORD_TO_MODIFY"
+#define HID_SECURITYTAB_CONFIRM_PASSWORD_TO_MODIFY "SFX2_HID_SECURITYTAB_CONFIRM_PASSWORD_TO_MODIFY"
+#define HID_SECURITYTAB_OPEN_FILE_READONLY "SFX2_HID_SECURITYTAB_OPEN_FILE_READONLY"
+#define HID_SECURITYTAB_RECORD_CHANGES "SFX2_HID_SECURITYTAB_RECORD_CHANGES"
+#define HID_SECURITYTAB_PROTECTION "SFX2_HID_SECURITYTAB_PROTECTION"
-#define HID_HELP_ONHELP 68245
+#define HID_TASKPANE_WINDOW "SFX2_HID_TASKPANE_WINDOW"
+#define HID_TASKPANE_VIEW_MENU "SFX2_HID_TASKPANE_VIEW_MENU"
+#define HID_DOCINFOSECURITY "SFX2_HID_DOCINFOSECURITY"
#endif // #ifndef _SFX_HELPID_HRC
diff --git a/sfx2/source/menu/menu.src b/sfx2/source/menu/menu.src
index cf13af67c3..17008794bd 100644
--- a/sfx2/source/menu/menu.src
+++ b/sfx2/source/menu/menu.src
@@ -26,6 +26,7 @@
************************************************************************/
#include "menu.hrc"
+#include <sfx2/sfxcommands.h>
String STR_MENU_CFGITEM
{
@@ -44,19 +45,19 @@ Menu MN_CLIPBOARDFUNCS
MenuItem
{
Identifier = SID_CUT ;
- HelpID = SID_CUT ;
+ HelpID = CMD_SID_CUT ;
Text [ en-US ] = "Cu~t" ;
};
MenuItem
{
Identifier = SID_COPY ;
- HelpID = SID_COPY ;
+ HelpID = CMD_SID_COPY ;
Text [ en-US ] = "~Copy" ;
};
MenuItem
{
Identifier = SID_PASTE ;
- HelpID = SID_PASTE ;
+ HelpID = CMD_SID_PASTE ;
Text [ en-US ] = "~Paste" ;
};
};
diff --git a/sfx2/source/menu/mnumgr.cxx b/sfx2/source/menu/mnumgr.cxx
index f987bf9908..35a3badd6a 100644..100755
--- a/sfx2/source/menu/mnumgr.cxx
+++ b/sfx2/source/menu/mnumgr.cxx
@@ -60,6 +60,7 @@
#include <osl/file.hxx>
#include <vcl/graph.hxx>
#include <svtools/filter.hxx>
+#include <svl/lngmisc.hxx>
#include <sfx2/mnumgr.hxx>
@@ -172,7 +173,6 @@ void InsertVerbs_Impl( SfxBindings* pBindings, const com::sun::star::uno::Sequen
// einf"ugen
pMenu->InsertItem( nId, aVerbs[n].VerbName );
- pMenu->SetHelpId( nId, (ULONG) nId );
}
}
}
@@ -244,7 +244,7 @@ PopupMenu* InsertThesaurusSubmenu_Impl( SfxBindings* pBindings, Menu* pSVMenu )
//! item ids should start with values > 0, since 0 has special meaning
const USHORT nId = i + 1;
- String aItemText( GetThesaurusReplaceText_Impl( aSynonyms[i] ) );
+ String aItemText( linguistic::GetThesaurusReplaceText( aSynonyms[i] ) );
pThesSubMenu->InsertItem( nId, aItemText );
::rtl::OUString aCmd( ::rtl::OUString::createFromAscii( ".uno:ThesaurusFromContext?WordReplace:string=" ) );
aCmd += aItemText;
@@ -484,10 +484,10 @@ void SfxPopupMenuManager::InsertSeparator( USHORT nPos )
//-------------------------------------------------------------------------
-void SfxPopupMenuManager::InsertItem( USHORT nId, const String& rName, MenuItemBits nBits, USHORT nPos )
+void SfxPopupMenuManager::InsertItem( USHORT nId, const String& rName, MenuItemBits nBits, const rtl::OString& rHelpId, USHORT nPos )
{
pSVMenu->InsertItem( nId, rName, nBits,nPos );
- pSVMenu->SetHelpId( nId, (ULONG) nId );
+ pSVMenu->SetHelpId( nId, rHelpId );
}
//-------------------------------------------------------------------------
@@ -578,6 +578,7 @@ SfxPopupMenuManager* SfxPopupMenuManager::Popup( const ResId& rResId, SfxViewFra
return 0;
}
+
void SfxPopupMenuManager::ExecutePopup( const ResId& rResId, SfxViewFrame* pFrame, const Point& rPoint, Window* pWindow )
{
PopupMenu *pSVMenu = new PopupMenu( rResId );
@@ -622,6 +623,12 @@ void SfxPopupMenuManager::ExecutePopup( const ResId& rResId, SfxViewFrame* pFram
SfxPopupMenuManager aPop( pSVMenu, pFrame->GetBindings() );
aPop.RemoveDisabledEntries();
aPop.Execute( rPoint, pWindow );
+
+ // #i112646 avoid crash when context menu is closed.
+ // the (manually inserted) sub-menu needs to be destroyed before
+ // aPop gets destroyed.
+ delete pThesSubMenu;
+ pThesSubMenu = 0;
}
delete pThesSubMenu;
@@ -631,3 +638,4 @@ Menu* SfxPopupMenuManager::GetSVMenu()
{
return (Menu*) GetMenu()->GetSVMenu();
}
+
diff --git a/sfx2/source/menu/thessubmenu.cxx b/sfx2/source/menu/thessubmenu.cxx
index a47e1b18a4..b153196cd5 100644..100755
--- a/sfx2/source/menu/thessubmenu.cxx
+++ b/sfx2/source/menu/thessubmenu.cxx
@@ -61,39 +61,6 @@ SFX_IMPL_MENU_CONTROL(SfxThesSubMenuControl, SfxStringItem);
////////////////////////////////////////////////////////////
-String GetThesaurusReplaceText_Impl( const ::rtl::OUString &rText )
-{
- // The strings returned by the thesaurus sometimes have some
- // explanation text put in between '(' and ')' or a trailing '*'.
- // These parts should not be put in the ReplaceEdit Text that may get
- // inserted into the document. Thus we strip them from the text.
-
- String aText( rText );
-
- xub_StrLen nPos = aText.Search( sal_Unicode('(') );
- while (STRING_NOTFOUND != nPos)
- {
- xub_StrLen nEnd = aText.Search( sal_Unicode(')'), nPos );
- if (STRING_NOTFOUND != nEnd)
- aText.Erase( nPos, nEnd-nPos+1 );
- else
- break;
- nPos = aText.Search( sal_Unicode('(') );
- }
-
- nPos = aText.Search( sal_Unicode('*') );
- if (STRING_NOTFOUND != nPos)
- aText.Erase( nPos );
-
- // remove any possible remaining ' ' that may confuse the thesaurus
- // when it gets called with the text
- aText.EraseLeadingAndTrailingChars( sal_Unicode(' ') );
-
- return aText;
-}
-
-////////////////////////////////////////////////////////////
-
/*
Ctor; setzt Select-Handler am Menu und traegt Menu
diff --git a/sfx2/source/menu/thessubmenu.hxx b/sfx2/source/menu/thessubmenu.hxx
index 13438a917a..ccc5ccde66 100644
--- a/sfx2/source/menu/thessubmenu.hxx
+++ b/sfx2/source/menu/thessubmenu.hxx
@@ -46,10 +46,6 @@ namespace css = ::com::sun::star;
////////////////////////////////////////////////////////////
-String GetThesaurusReplaceText_Impl( const ::rtl::OUString &rText );
-
-////////////////////////////////////////////////////////////
-
class SfxThesSubMenuControl : public SfxMenuControl
{
PopupMenu* pMenu;
diff --git a/sfx2/source/menu/virtmenu.cxx b/sfx2/source/menu/virtmenu.cxx
index 00bf32ae89..8876f3c0ef 100644
--- a/sfx2/source/menu/virtmenu.cxx
+++ b/sfx2/source/menu/virtmenu.cxx
@@ -340,7 +340,9 @@ void SfxVirtualMenu::CreateFromSVMenu()
DBG_CHKTHIS(SfxVirtualMenu, 0);
// Merge Addon popup menus into the SV Menu
- Reference< com::sun::star::frame::XFrame > xFrame( pBindings->GetDispatcher()->GetFrame()->GetFrame().GetFrameInterface() );
+ SfxViewFrame* pViewFrame = pBindings->GetDispatcher()->GetFrame();
+ SfxSlotPool* pSlotPool = pViewFrame->GetObjectShell()->GetModule()->GetSlotPool();
+ Reference< com::sun::star::frame::XFrame > xFrame( pViewFrame->GetFrame().GetFrameInterface() );
if ( pSVMenu->IsMenuBar() )
{
@@ -443,23 +445,14 @@ void SfxVirtualMenu::CreateFromSVMenu()
}
else
{
-/*
- if ( nSlotId >= SID_SFX_START && !SfxMenuManager::IsPopupFunction(nSlotId) )
+ const SfxSlot* pSlot = pSlotPool->GetSlot( nSlotId );
+ if ( pSlot )
{
- // Echte Popups sollen keine SlotIds haben; leider sind
- // da noch Altlasten mit herumzuschleppen ...
- String aTitle = pSVMenu->GetItemText( nSlotId );
- pSVMenu->SetPopupMenu( nSlotId, NULL );
- USHORT nPos = pSVMenu->GetItemPos( nSlotId );
- pSVMenu->RemoveItem( nPos );
- nSlotId = 1;
- while ( pSVMenu->GetItemPos(nSlotId) != MENU_ITEM_NOTFOUND )
- nSlotId++;
- pSVMenu->InsertItem( nSlotId, aTitle, 0, nPos );
- pSVMenu->SetPopupMenu( nSlotId, pPopup );
+ rtl::OString aCmd(".uno:");
+ aCmd += pSlot->GetUnoName();
+ pSVMenu->SetHelpId( nSlotId, pSlot->GetUnoName() );
}
-*/
- pSVMenu->SetHelpId( nSlotId, 0L );
+
pMnuCtrl = pItems+nPos;
// normalerweise jetzt erst im Activate-Handler
diff --git a/sfx2/source/statbar/stbitem.cxx b/sfx2/source/statbar/stbitem.cxx
index 9f5b6313ad..0c1591de16 100644
--- a/sfx2/source/statbar/stbitem.cxx
+++ b/sfx2/source/statbar/stbitem.cxx
@@ -132,7 +132,12 @@ svt::StatusbarController* SAL_CALL SfxStatusBarControllerFactory(
{
USHORT nSlotId = pSlot->GetSlotId();
if ( nSlotId > 0 )
+ {
+ rtl::OString aCmd(".uno:");
+ aCmd += pSlot->GetUnoName();
+ pStatusBar->SetHelpId( nSlotId, aCmd );
return SfxStatusBarControl::CreateControl( nSlotId, nID, pStatusBar, pModule );
+ }
}
return NULL;
diff --git a/sfx2/source/view/frame2.cxx b/sfx2/source/view/frame2.cxx
index 92dfcacbc3..24d53598af 100644
--- a/sfx2/source/view/frame2.cxx
+++ b/sfx2/source/view/frame2.cxx
@@ -127,15 +127,15 @@ long SfxFrameWindow_Impl::Notify( NotifyEvent& rNEvt )
// TODO/LATER: do we still need this code?
Window* pWindow = rNEvt.GetWindow();
- ULONG nHelpId = 0;
- while ( !nHelpId && pWindow )
+ rtl::OString sHelpId;
+ while ( !sHelpId.getLength() && pWindow )
{
- nHelpId = pWindow->GetHelpId();
+ sHelpId = pWindow->GetHelpId();
pWindow = pWindow->GetParent();
}
- if ( nHelpId )
- SfxHelp::OpenHelpAgent( pFrame, nHelpId );
+ if ( sHelpId.getLength() )
+ SfxHelp::OpenHelpAgent( pFrame, sHelpId );
// if focus was on an external window, the clipboard content might have been changed
pView->GetBindings().Invalidate( SID_PASTE );
@@ -280,10 +280,7 @@ SfxFrame* SfxFrame::Create( SfxObjectShell& rDoc, Window& rWindow, USHORT nViewI
aLoadArgs = aArgs.getPropertyValues();
// load the doc into that frame
- ::rtl::OUString sLoaderURL( rDoc.GetModel()->getURL() );
- if ( sLoaderURL.getLength() == 0 )
- sLoaderURL = rDoc.GetFactory().GetFactoryURL();
-
+ ::rtl::OUString sLoaderURL( RTL_CONSTASCII_USTRINGPARAM( "private:object" ) );
Reference< XComponentLoader > xLoader( xFrame, UNO_QUERY_THROW );
xLoader->loadComponentFromURL(
sLoaderURL,
diff --git a/sfx2/source/view/frmload.cxx b/sfx2/source/view/frmload.cxx
index ff5bc9a8de..06baeb744f 100644
--- a/sfx2/source/view/frmload.cxx
+++ b/sfx2/source/view/frmload.cxx
@@ -649,7 +649,7 @@ sal_Bool SAL_CALL SfxFrameLoader_Impl::load( const Sequence< PropertyValue >& rA
// ensure the ID of the to-be-created view is in the descriptor, if possible
const sal_Int16 nViewId = impl_determineEffectiveViewId_nothrow( *xDoc, aDescriptor );
const sal_Int16 nViewNo = xDoc->GetFactory().GetViewNo_Impl( nViewId, 0 );
- const ::rtl::OUString sViewName( xDoc->GetFactory().GetViewFactory( nViewNo ).GetViewName() );
+ const ::rtl::OUString sViewName( xDoc->GetFactory().GetViewFactory( nViewNo ).GetAPIViewName() );
// if the document is created hidden, prevent it from being deleted until it is shown or disposed
impl_lockHiddenDocument( *xDoc, aDescriptor );
diff --git a/sfx2/source/view/sfxbasecontroller.cxx b/sfx2/source/view/sfxbasecontroller.cxx
index 9423511a6e..81302c5bef 100644
--- a/sfx2/source/view/sfxbasecontroller.cxx
+++ b/sfx2/source/view/sfxbasecontroller.cxx
@@ -118,6 +118,7 @@ using namespace ::com::sun::star;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::RuntimeException;
using ::com::sun::star::uno::UNO_QUERY_THROW;
+using ::com::sun::star::uno::UNO_SET_THROW;
using ::com::sun::star::lang::DisposedException;
using ::com::sun::star::awt::XWindow;
using ::com::sun::star::frame::XController;
@@ -579,7 +580,7 @@ Reference< XWindow > SAL_CALL SfxBaseController::getComponentWindow() throw (Run
::rtl::OUString sViewName;
if ( nViewNo < rDocFac.GetViewFactoryCount() )
- sViewName = rDocFac.GetViewFactory( nViewNo ).GetViewName();
+ sViewName = rDocFac.GetViewFactory( nViewNo ).GetAPIViewName();
return sViewName;
}
@@ -1421,20 +1422,52 @@ void SfxBaseController::ConnectSfxFrame_Impl( const ConnectSfxFrame i_eConnect )
// if so, forward it to the view/shell.
if ( !bHasPluginMode && !bHasJumpMark )
{
+ // Note that this might not be the ideal place here. Restoring view data should, IMO, be the
+ // responsibility of the loader, not an implementation detail burried here deep within the controller's
+ // implementation.
+ // What I think should be done to replace the below code:
+ // - change SfxBaseController::restoreViewData to also accept a PropertyValue[] (it currently accepts
+ // a string only), and forward it to its ViewShell's ReadUserDataSequence
+ // - change the frame loader so that when a new document is loaded (as opposed to an existing
+ // document being loaded into a new frame), the model's view data is examine the very same
+ // way as below, and the proper view data is set via XController::restoreViewData
+ // - extend SfxViewFrame::SwitchToViewShell_Impl. Currently, it cares for the case where a non-PrintPreview
+ // view is exchanged, and sets the old view's data at the model. It should also care for the other
+ // way, were the PrintPreview view is left: in this case, the new view should also be initialized
+ // with the model's view data
try
{
- Reference< XViewDataSupplier > xViewDataSupplier( getModel(), UNO_QUERY );
- Reference< XIndexAccess > xViewData;
- if ( xViewDataSupplier.is() )
- xViewData = xViewDataSupplier->getViewData();
- if ( xViewData.is() && xViewData->getCount() > 0 )
+ Reference< XViewDataSupplier > xViewDataSupplier( getModel(), UNO_QUERY_THROW );
+ Reference< XIndexAccess > xViewData( xViewDataSupplier->getViewData(), UNO_SET_THROW );
+
+ // find the view data item whose ViewId matches the ID of the view we're just connecting to
+ const SfxObjectFactory& rDocFactory( rDoc.GetFactory() );
+ const sal_Int32 nCount = xViewData->getCount();
+ sal_Int32 nViewDataIndex = 0;
+ for ( sal_Int32 i=0; i<nCount; ++i )
{
- Sequence< PropertyValue > aViewData;
- if ( ( xViewData->getByIndex( 0 ) >>= aViewData ) && ( aViewData.getLength() ) )
+ const ::comphelper::NamedValueCollection aViewData( xViewData->getByIndex(i) );
+ ::rtl::OUString sViewId( aViewData.getOrDefault( "ViewId", ::rtl::OUString() ) );
+ if ( sViewId.getLength() == 0 )
+ continue;
+
+ const SfxViewFactory* pViewFactory = rDocFactory.GetViewFactoryByViewName( sViewId );
+ if ( pViewFactory == NULL )
+ continue;
+
+ if ( pViewFactory->GetOrdinal() == pViewFrame->GetCurViewId() )
{
- m_pData->m_pViewShell->ReadUserDataSequence( aViewData, TRUE );
+ nViewDataIndex = i;
+ break;
}
}
+ if ( nViewDataIndex < nCount )
+ {
+ Sequence< PropertyValue > aViewData;
+ OSL_VERIFY( xViewData->getByIndex( nViewDataIndex ) >>= aViewData );
+ if ( aViewData.getLength() > 0 )
+ m_pData->m_pViewShell->ReadUserDataSequence( aViewData, TRUE );
+ }
}
catch( const Exception& )
{
diff --git a/sfx2/source/view/userinputinterception.cxx b/sfx2/source/view/userinputinterception.cxx
index a710bb5bab..6fca09fb29 100644
--- a/sfx2/source/view/userinputinterception.cxx
+++ b/sfx2/source/view/userinputinterception.cxx
@@ -216,6 +216,13 @@ namespace sfx2
if ( e.Context == xHandler )
aIterator.remove();
}
+ catch( const RuntimeException& )
+ {
+ throw;
+ }
+ catch( const Exception& )
+ {
+ }
}
}
break;
@@ -247,6 +254,13 @@ namespace sfx2
if ( e.Context == xHandler )
aIterator.remove();
}
+ catch( const RuntimeException& )
+ {
+ throw;
+ }
+ catch( const Exception& )
+ {
+ }
}
}
break;
diff --git a/sfx2/source/view/viewfac.cxx b/sfx2/source/view/viewfac.cxx
index b47b027a47..3efdb8f9a3 100644
--- a/sfx2/source/view/viewfac.cxx
+++ b/sfx2/source/view/viewfac.cxx
@@ -49,7 +49,7 @@ void SfxViewFactory::InitFactory()
(*fnInit)();
}
-String SfxViewFactory::GetViewName() const
+String SfxViewFactory::GetLegacyViewName() const
{
::rtl::OUStringBuffer aViewName;
aViewName.appendAscii( "view" );
@@ -57,12 +57,33 @@ String SfxViewFactory::GetViewName() const
return aViewName.makeStringAndClear();
}
+String SfxViewFactory::GetAPIViewName() const
+{
+ if ( m_sViewName.Len() > 0 )
+ return m_sViewName;
+
+ if ( GetOrdinal() == 0 )
+ return String::CreateFromAscii( "Default" );
+
+ return GetLegacyViewName();
+}
+
// CTOR / DTOR -----------------------------------------------------------
+<<<<<<< local
SfxViewFactory::SfxViewFactory( SfxViewCtor fnC, SfxViewInit fnI, USHORT nOrdinal ):
+=======
+SfxViewFactory::SfxViewFactory( SfxViewCtor fnC, SfxViewInit fnI,
+ USHORT nOrdinal, const sal_Char* asciiViewName ):
+>>>>>>> other
fnCreate(fnC),
fnInit(fnI),
+<<<<<<< local
nOrd(nOrdinal)
+=======
+ nOrd(nOrdinal),
+ m_sViewName( String::CreateFromAscii( asciiViewName ) )
+>>>>>>> other
{
DBG_CTOR(SfxViewFactory, 0);
}
diff --git a/sfx2/source/view/viewfrm.cxx b/sfx2/source/view/viewfrm.cxx
index b02f775fce..00ca2617b8 100644
--- a/sfx2/source/view/viewfrm.cxx
+++ b/sfx2/source/view/viewfrm.cxx
@@ -69,6 +69,8 @@
#include <com/sun/star/uri/XVndSunStarScriptUrl.hpp>
#include <com/sun/star/embed/XStorage.hpp>
#include <com/sun/star/embed/EmbedStates.hpp>
+#include <com/sun/star/document/XViewDataSupplier.hpp>
+#include <com/sun/star/container/XIndexContainer.hpp>
#include <rtl/ustrbuf.hxx>
#include <unotools/localfilehelper.hxx>
@@ -90,8 +92,12 @@
#include <comphelper/storagehelper.hxx>
#include <svtools/asynclink.hxx>
#include <svl/sharecontrolfile.hxx>
+<<<<<<< local
#include <svtools/svtools.hrc>
#include <svtools/svtdata.hxx>
+=======
+#include <framework/framelistanalyzer.hxx>
+>>>>>>> other
#include <boost/optional.hpp>
@@ -102,6 +108,8 @@ using namespace ::com::sun::star::frame;
using namespace ::com::sun::star::lang;
using ::com::sun::star::awt::XWindow;
using ::com::sun::star::beans::PropertyValue;
+using ::com::sun::star::document::XViewDataSupplier;
+using ::com::sun::star::container::XIndexContainer;
namespace css = ::com::sun::star;
#ifndef GCC
@@ -809,6 +817,13 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
xNewObj->SetModifyPasswordEntered( sal_False );
xNewObj->SetReadOnly();
}
+ else if ( rReq.GetSlot() == SID_EDITDOC && bForEdit && !xNewObj->IsReadOnlyMedium() )
+ {
+ // the filter might request setting of the document to readonly state
+ // but in case of SID_EDITDOC it should not happen if the document
+ // can be opened for editing
+ xNewObj->SetReadOnlyUI( sal_False );
+ }
if ( xNewObj->IsDocShared() )
{
@@ -1168,10 +1183,6 @@ void SfxViewFrame::DoActivate( sal_Bool bUI, SfxViewFrame* pOldFrame )
DBG_CHKTHIS(SfxViewFrame, 0);
SFX_APP();
-#ifdef WIN
- pSfxApp->TestFreeResources_Impl();
-#endif
-
pDispatcher->DoActivate_Impl( bUI, pOldFrame );
// Wenn ich einen parent habe und dieser ist kein parent des alten
@@ -1236,9 +1247,6 @@ void SfxViewFrame::DoDeactivate(sal_Bool bUI, SfxViewFrame* pNewFrame )
pFrame = pFrame->GetParentViewFrame();
}
}
-#ifdef WIN
- pSfxApp->TestFreeResources_Impl();
-#endif
}
//------------------------------------------------------------------------
@@ -2081,7 +2089,25 @@ SfxViewFrame* SfxViewFrame::LoadViewIntoFrame_Impl_NoThrow( const SfxObjectShell
{
::comphelper::ComponentContext aContext( ::comphelper::getProcessServiceFactory() );
Reference < XFrame > xDesktop( aContext.createComponent( "com.sun.star.frame.Desktop" ), UNO_QUERY_THROW );
- xFrame.set( xDesktop->findFrame( DEFINE_CONST_UNICODE("_blank"), 0 ), UNO_SET_THROW );
+
+ if ( !i_bHidden )
+ {
+ try
+ {
+ // if there is a backing component, use it
+ Reference< XFramesSupplier > xTaskSupplier( xDesktop , css::uno::UNO_QUERY_THROW );
+ ::framework::FrameListAnalyzer aAnalyzer( xTaskSupplier, Reference< XFrame >(), ::framework::FrameListAnalyzer::E_BACKINGCOMPONENT );
+
+ if ( aAnalyzer.m_xBackingComponent.is() )
+ xFrame = aAnalyzer.m_xBackingComponent;
+ }
+ catch( uno::Exception& )
+ {}
+ }
+
+ if ( !xFrame.is() )
+ xFrame.set( xDesktop->findFrame( DEFINE_CONST_UNICODE("_blank"), 0 ), UNO_SET_THROW );
+
bOwnFrame = true;
}
@@ -2140,6 +2166,8 @@ SfxViewShell* SfxViewFrame::LoadViewIntoFrame_Impl( const SfxObjectShell& i_rDoc
aTransformLoadArgs.remove( "Hidden" );
::rtl::OUString sURL( RTL_CONSTASCII_USTRINGPARAM( "private:object" ) );
+ if ( !sURL.getLength() )
+ sURL = i_rDoc.GetFactory().GetFactoryURL();
Reference< XComponentLoader > xLoader( i_rFrame, UNO_QUERY_THROW );
xLoader->loadComponentFromURL( sURL, ::rtl::OUString::createFromAscii( "_self" ), 0,
@@ -2229,6 +2257,72 @@ SfxViewFrame* SfxViewFrame::Get( const Reference< XController>& i_rController, c
//--------------------------------------------------------------------
+void SfxViewFrame::SaveCurrentViewData_Impl( const USHORT i_nNewViewId )
+{
+ SfxViewShell* pCurrentShell = GetViewShell();
+ ENSURE_OR_RETURN_VOID( pCurrentShell != NULL, "SfxViewFrame::SaveCurrentViewData_Impl: no current view shell -> no current view data!" );
+
+ // determine the logical (API) view name
+ const SfxObjectFactory& rDocFactory( pCurrentShell->GetObjectShell()->GetFactory() );
+ const sal_uInt16 nCurViewNo = rDocFactory.GetViewNo_Impl( GetCurViewId(), 0 );
+ const String sCurrentViewName = rDocFactory.GetViewFactory( nCurViewNo ).GetAPIViewName();
+ const sal_uInt16 nNewViewNo = rDocFactory.GetViewNo_Impl( i_nNewViewId, 0 );
+ const String sNewViewName = rDocFactory.GetViewFactory( nNewViewNo ).GetAPIViewName();
+ if ( ( sCurrentViewName.Len() == 0 ) || ( sNewViewName.Len() == 0 ) )
+ {
+ // can't say anything about the view, the respective application did not yet migrate its code to
+ // named view factories => bail out
+ OSL_ENSURE( false, "SfxViewFrame::SaveCurrentViewData_Impl: views without API names? Shouldn't happen anymore?" );
+ return;
+ }
+ OSL_ENSURE( !sNewViewName.Equals( sCurrentViewName ), "SfxViewFrame::SaveCurrentViewData_Impl: suspicious: new and old view name are identical!" );
+
+ // save the view data only when we're moving from a non-print-preview to the print-preview view
+ if ( !sNewViewName.EqualsAscii( "PrintPreview" ) )
+ return;
+
+ // retrieve the view data from the view
+ Sequence< PropertyValue > aViewData;
+ pCurrentShell->WriteUserDataSequence( aViewData );
+
+ try
+ {
+ // retrieve view data (for *all* views) from the model
+ const Reference< XController > xController( pCurrentShell->GetController(), UNO_SET_THROW );
+ const Reference< XViewDataSupplier > xViewDataSupplier( xController->getModel(), UNO_QUERY_THROW );
+ const Reference< XIndexContainer > xViewData( xViewDataSupplier->getViewData(), UNO_QUERY_THROW );
+
+ // look up the one view data item which corresponds to our current view, and remove it
+ const sal_Int32 nCount = xViewData->getCount();
+ for ( sal_Int32 i=0; i<nCount; ++i )
+ {
+ const ::comphelper::NamedValueCollection aCurViewData( xViewData->getByIndex(i) );
+ ::rtl::OUString sViewId( aCurViewData.getOrDefault( "ViewId", ::rtl::OUString() ) );
+ if ( sViewId.getLength() == 0 )
+ continue;
+
+ const SfxViewFactory* pViewFactory = rDocFactory.GetViewFactoryByViewName( sViewId );
+ if ( pViewFactory == NULL )
+ continue;
+
+ if ( pViewFactory->GetOrdinal() == GetCurViewId() )
+ {
+ xViewData->removeByIndex(i);
+ break;
+ }
+ }
+
+ // then replace it with the most recent view data we just obtained
+ xViewData->insertByIndex( 0, makeAny( aViewData ) );
+ }
+ catch( const Exception& )
+ {
+ DBG_UNHANDLED_EXCEPTION();
+ }
+}
+
+//--------------------------------------------------------------------
+
sal_Bool SfxViewFrame::SwitchToViewShell_Impl
(
sal_uInt16 nViewIdOrNo, /* > 0
@@ -2291,6 +2385,9 @@ sal_Bool SfxViewFrame::SwitchToViewShell_Impl
SfxObjectFactory& rDocFact = GetObjectShell()->GetFactory();
const USHORT nViewId = ( bIsIndex || !nViewIdOrNo ) ? rDocFact.GetViewFactory( nViewIdOrNo ).GetOrdinal() : nViewIdOrNo;
+ // save the view data of the old view, so it can be restored later on (when needed)
+ SaveCurrentViewData_Impl( nViewId );
+
// create and load new ViewShell
SfxViewShell* pNewSh = LoadViewIntoFrame_Impl(
*GetObjectShell(),
diff --git a/sfx2/source/view/viewimp.hxx b/sfx2/source/view/viewimp.hxx
index 1f7607ac0b..24dc647130 100644
--- a/sfx2/source/view/viewimp.hxx
+++ b/sfx2/source/view/viewimp.hxx
@@ -75,8 +75,8 @@ struct SfxViewShell_Impl
::svt::AcceleratorExecute* pAccExec;
com::sun::star::uno::Sequence < com::sun::star::beans::PropertyValue > aPrintOpts;
::rtl::Reference< SfxClipboardChangeListener > xClipboardListener;
- vcl::PrinterController* pPrinterController;
-
+ ::boost::shared_ptr< vcl::PrinterController > m_pPrinterController;
+
SfxViewShell_Impl();
};
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index 1a38fa34fc..8afa50e1e9 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -332,7 +332,9 @@ void SfxPrinterController::jobFinished( com::sun::star::view::PrintableState nSt
mpObjectShell->EnableSetModified( m_bOrigStatus );
if ( mpViewShell )
- mpViewShell->pImp->pPrinterController = 0;
+ {
+ mpViewShell->pImp->m_pPrinterController.reset();
+ }
}
}
@@ -643,8 +645,8 @@ void SfxViewShell::ExecPrint( const uno::Sequence < beans::PropertyValue >& rPro
this,
rProps
) );
- pImp->pPrinterController = pController.get();
-
+ pImp->m_pPrinterController = pController;
+
SfxObjectShell *pObjShell = GetObjectShell();
pController->setValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "JobName" ) ),
makeAny( rtl::OUString( pObjShell->GetTitle(0) ) ) );
@@ -661,7 +663,8 @@ void SfxViewShell::ExecPrint( const uno::Sequence < beans::PropertyValue >& rPro
Printer* SfxViewShell::GetActivePrinter() const
{
- return pImp->pPrinterController ? pImp->pPrinterController->getPrinter().get() : 0;
+ return (pImp->m_pPrinterController)
+ ? pImp->m_pPrinterController->getPrinter().get() : 0;
}
void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq )
@@ -697,6 +700,14 @@ void SfxViewShell::ExecPrint_Impl( SfxRequest &rReq )
case SID_PRINTDOCDIRECT:
{
SfxObjectShell* pDoc = GetObjectShell();
+
+ // derived class may decide to abort this
+ if( !pDoc->QuerySlotExecutable( nId ) )
+ {
+ rReq.SetReturnValue( SfxBoolItem( 0, FALSE ) );
+ return;
+ }
+
bool bDetectHidden = ( !bSilent && pDoc );
if ( bDetectHidden && pDoc->QueryHiddenInformation( WhenPrinting, NULL ) != RET_YES )
break;