forked from amazingfate/loongoffice
Attempt to clean up most but certainly not all the spelling mistakes that found home in OpenOffice through decades. We could probably blame the international nature of the code but it is somewhat shameful that this wasn't done before. (cherry picked from commit 28206a7cb43aff5adb10f8235ad1680c3941ee3e) Conflicts: include/osl/file.hxx include/osl/pipe_decl.hxx include/osl/socket.h include/osl/socket_decl.hxx include/sal/main.h include/svx/dbaexchange.hxx include/svx/dlgctrl.hxx include/svx/msdffdef.hxx include/svx/sdr/contact/objectcontactofpageview.hxx include/svx/svdpntv.hxx include/ucbhelper/content.hxx include/ucbhelper/interceptedinteraction.hxx include/ucbhelper/resultsethelper.hxx include/unotools/sharedunocomponent.hxx include/unotools/viewoptions.hxx include/vcl/pdfwriter.hxx include/xmloff/txtparae.hxx include/xmloff/uniref.hxx rhino/rhino1_7R3.patch rsc/inc/rscrsc.hxx sal/inc/osl/conditn.h sal/inc/osl/security.h sal/inc/osl/semaphor.h sal/inc/osl/semaphor.hxx sal/inc/rtl/string.hxx sal/inc/rtl/tres.h sal/inc/systools/win32/StrConvert.h sal/osl/os2/file_path_helper.h sal/osl/os2/file_path_helper.hxx sal/osl/os2/file_url.cxx sal/osl/os2/file_url.h sal/osl/os2/makefile.mk sal/osl/os2/pipe.cxx sal/osl/os2/process.c sal/osl/os2/profile.c sal/osl/os2/socket.c sal/osl/os2/system.h sal/osl/unx/asm/interlck_sparc.s sal/osl/unx/file_url.cxx sal/osl/unx/signal.c sal/osl/unx/system.h sal/osl/w32/MAKEFILE.MK sal/osl/w32/interlck.c sal/osl/w32/module.cxx sal/osl/w32/security.c sal/qa/buildall.pl sal/qa/osl/file/osl_File.cxx sal/qa/osl/module/osl_Module_Const.h sal/qa/osl/mutex/osl_Mutex.cxx sal/qa/osl/pipe/osl_Pipe.cxx sal/qa/osl/process/osl_Thread.cxx sal/qa/osl/socket/osl_StreamSocket.cxx sal/qa/osl/socket/sockethelper.cxx sal/qa/rtl_strings/rtl_OUString.cxx sal/rtl/source/unload.cxx sal/systools/win32/kill/kill.cxx sal/systools/win32/uwinapi/MoveFileExA.cpp sal/test/bootstrap.pl sal/typesconfig/typesconfig.c sal/workben/tgetpwnam.cxx sax/inc/sax/parser/saxparser.hxx sc/addin/datefunc/dfa.cl sc/addin/datefunc/dfa.src sc/addin/rot13/rot13.cl sc/addin/rot13/rot13.src sc/inc/attarray.hxx sc/inc/chgtrack.hxx sc/inc/column.hxx sc/inc/compressedarray.hxx sc/inc/document.hxx sc/inc/table.hxx sc/source/core/data/column.cxx sc/source/core/data/dptablecache.cxx sc/source/core/data/dptabres.cxx sc/source/core/data/dptabsrc.cxx sc/source/core/data/global.cxx sc/source/core/tool/chgtrack.cxx sc/source/core/tool/compiler.cxx sc/source/filter/excel/xestyle.cxx sc/source/filter/excel/xichart.cxx sc/source/filter/inc/fapihelper.hxx sc/source/filter/inc/xistyle.hxx sc/source/filter/xml/xmlsubti.cxx sc/source/ui/Accessibility/AccessibleCell.cxx sc/source/ui/Accessibility/AccessibleContextBase.cxx sc/source/ui/Accessibility/AccessibleDataPilotControl.cxx sc/source/ui/Accessibility/AccessibleDocumentPagePreview.cxx sc/source/ui/Accessibility/AccessibleEditObject.cxx sc/source/ui/Accessibility/AccessiblePreviewCell.cxx sc/source/ui/app/inputwin.cxx sc/source/ui/docshell/docfunc.cxx sc/source/ui/drawfunc/fupoor.cxx sc/source/ui/miscdlgs/linkarea.cxx sc/source/ui/unoobj/chart2uno.cxx sc/source/ui/unoobj/nameuno.cxx sc/source/ui/vba/vbacharacters.hxx sc/source/ui/vba/vbarange.cxx sc/source/ui/vba/vbawindow.cxx scaddins/source/analysis/analysishelper.cxx scaddins/source/analysis/analysishelper.hxx scaddins/source/datefunc/datefunc.cxx scripting/examples/python/Capitalise.py scripting/source/pyprov/officehelper.py sd/source/filter/eppt/eppt.cxx sd/source/filter/eppt/epptso.cxx sd/source/ui/dlg/prltempl.cxx sd/source/ui/dlg/tpoption.cxx sd/source/ui/func/fuediglu.cxx sd/source/ui/func/fupoor.cxx sd/source/ui/func/fusel.cxx sd/source/ui/func/smarttag.cxx sd/source/ui/inc/OutlinerIteratorImpl.hxx sd/source/ui/inc/SlideViewShell.hxx sd/source/ui/inc/fuediglu.hxx sd/source/ui/inc/fusel.hxx sd/source/ui/slideshow/slideshowimpl.cxx sd/source/ui/slidesorter/cache/SlsQueueProcessorThread.hxx sd/source/ui/slidesorter/controller/SlsHideSlideFunction.cxx sd/source/ui/slidesorter/controller/SlsSelectionCommand.hxx sd/source/ui/slidesorter/inc/controller/SlsAnimationFunction.hxx sd/source/ui/slidesorter/view/SlsButtonBar.cxx sd/source/ui/view/Outliner.cxx sd/source/ui/view/drviewsh.cxx sd/source/ui/view/frmview.cxx sdext/source/presenter/PresenterFrameworkObserver.hxx sdext/source/presenter/PresenterSlideShowView.cxx setup_native/scripts/deregister_extensions setup_native/scripts/register_extensions setup_native/source/opensolaris/bundledextensions/README setup_native/source/opensolaris/bundledextensions/svc-ooo_bundled_extensions setup_native/source/win32/customactions/patch/swappatchfiles.cxx setup_native/source/win32/customactions/reg4msdoc/registrar.cxx setup_native/source/win32/customactions/reg4msdoc/userregistrar.cxx sfx2/inc/sfx2/sfxbasemodel.hxx sfx2/qa/complex/sfx2/DocumentProperties.java sfx2/source/appl/appopen.cxx sfx2/source/appl/appquit.cxx sfx2/source/appl/appserv.cxx sfx2/source/bastyp/sfxhtml.cxx sfx2/source/dialog/dockwin.cxx sfx2/source/doc/docfile.cxx sfx2/source/doc/docvor.cxx sfx2/source/doc/graphhelp.cxx sfx2/source/doc/objcont.cxx sfx2/source/doc/objserv.cxx sfx2/source/doc/objstor.cxx sfx2/source/doc/objuno.cxx sfx2/source/doc/objxtor.cxx sfx2/source/doc/printhelper.cxx sfx2/source/doc/sfxbasemodel.cxx sfx2/source/notify/eventsupplier.cxx sfx2/source/view/frmload.cxx sfx2/source/view/sfxbasecontroller.cxx shell/qa/zip/ziptest.cxx shell/source/backends/wininetbe/wininetbackend.cxx shell/source/win32/shlxthandler/util/utilities.cxx solenv/bin/build.pl solenv/bin/build_release.pl solenv/bin/cws.pl solenv/bin/download_external_dependencies.pl solenv/bin/make_download.pl solenv/bin/make_installer.pl solenv/bin/modules/Cws.pm solenv/bin/modules/ExtensionsLst.pm solenv/bin/modules/installer/control.pm solenv/bin/modules/installer/downloadsigner.pm solenv/bin/modules/installer/javainstaller.pm solenv/bin/modules/installer/packagepool.pm solenv/bin/modules/installer/patch/InstallationSet.pm solenv/bin/modules/installer/scriptitems.pm solenv/bin/modules/installer/windows/feature.pm solenv/bin/modules/installer/windows/msiglobal.pm solenv/bin/modules/installer/windows/sign.pm solenv/bin/modules/installer/worker.pm solenv/bin/modules/installer/xpdinstaller.pm solenv/bin/modules/osarch.pm solenv/bin/modules/packager/work.pm solenv/bin/modules/pre2par/parameter.pm solenv/bin/patch_tool.pl solenv/bin/transform_description.pl solenv/doc/gbuild/doxygen.cfg solenv/gbuild/LinkTarget.mk solenv/gbuild/gbuild.mk solenv/inc/os2gcci.mk solenv/inc/settings.mk solenv/inc/startup/Readme solenv/inc/target.mk solenv/inc/tg_compv.mk solenv/inc/tg_javav.mk solenv/inc/unitools.mk solenv/inc/unxbsdi.mk solenv/inc/unxbsdi2.mk solenv/inc/unxbsds.mk solenv/inc/unxfbsd.mk solenv/inc/unxlng.mk sot/source/sdstor/stg.cxx sot/source/sdstor/stgelem.cxx sot/source/sdstor/ucbstorage.cxx starmath/inc/toolbox.hxx starmath/source/mathmlexport.cxx starmath/source/node.cxx starmath/source/toolbox.cxx starmath/source/view.cxx stoc/source/bootstrap/bootstrap.xml stoc/source/corereflection/criface.cxx stoc/source/invocation/invocation.cxx stoc/source/security/access_controller.cxx stoc/source/servicemanager/servicemanager.cxx stoc/source/tdmanager/tdmgr.cxx stoc/test/javavm/testjavavm.cxx stoc/test/testconv.cxx stoc/test/testcorefl.cxx stoc/test/testintrosp.cxx svl/inc/svl/inettype.hxx svl/inc/svl/urihelper.hxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.cxx svl/qa/complex/ConfigItems/helper/HistoryOptTest.hxx svl/source/config/itemholder2.hxx svl/source/items/itemset.cxx svl/source/numbers/zforlist.cxx svl/source/numbers/zformat.cxx svl/source/numbers/zforscan.cxx svtools/bmpmaker/bmp.cxx svtools/inc/svtools/helpagentwindow.hxx svtools/inc/svtools/menuoptions.hxx svtools/inc/svtools/miscopt.hxx svtools/inc/svtools/optionsdrawinglayer.hxx svtools/inc/svtools/stringtransfer.hxx svtools/inc/svtools/svlbitm.hxx svtools/inc/svtools/svtdata.hxx svtools/inc/svtools/valueset.hxx svtools/source/brwbox/editbrowsebox.cxx svtools/source/config/itemholder2.hxx svtools/source/contnr/contentenumeration.hxx svx/inc/svx/fmsrcimp.hxx svx/inc/svx/svdobj.hxx svx/inc/svx/xtable.hxx svx/source/accessibility/DGColorNameLookUp.cxx svx/source/accessibility/svxrectctaccessiblecontext.cxx svx/source/dialog/pfiledlg.cxx svx/source/fmcomp/fmgridcl.cxx svx/source/fmcomp/fmgridif.cxx svx/source/fmcomp/gridctrl.cxx svx/source/form/filtnav.cxx svx/source/form/fmPropBrw.cxx svx/source/form/fmshimp.cxx svx/source/form/fmsrcimp.cxx svx/source/gallery2/galtheme.cxx svx/source/inc/docrecovery.hxx svx/source/sdr/event/eventhandler.cxx svx/source/svdraw/svdedtv2.cxx svx/source/svdraw/svdedxv.cxx svx/source/svdraw/svdhdl.cxx svx/source/svdraw/svdobj.cxx svx/source/svdraw/svdograf.cxx svx/source/svdraw/svdoole2.cxx svx/source/svdraw/svdotxtr.cxx svx/source/svdraw/svdundo.cxx svx/source/svdraw/svdxcgv.cxx svx/source/unodialogs/textconversiondlgs/chinese_translationdialog.cxx sw/inc/SwNumberTree.hxx sw/inc/ndnotxt.hxx sw/source/core/access/acccell.cxx sw/source/core/access/acccell.hxx sw/source/core/access/accframebase.cxx sw/source/core/access/accframebase.hxx sw/source/core/access/accmap.cxx sw/source/core/access/accpage.cxx sw/source/core/access/accpage.hxx sw/source/core/access/accpara.cxx sw/source/core/access/accpara.hxx sw/source/core/bastyp/swrect.cxx sw/source/core/crsr/findtxt.cxx sw/source/core/doc/docdde.cxx sw/source/core/doc/notxtfrm.cxx sw/source/core/docnode/section.cxx sw/source/core/draw/dcontact.cxx sw/source/core/edit/edlingu.cxx sw/source/core/inc/anchoredobjectposition.hxx sw/source/core/layout/paintfrm.cxx sw/source/core/layout/tabfrm.cxx sw/source/core/layout/trvlfrm.cxx sw/source/core/ole/ndole.cxx sw/source/core/text/atrstck.cxx sw/source/core/text/inftxt.cxx sw/source/core/text/itratr.cxx sw/source/core/text/itrform2.cxx sw/source/core/text/itrform2.hxx sw/source/core/text/porfld.cxx sw/source/core/text/txtfly.cxx sw/source/core/txtnode/thints.cxx sw/source/core/txtnode/txtedt.cxx sw/source/core/uibase/dochdl/swdtflvr.cxx sw/source/core/uibase/docvw/PostItMgr.cxx sw/source/core/uibase/docvw/SidebarWin.cxx sw/source/core/uibase/docvw/edtwin.cxx sw/source/core/uibase/envelp/labimg.cxx sw/source/core/uibase/uiview/pview.cxx sw/source/core/uibase/uno/unomailmerge.cxx sw/source/core/undo/unattr.cxx sw/source/core/undo/untbl.cxx sw/source/core/unocore/unochart.cxx sw/source/core/view/vdraw.cxx sw/source/core/view/vnew.cxx sw/source/filter/basflt/fltini.cxx sw/source/filter/html/wrthtml.cxx sw/source/filter/inc/wwstyles.hxx sw/source/filter/rtf/rtffly.cxx sw/source/filter/rtf/swparrtf.cxx sw/source/filter/ww8/docxattributeoutput.cxx sw/source/filter/ww8/dump/msvbasic.cxx sw/source/filter/ww8/dump/ww8scan.cxx sw/source/filter/ww8/dump/ww8scan.hxx sw/source/filter/ww8/dump/ww8struc.hxx sw/source/filter/ww8/wrtww8.cxx sw/source/filter/ww8/ww8graf.cxx sw/source/filter/ww8/ww8par.cxx sw/source/filter/ww8/ww8par2.cxx sw/source/filter/ww8/ww8par2.hxx sw/source/filter/ww8/ww8par3.cxx sw/source/filter/ww8/ww8par6.cxx sw/source/filter/ww8/ww8scan.cxx sw/source/filter/ww8/ww8scan.hxx sw/source/ui/dbui/dbinsdlg.cxx sw/source/ui/inc/tablemgr.hxx sw/source/ui/inc/uitool.hxx sw/source/ui/lingu/olmenu.cxx sw/source/ui/uiview/viewport.cxx sysui/desktop/productversion.mk sysui/desktop/slackware/makefile.mk testgraphical/source/CallExternals.pm testgraphical/source/fill_documents_loop.pl testgraphical/ui/java/ConvwatchGUIProject/src/IniFile.java toolkit/doc/layout/notes.txt toolkit/doc/layout/oldnotes.txt toolkit/source/awt/vclxtabcontrol.cxx toolkit/src2xml/source/srcparser.py toolkit/workben/layout/editor.cxx tools/inc/tools/simplerm.hxx tools/inc/tools/solar.h tools/source/communi/geninfo.cxx tools/source/fsys/dirent.cxx tools/source/fsys/filecopy.cxx tools/source/fsys/os2.cxx tools/source/inet/inetmime.cxx tools/source/rc/resmgr.cxx ucb/source/core/ucbcmds.cxx ucb/source/ucp/file/filglob.cxx ucb/source/ucp/odma/odma_content.cxx ucb/source/ucp/tdoc/ucptdoc.xml ucb/source/ucp/webdav/makefile.mk ucbhelper/inc/ucbhelper/simplecertificatevalidationrequest.hxx ucbhelper/source/client/content.cxx ucbhelper/source/client/interceptedinteraction.cxx udkapi/com/sun/star/beans/XPropertiesChangeListener.idl udkapi/com/sun/star/io/ObjectOutputStream.idl udkapi/com/sun/star/io/XMarkableStream.idl udkapi/com/sun/star/io/XTextOutputStream.idl udkapi/com/sun/star/reflection/CoreReflection.idl udkapi/com/sun/star/reflection/XTypeDescriptionEnumerationAccess.idl udkapi/com/sun/star/test/XSimpleTest.idl unodevtools/source/skeletonmaker/skeletoncommon.cxx unodevtools/source/skeletonmaker/skeletoncommon.hxx unotools/inc/unotools/cacheoptions.hxx unotools/inc/unotools/cmdoptions.hxx unotools/inc/unotools/dynamicmenuoptions.hxx unotools/inc/unotools/extendedsecurityoptions.hxx unotools/inc/unotools/fontoptions.hxx unotools/inc/unotools/historyoptions.hxx unotools/inc/unotools/idhelper.hxx unotools/inc/unotools/internaloptions.hxx unotools/inc/unotools/localisationoptions.hxx unotools/inc/unotools/moduleoptions.hxx unotools/inc/unotools/printwarningoptions.hxx unotools/inc/unotools/securityoptions.hxx unotools/inc/unotools/startoptions.hxx unotools/inc/unotools/workingsetoptions.hxx unotools/source/config/cmdoptions.cxx unotools/source/config/compatibility.cxx unotools/source/config/configitem.cxx unotools/source/config/configmgr.cxx unotools/source/config/dynamicmenuoptions.cxx unotools/source/config/fontcfg.cxx unotools/source/config/itemholder1.hxx unotools/source/config/moduleoptions.cxx unotools/source/config/pathoptions.cxx unotools/source/config/viewoptions.cxx unotools/source/misc/sharedunocomponent.cxx uui/source/fltdlg.cxx uui/source/iahndl-filter.cxx vbahelper/inc/vbahelper/collectionbase.hxx vbahelper/source/msforms/vbacontrol.cxx vbahelper/source/vbahelper/collectionbase.cxx vcl/aqua/source/gdi/atsfonts.cxx vcl/inc/aqua/salmathutils.hxx vcl/inc/graphite_cache.hxx vcl/inc/jobset.h vcl/inc/os2/salgdi.h vcl/inc/osx/saldata.hxx vcl/inc/salgdi.hxx vcl/inc/salwtype.hxx vcl/inc/unx/wmadaptor.hxx vcl/inc/vcl/print.hxx vcl/inc/vcl/strhelper.hxx vcl/os2/source/app/salinst.cxx vcl/os2/source/app/saltimer.cxx vcl/os2/source/gdi/salgdi2.cxx vcl/osx/salframeview.mm vcl/osx/salprn.cxx vcl/qa/cppunit/dndtest.cxx vcl/source/app/dbggui.cxx vcl/source/control/ilstbox.cxx vcl/source/gdi/cvtsvm.cxx vcl/source/gdi/gdimtf.cxx vcl/source/gdi/outdev4.cxx vcl/source/gdi/outdev6.cxx vcl/source/gdi/pdfwriter_impl.cxx vcl/source/gdi/pdfwriter_impl2.cxx vcl/source/gdi/print.cxx vcl/source/gdi/print2.cxx vcl/source/glyphs/gcach_layout.cxx vcl/source/glyphs/glyphcache.cxx vcl/source/glyphs/graphite_layout.cxx vcl/source/window/printdlg.cxx vcl/source/window/tabdlg.cxx vcl/source/window/window.cxx vcl/source/window/winproc.cxx vcl/unx/generic/app/saldisp.cxx vcl/unx/generic/dtrans/X11_selection.hxx vcl/unx/gtk/app/gtkdata.cxx vcl/win/source/gdi/salgdi2.cxx vcl/win/source/gdi/salgdi3.cxx vcl/win/source/window/salframe.cxx vos/inc/vos/pipe.hxx vos/inc/vos/process.hxx vos/inc/vos/signal.hxx vos/inc/vos/socket.hxx vos/inc/vos/thread.hxx vos/source/pipe.cxx vos/source/socket.cxx wizards/com/sun/star/wizards/agenda/AgendaTemplate.java wizards/com/sun/star/wizards/agenda/AgendaWizardDialogImpl.java wizards/com/sun/star/wizards/agenda/TopicsControl.java wizards/com/sun/star/wizards/web/FTPDialog.java wizards/com/sun/star/wizards/web/ImageListDialog.java wizards/com/sun/star/wizards/web/Process.java wizards/com/sun/star/wizards/web/ProcessStatusRenderer.java wizards/com/sun/star/wizards/web/TOCPreview.java wizards/com/sun/star/wizards/web/WWD_Startup.java wizards/com/sun/star/wizards/web/data/TypeDetection.java wizards/com/sun/star/wizards/web/export/ImpressHTMLExporter.java writerfilter/inc/doctok/WW8Document.hxx writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/dmapper/NumberingManager.cxx writerfilter/source/dmapper/PropertyMap.cxx writerfilter/source/dmapper/StyleSheetTable.cxx writerfilter/source/doctok/WW8StructBase.hxx writerfilter/source/doctok/resources.xmi writerfilter/source/ooxml/README.efforts xmerge/source/activesync/XMergeFilter.cpp xmerge/source/minicalc/java/org/openoffice/xmerge/converter/xml/sxc/minicalc/SxcDocumentDeserializerImpl.java xmerge/source/palmtests/qa/comparator/pdbcomparison.java xmerge/source/palmtests/qa/test_spec/convertor_test_spec.html xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/DefinedName.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Workbook.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/Worksheet.java xmerge/source/pexcel/java/org/openoffice/xmerge/converter/xml/sxc/pexcel/records/formula/SymbolLookup.java xmerge/source/pocketword/java/org/openoffice/xmerge/converter/xml/sxw/pocketword/DocumentDescriptor.java xmerge/workben/jstyle.pl xmlhelp/source/cxxhelp/provider/databases.hxx xmlhelp/source/cxxhelp/provider/provider.cxx xmlhelp/source/treeview/tvread.cxx xmloff/inc/txtfldi.hxx xmloff/inc/xmloff/xmlmultiimagehelper.hxx xmloff/inc/xmloff/xmluconv.hxx xmloff/source/core/xmlexp.cxx xmloff/source/draw/shapeexport2.cxx xmloff/source/draw/shapeexport3.cxx xmloff/source/meta/xmlversion.cxx xmloff/source/style/impastp4.cxx xmloff/source/style/xmlaustp.cxx xmloff/source/text/XMLSectionExport.cxx xmloff/source/text/txtflde.cxx xmloff/source/text/txtimp.cxx xmloff/source/text/txtparae.cxx xmloff/source/text/txtparai.cxx xmloff/source/text/txtvfldi.cxx xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx Change-Id: Ie072e7c3a60c5dae16a67ac36d1f372c5065c99c
329 lines
14 KiB
C++
329 lines
14 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
*/
|
|
|
|
#ifndef INCLUDED_SFX2_DOCMACROMODE_HXX
|
|
#define INCLUDED_SFX2_DOCMACROMODE_HXX
|
|
|
|
#include <sfx2/dllapi.h>
|
|
|
|
#include <com/sun/star/task/XInteractionHandler.hpp>
|
|
#include <com/sun/star/embed/XStorage.hpp>
|
|
#include <com/sun/star/script/XLibraryContainer.hpp>
|
|
#include <com/sun/star/document/XEmbeddedScripts.hpp>
|
|
|
|
#include <boost/shared_ptr.hpp>
|
|
|
|
|
|
namespace sfx2
|
|
{
|
|
|
|
|
|
|
|
//= IMacroDocumentAccess
|
|
|
|
/** provides access to several settings of a document, which are needed by ->DocumentMacroMode
|
|
to properly determine the current macro execution mode of this document
|
|
*/
|
|
class SAL_NO_VTABLE IMacroDocumentAccess
|
|
{
|
|
public:
|
|
/** retrieves the current MacroExecutionMode.
|
|
|
|
Usually, this is initialized from the media descriptor used to load the document,
|
|
respectively the one passed into the document's XModel::attachResource call.
|
|
|
|
If no such mode was passed there, document implementations should return
|
|
MacroExecMode::NEVER_EXECUTE.
|
|
|
|
@see ::com::sun::star::document::MediaDescriptor::MacroExecutionMode
|
|
@see ::com::sun::star::frame::XComponentLoader::loadComponentFromURL
|
|
@see ::com::sun::star::frame::XModel::attachResource
|
|
|
|
@see setCurrentMacroExecMode
|
|
|
|
@todo
|
|
Effectively, this is the MacroExecutionMode of the MediaDescriptor of
|
|
the document. Thus, this setting could be obtained from the XModel
|
|
directly. We should introduce a getDocumentModel method here, which
|
|
can be used for this and other purposes.
|
|
*/
|
|
virtual sal_Int16
|
|
getCurrentMacroExecMode() const = 0;
|
|
|
|
/** sets the MacroExecutionMode of the document, as calculated by the DocumentMacroMode
|
|
class.
|
|
|
|
Effectively, the existence of this method means that the responsibility
|
|
to store the current macro execution mode is not with the DocumentMacroMode
|
|
instance, but with the document instance itself.
|
|
|
|
Usually, a document implementation will simply put the macro execution mode
|
|
into its media descriptor, as returned by XModel::getArgs.
|
|
|
|
@see ::com::sun::star::document::MediaDescriptor::MacroExecutionMode
|
|
@see ::com::sun::star::frame::XComponentLoader::loadComponentFromURL
|
|
@see ::com::sun::star::frame::XModel::attachResource
|
|
|
|
see getCurrentMacroExecMode
|
|
*/
|
|
virtual bool
|
|
setCurrentMacroExecMode( sal_uInt16 ) = 0;
|
|
|
|
/** returns the origin of the document
|
|
|
|
This usually is the document's location, or, if the document has been
|
|
newly created from a template, then the location of the template. Location
|
|
here means the complete path of the document, including the file name.
|
|
|
|
@todo
|
|
This probably can also be obtained from the XModel, by calling getURL
|
|
or getLocation. If both are empty, then we need an UNO way to obtain
|
|
the URL of the underlying template document - if any. If we have this,
|
|
we could replace this method with a newly introduced method
|
|
getDocumentModel and some internal code.
|
|
*/
|
|
virtual OUString
|
|
getDocumentLocation() const = 0;
|
|
|
|
/** returns a zip-storage based on the last committed version of the document,
|
|
for readonly access
|
|
|
|
The storage is intended to be used for signing. An implementation is
|
|
allowed to return <NULL/> here if and only if the document
|
|
does not support signing the script storages.
|
|
|
|
@todo
|
|
UNOize this, too. Once we have a getDocumentModel, we should be able to
|
|
obtain the "last commit" storage via UNO API, provided it's an
|
|
XStorageBasedDocument.
|
|
*/
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >
|
|
getZipStorageToSign() = 0;
|
|
|
|
/** checks whether the document's storage contains sub storages with macros or scripts
|
|
|
|
A default implementation of this method will simply cann DocumentMacroMode::storageHasMacros
|
|
with the document's root storage. However, there might be document types where this
|
|
isn't sufficient (e.g. database documents which contain sub documents which can also
|
|
contain macro/script storages).
|
|
*/
|
|
virtual bool
|
|
documentStorageHasMacros() const = 0;
|
|
|
|
/** provides access to the XEmbeddedScripts interface of the document
|
|
|
|
Implementations are allowed to return <NULL/> here if and only if they
|
|
do not (yet) support embedding scripts.
|
|
|
|
@todo
|
|
can also be replaced with a call to the (to be introduced) getDocumentModel
|
|
method, and a queryInterface.
|
|
*/
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::document::XEmbeddedScripts >
|
|
getEmbeddedDocumentScripts() const = 0;
|
|
|
|
/** returns the state of the signatures for the scripts embedded in the document
|
|
|
|
Note: On the medium run, the signature handling of a document should be outsourced
|
|
into a dedicated class, instead of being hard-wired into the SfxObjectShell. This
|
|
class could then be used outside the SfxObjectShell (e.g. in Base documents), too.
|
|
When this happens, this method here becomes should be replaced by a method at this
|
|
new class.
|
|
|
|
@seealso <sfx2/signaturestate.hxx>
|
|
*/
|
|
virtual sal_Int16
|
|
getScriptingSignatureState() = 0;
|
|
|
|
/** allows to detect whether there is a trusted scripting signature
|
|
|
|
Note: On the medium run, the signature handling of a document should be outsourced
|
|
into a dedicated class, instead of being hard-wired into the SfxObjectShell. This
|
|
class could then be used outside the SfxObjectShell (e.g. in Base documents), too.
|
|
When this happens, this method here should be replaced by a method at this
|
|
new class.
|
|
|
|
@seealso <sfx2/signaturestate.hxx>
|
|
*/
|
|
virtual bool
|
|
hasTrustedScriptingSignature( bool bAllowUIToAddAuthor ) = 0;
|
|
|
|
/** shows a warning that the document's signature is broken
|
|
|
|
Here, a similar note applies as to getScriptingSignatureState: This method doesn't
|
|
really belong here. It's just there because SfxObjectShell_Impl::bSignatureErrorIsShown
|
|
is not accessible where the method is called.
|
|
So, once the signature handling has been oursourced from SfxObjectShell/_Impl, so it
|
|
is re-usable in non-SFX contexts as well, this method here is also unneeded, probably.
|
|
|
|
@param _rxInteraction
|
|
the interaction handler to use for showing the warning. It is exactly the same
|
|
as passed to DocumentMacroMode::adjustMacroMode, so it is <NULL/> if and
|
|
only if the instance passed to that method was <NULL/>.
|
|
*/
|
|
virtual void
|
|
showBrokenSignatureWarning(
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxInteraction
|
|
) const = 0;
|
|
|
|
protected:
|
|
~IMacroDocumentAccess() {}
|
|
};
|
|
|
|
|
|
//= DocumentMacroMode
|
|
|
|
struct DocumentMacroMode_Data;
|
|
|
|
/** encapsulates handling the macro mode of a document
|
|
|
|
@see com::sun::star::document::MacroExecMode
|
|
*/
|
|
class SFX2_DLLPUBLIC DocumentMacroMode
|
|
{
|
|
public:
|
|
/** creates an instance
|
|
|
|
@param _rDocumentAccess
|
|
access to the document which this instance works for. Must live as long as the
|
|
DocumentMacroMode instance lives, at least
|
|
*/
|
|
DocumentMacroMode( IMacroDocumentAccess& _rDocumentAccess );
|
|
~DocumentMacroMode();
|
|
|
|
/** allows macro execution in the document
|
|
|
|
Effectively, the macro mode is set to MacroExecMode::ALWAYS_EXECUTE_NO_WARN.
|
|
|
|
@return
|
|
<TRUE/>, always
|
|
*/
|
|
bool allowMacroExecution();
|
|
|
|
/** disallows macro execution in the document
|
|
|
|
Effectively, the macro mode is set to MacroExecMode::NEVER_EXECUTE.
|
|
|
|
@return
|
|
<TRUE/>, always
|
|
*/
|
|
bool disallowMacroExecution();
|
|
|
|
/** checks whether the document allows executing contained macros.
|
|
|
|
The method transforms the current macro execution mode into either
|
|
ALWAYS_EXECUTE_NO_WARN or NEVER_EXECUTE, depending on the current value,
|
|
possible configuration settings, and possible user interaction.
|
|
|
|
@param _rxInteraction
|
|
A handler for interactions which might become necessary.
|
|
This includes
|
|
<ul><li>Asking the user for confirmation for macro execution.</li>
|
|
<li>Telling the user that macro execution is disabled.</li>
|
|
</ul>
|
|
|
|
If the user needs to be asked for macro execution confirmation, and if
|
|
this parameter is <NULL/>, the most defensive assumptions will be made,
|
|
effectively disabling macro execution.
|
|
|
|
@return
|
|
<TRUE/> if and only if macro execution in this document is allowed.
|
|
*/
|
|
bool adjustMacroMode(
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxInteraction
|
|
);
|
|
|
|
/** determines whether macro execution is disallowed
|
|
|
|
There's a number of reasons why macro execution could be disallowed:
|
|
<ul><li>Somebody called ->disallowMacroExecution</li>
|
|
<li>Macro execution is disabled globally, via the security options</li>
|
|
<li>Macro execution mode was not defined initially, and the user denied
|
|
executing macros for this particular document.</li>
|
|
</ul>
|
|
|
|
Note that if this method returns <FALSE/>, then subsequent calls of
|
|
->adjustMacroMode can still return <FALSE/>.
|
|
That is, if the current macro execution mode for the document is not yet known
|
|
(and inparticular <em>not</em> MacroExecMode::NEVER_EXECUTE), then ->isMacroExecutionDisallowed
|
|
will return <FALSE/>.
|
|
However, a subsequent call to ->adjustMacroMode can result in the user
|
|
denying macro execution, in which ->adjustMacroMode will return <FALSE/>,
|
|
and the next call to isMacroExecutionDisallowed will return <TRUE/>.
|
|
*/
|
|
bool isMacroExecutionDisallowed() const;
|
|
|
|
/** determines whether the document actually has a macros library
|
|
|
|
Effectively, this method checks the Basic library container (as returned by
|
|
IMacroDocumentAccess::getEmbeddedDocumentScripts().getBasicLibraries) for
|
|
content.
|
|
*/
|
|
bool hasMacroLibrary() const;
|
|
|
|
/** determines whether the given document storage has sub storages containing scripts
|
|
or macros.
|
|
|
|
Effectively, the method checks for the presence of a sub-storage name "Scripts" (where
|
|
BeanShell-/JavaScript-/Python-Scripts are stored, and a sub storage named "Basic" (where
|
|
Basic scripts are stored).
|
|
*/
|
|
static bool
|
|
storageHasMacros( const ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage >& _rxStorage );
|
|
|
|
static bool containerHasBasicMacros( const ::com::sun::star::uno::Reference< ::com::sun::star::script::XLibraryContainer >& xContainter );
|
|
/** checks the macro execution mode while loading the document.
|
|
|
|
This must be called when the loading is effectively finished, but before any macro action
|
|
happened.
|
|
|
|
The method will disallow macro execution for this document if it is disabled
|
|
globally (SvtSecurityOptions::IsMacroDisabled). Otherwise, it will check whether
|
|
the document contains a macro storage or macro libraries. If so, it will
|
|
properly calculate the MacroExecutionMode by calling adjustMacroMode.
|
|
|
|
If the document doesn't contain macros, yet, then the macro execution for this
|
|
document will be allowed (again: unless disabled globally), since in this case
|
|
macros which later are newly created by the user should be allowed, of course.
|
|
|
|
@return
|
|
<TRUE/> if and only if macro execution is allowed in the document
|
|
|
|
@see isMacroExecutionDisallowed
|
|
@see IMacroDocumentAccess::documentStorageHasMacros
|
|
@see hasMacroLibrary
|
|
@see IMacroDocumentAccess::checkForBrokenScriptingSignatures
|
|
*/
|
|
bool
|
|
checkMacrosOnLoading(
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxInteraction
|
|
);
|
|
|
|
private:
|
|
::boost::shared_ptr< DocumentMacroMode_Data > m_pData;
|
|
};
|
|
|
|
|
|
} // namespace sfx2
|
|
|
|
|
|
#endif // INCLUDED_SFX2_DOCMACROMODE_HXX
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|