From 267c6f2ac71f92999e969232431ba04678e7437e Mon Sep 17 00:00:00 2001
From: Daniel Baumann
Date: Mon, 15 Apr 2024 07:54:39 +0200
Subject: Adding upstream version 4:24.2.0.
Signed-off-by: Daniel Baumann
---
sfx2/AllLangMoTarget_sfx2.mk | 13 +
sfx2/CppunitTest_sfx2_classification.mk | 49 +
sfx2/CppunitTest_sfx2_controlleritem.mk | 25 +
sfx2/CppunitTest_sfx2_dialogs_test.mk | 69 +
sfx2/CppunitTest_sfx2_doc.mk | 49 +
sfx2/CppunitTest_sfx2_metadatable.mk | 37 +
sfx2/CppunitTest_sfx2_misc.mk | 46 +
sfx2/CppunitTest_sfx2_view.mk | 49 +
sfx2/CustomTarget_classification.mk | 28 +
sfx2/IwyuFilter_sfx2.yaml | 181 +
sfx2/JunitTest_sfx2_complex.mk | 62 +
sfx2/JunitTest_sfx2_unoapi.mk | 24 +
sfx2/Library_sfx.mk | 365 ++
sfx2/Makefile | 7 +
sfx2/Module_sfx2.mk | 63 +
sfx2/Package_classification.mk | 23 +
sfx2/PythonTest_sfx2_python.mk | 21 +
sfx2/README.md | 30 +
sfx2/UIConfig_sfx.mk | 80 +
sfx2/UITest_sfx2_doc.mk | 20 +
sfx2/classification/CommonTypes.xsd | 103 +
sfx2/classification/README | 7 +
sfx2/classification/baf.xsd | 299 +
sfx2/classification/baf_loext.xsd | 19 +
sfx2/classification/example.xml | 89 +
sfx2/classification/example_ca-ES.xml | 71 +
sfx2/classification/example_fr-FR.xml | 84 +
sfx2/classification/example_hu-HU.xml | 71 +
sfx2/classification/example_nl-NL.xml | 71 +
sfx2/classification/example_pt-BR.xml | 89 +
sfx2/classification/example_sl-SI.xml | 76 +
sfx2/classification/example_zh-CN.xml | 89 +
sfx2/classification/xAL-types.xsd | 510 ++
sfx2/classification/xAL.xsd | 671 +++
sfx2/classification/xNL-types.xsd | 221 +
sfx2/classification/xNL.xsd | 283 +
sfx2/classification/xlink-2003-12-31.xsd | 89 +
sfx2/doc/sfx2doc.html | 77 +
sfx2/doc/sfx2doc0001.svg | 99 +
sfx2/inc/SfxRedactionHelper.hxx | 146 +
sfx2/inc/arrdecl.hxx | 30 +
sfx2/inc/autoredactdialog.hxx | 174 +
sfx2/inc/bitmaps.hlst | 98 +
sfx2/inc/bitset.hxx | 49 +
sfx2/inc/bluthsndapi.hxx | 28 +
sfx2/inc/charmapcontrol.hxx | 57 +
sfx2/inc/charmappopup.hxx | 41 +
sfx2/inc/checkin.hxx | 31 +
sfx2/inc/commandpopup/CommandPopup.hxx | 115 +
sfx2/inc/dinfdlg.hrc | 87 +
sfx2/inc/doctempl.hrc | 41 +
sfx2/inc/fwkhelper.hxx | 31 +
sfx2/inc/guisaveas.hxx | 114 +
sfx2/inc/inettbc.hxx | 64 +
sfx2/inc/notebookbar/NotebookbarTabControl.hxx | 48 +
sfx2/inc/pch/precompiled_sfx.cxx | 12 +
sfx2/inc/pch/precompiled_sfx.hxx | 485 ++
sfx2/inc/preventduplicateinteraction.hxx | 329 ++
sfx2/inc/recentdocsview.hxx | 117 +
sfx2/inc/saveastemplatedlg.hxx | 57 +
sfx2/inc/sfxbasecontroller_internal.hxx | 19 +
sfx2/inc/sidebar/ContextChangeBroadcaster.hxx | 64 +
sfx2/inc/sidebar/ContextList.hxx | 66 +
sfx2/inc/sidebar/ControllerFactory.hxx | 76 +
sfx2/inc/sidebar/DeckDescriptor.hxx | 54 +
sfx2/inc/sidebar/DeckLayouter.hxx | 47 +
sfx2/inc/sidebar/DeckTitleBar.hxx | 58 +
sfx2/inc/sidebar/PanelDescriptor.hxx | 51 +
sfx2/inc/sidebar/PanelTitleBar.hxx | 69 +
sfx2/inc/sidebar/SidebarToolBox.hxx | 84 +
sfx2/inc/sidebar/TitleBar.hxx | 72 +
sfx2/inc/sidebar/Tools.hxx | 56 +
sfx2/inc/sidebar/UnoDeck.hxx | 62 +
sfx2/inc/sidebar/UnoDecks.hxx | 54 +
sfx2/inc/sidebar/UnoPanel.hxx | 69 +
sfx2/inc/sidebar/UnoPanels.hxx | 57 +
sfx2/inc/sidebar/UnoSidebar.hxx | 54 +
sfx2/inc/sorgitm.hxx | 44 +
sfx2/inc/srchdlg.hxx | 73 +
sfx2/inc/strings.hxx | 59 +
sfx2/inc/templatecontaineritem.hxx | 27 +
sfx2/inc/templatedefaultview.hxx | 29 +
sfx2/inc/templateviewitem.hxx | 45 +
sfx2/inc/unoctitm.hxx | 148 +
sfx2/qa/complex/sfx2/DocumentEvents.java | 221 +
sfx2/qa/complex/sfx2/DocumentMetadataAccess.java | 1228 ++++
sfx2/qa/complex/sfx2/DocumentProperties.java | 516 ++
sfx2/qa/complex/sfx2/GlobalEventBroadcaster.java | 249 +
sfx2/qa/complex/sfx2/UndoManager.java | 1460 +++++
sfx2/qa/complex/sfx2/testdocuments/CUSTOM.odt | Bin 0 -> 1021 bytes
sfx2/qa/complex/sfx2/testdocuments/TEST.odt | Bin 0 -> 13803 bytes
sfx2/qa/complex/sfx2/testdocuments/TESTRDFA.odt | Bin 0 -> 7540 bytes
sfx2/qa/complex/sfx2/testdocuments/empty.rdf | 13 +
sfx2/qa/complex/sfx2/tools/TestDocument.java | 34 +
sfx2/qa/complex/sfx2/tools/WriterHelper.java | 210 +
sfx2/qa/complex/sfx2/undo/CalcDocumentTest.java | 113 +
sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java | 257 +
sfx2/qa/complex/sfx2/undo/DocumentTest.java | 77 +
sfx2/qa/complex/sfx2/undo/DocumentTestBase.java | 44 +
sfx2/qa/complex/sfx2/undo/DrawDocumentTest.java | 35 +
.../undo/DrawingOrPresentationDocumentTest.java | 207 +
sfx2/qa/complex/sfx2/undo/ImpressDocumentTest.java | 35 +
sfx2/qa/complex/sfx2/undo/WriterDocumentTest.java | 121 +
sfx2/qa/cppunit/data/reload-page.odg | Bin 0 -> 8824 bytes
sfx2/qa/cppunit/doc.cxx | 151 +
sfx2/qa/cppunit/misc/hello.odt | Bin 0 -> 8159 bytes
sfx2/qa/cppunit/test_classification.cxx | 112 +
sfx2/qa/cppunit/test_controlleritem.cxx | 58 +
sfx2/qa/cppunit/test_metadatable.cxx | 248 +
sfx2/qa/cppunit/test_misc.cxx | 201 +
sfx2/qa/cppunit/view.cxx | 64 +
sfx2/qa/python/check_sidebar.py | 169 +
sfx2/qa/python/check_sidebar_registry.py | 89 +
sfx2/qa/uitest/doc/data/pdf-sign.pdf | Bin 0 -> 2235 bytes
sfx2/qa/uitest/doc/objserv.py | 24 +
sfx2/qa/unit/data/sfx2-dialogs-test.txt | 72 +
sfx2/qa/unit/sfx2-dialogs-test.cxx | 58 +
sfx2/qa/unoapi/knownissues.xcl | 5 +
sfx2/qa/unoapi/sfx.sce | 4 +
.../testdocuments/SfxStandaloneDocInfoObject.sdw | Bin 0 -> 8192 bytes
sfx2/qa/unoapi/testdocuments/report.stw | Bin 0 -> 11186 bytes
sfx2/qa/unoapi/testdocuments/report2.stw | Bin 0 -> 11000 bytes
sfx2/sdi/appslots.sdi | 347 ++
sfx2/sdi/docslots.sdi | 276 +
sfx2/sdi/frmslots.sdi | 323 ++
sfx2/sdi/sfx.sdi | 5894 ++++++++++++++++++++
sfx2/sdi/sfxitems.sdi | 125 +
sfx2/sdi/sfxslots.sdi | 33 +
sfx2/sdi/viwslots.sdi | 93 +
sfx2/source/accessibility/AccessibilityCheck.cxx | 24 +
sfx2/source/accessibility/AccessibilityIssue.cxx | 32 +
sfx2/source/appl/app.cxx | 554 ++
sfx2/source/appl/appbas.cxx | 155 +
sfx2/source/appl/appbaslib.cxx | 188 +
sfx2/source/appl/appcfg.cxx | 343 ++
sfx2/source/appl/appchild.cxx | 66 +
sfx2/source/appl/appdata.cxx | 127 +
sfx2/source/appl/appdde.cxx | 567 ++
sfx2/source/appl/appdispatchprovider.cxx | 231 +
sfx2/source/appl/appinit.cxx | 233 +
sfx2/source/appl/appmain.cxx | 38 +
sfx2/source/appl/appmisc.cxx | 211 +
sfx2/source/appl/appopen.cxx | 1154 ++++
sfx2/source/appl/appquit.cxx | 103 +
sfx2/source/appl/appreg.cxx | 105 +
sfx2/source/appl/appserv.cxx | 1808 ++++++
sfx2/source/appl/appuno.cxx | 1845 ++++++
sfx2/source/appl/childwin.cxx | 623 +++
sfx2/source/appl/fileobj.cxx | 435 ++
sfx2/source/appl/fileobj.hxx | 82 +
sfx2/source/appl/flatpak.cxx | 99 +
sfx2/source/appl/fwkhelper.cxx | 52 +
sfx2/source/appl/getbasctlfunction.cxx | 64 +
sfx2/source/appl/getbasctlfunction.hxx | 38 +
sfx2/source/appl/helpdispatch.cxx | 106 +
sfx2/source/appl/helpdispatch.hxx | 47 +
sfx2/source/appl/helpinterceptor.cxx | 262 +
sfx2/source/appl/helpinterceptor.hxx | 141 +
sfx2/source/appl/impldde.cxx | 348 ++
sfx2/source/appl/impldde.hxx | 72 +
sfx2/source/appl/linkmgr2.cxx | 722 +++
sfx2/source/appl/linksrc.cxx | 418 ++
sfx2/source/appl/lnkbase2.cxx | 604 ++
sfx2/source/appl/macroloader.cxx | 344 ++
sfx2/source/appl/module.cxx | 267 +
sfx2/source/appl/newhelp.cxx | 2666 +++++++++
sfx2/source/appl/newhelp.hxx | 511 ++
sfx2/source/appl/opengrf.cxx | 286 +
sfx2/source/appl/openuriexternally.cxx | 141 +
sfx2/source/appl/preventduplicateinteraction.cxx | 220 +
sfx2/source/appl/sfxhelp.cxx | 1401 +++++
sfx2/source/appl/sfxpicklist.cxx | 227 +
sfx2/source/appl/shutdownicon.cxx | 684 +++
sfx2/source/appl/shutdownicon.hxx | 158 +
sfx2/source/appl/shutdowniconaqua.mm | 470 ++
sfx2/source/appl/shutdowniconw32.cxx | 803 +++
sfx2/source/appl/workwin.cxx | 2356 ++++++++
sfx2/source/appl/xpackcreator.cxx | 164 +
sfx2/source/bastyp/bitset.cxx | 108 +
sfx2/source/bastyp/fltfnc.cxx | 1111 ++++
sfx2/source/bastyp/fltlst.cxx | 118 +
sfx2/source/bastyp/fltlst.hxx | 50 +
sfx2/source/bastyp/frmhtml.cxx | 101 +
sfx2/source/bastyp/frmhtmlw.cxx | 298 +
sfx2/source/bastyp/helper.cxx | 229 +
sfx2/source/bastyp/mieclip.cxx | 103 +
sfx2/source/bastyp/progress.cxx | 401 ++
sfx2/source/bastyp/sfxhtml.cxx | 345 ++
sfx2/source/bastyp/sfxresid.cxx | 24 +
sfx2/source/commandpopup/CommandPopup.cxx | 297 +
sfx2/source/config/evntconf.cxx | 220 +
sfx2/source/control/bindings.cxx | 1774 ++++++
sfx2/source/control/charmapcontrol.cxx | 498 ++
sfx2/source/control/charwin.cxx | 328 ++
sfx2/source/control/ctrlitem.cxx | 344 ++
sfx2/source/control/dispatch.cxx | 2105 +++++++
sfx2/source/control/listview.cxx | 446 ++
sfx2/source/control/minfitem.cxx | 76 +
sfx2/source/control/msg.cxx | 54 +
sfx2/source/control/msgpool.cxx | 326 ++
sfx2/source/control/objface.cxx | 442 ++
sfx2/source/control/recentdocsview.cxx | 342 ++
sfx2/source/control/recentdocsviewitem.cxx | 397 ++
sfx2/source/control/recentdocsviewitem.hxx | 76 +
sfx2/source/control/request.cxx | 748 +++
sfx2/source/control/sfxstatuslistener.cxx | 219 +
sfx2/source/control/shell.cxx | 734 +++
sfx2/source/control/sorgitm.cxx | 85 +
sfx2/source/control/statcach.cxx | 497 ++
sfx2/source/control/templatecontaineritem.cxx | 20 +
sfx2/source/control/templatedefaultview.cxx | 86 +
sfx2/source/control/templatedlglocalview.cxx | 425 ++
sfx2/source/control/templatelocalview.cxx | 945 ++++
sfx2/source/control/templateviewitem.cxx | 124 +
sfx2/source/control/thumbnailview.cxx | 1228 ++++
sfx2/source/control/thumbnailviewacc.cxx | 840 +++
sfx2/source/control/thumbnailviewacc.hxx | 200 +
sfx2/source/control/thumbnailviewitem.cxx | 322 ++
sfx2/source/control/unoctitm.cxx | 1291 +++++
sfx2/source/devtools/DevToolsStrings.hrc | 73 +
.../source/devtools/DevelopmentToolChildWindow.cxx | 30 +
.../devtools/DevelopmentToolDockingWindow.cxx | 160 +
sfx2/source/devtools/DocumentModelTreeHandler.cxx | 840 +++
.../source/devtools/ObjectInspectorTreeHandler.cxx | 1385 +++++
sfx2/source/devtools/SelectionChangeHandler.hxx | 75 +
sfx2/source/dialog/StyleList.cxx | 1908 +++++++
sfx2/source/dialog/alienwarn.cxx | 79 +
sfx2/source/dialog/backingcomp.cxx | 736 +++
sfx2/source/dialog/backingwindow.cxx | 788 +++
sfx2/source/dialog/backingwindow.hxx | 132 +
sfx2/source/dialog/basedlgs.cxx | 339 ++
sfx2/source/dialog/bluthsnd.cxx | 50 +
sfx2/source/dialog/charmappopup.cxx | 73 +
sfx2/source/dialog/checkin.cxx | 40 +
sfx2/source/dialog/dialoghelper.cxx | 48 +
sfx2/source/dialog/dinfdlg.cxx | 2615 +++++++++
sfx2/source/dialog/dockwin.cxx | 1547 +++++
sfx2/source/dialog/documentfontsdialog.cxx | 113 +
sfx2/source/dialog/filedlghelper.cxx | 3029 ++++++++++
sfx2/source/dialog/filedlgimpl.hxx | 220 +
sfx2/source/dialog/filtergrouping.cxx | 1170 ++++
sfx2/source/dialog/filtergrouping.hxx | 96 +
sfx2/source/dialog/infobar.cxx | 537 ++
sfx2/source/dialog/inputdlg.cxx | 67 +
sfx2/source/dialog/mailmodel.cxx | 847 +++
sfx2/source/dialog/mgetempl.cxx | 652 +++
sfx2/source/dialog/mgetempl.hxx | 94 +
sfx2/source/dialog/navigat.cxx | 53 +
sfx2/source/dialog/newstyle.cxx | 92 +
sfx2/source/dialog/partwnd.cxx | 174 +
sfx2/source/dialog/passwd.cxx | 289 +
sfx2/source/dialog/printopt.cxx | 373 ++
sfx2/source/dialog/recfloat.cxx | 145 +
sfx2/source/dialog/securitypage.cxx | 451 ++
sfx2/source/dialog/securitypage.hxx | 43 +
sfx2/source/dialog/sfxdlg.cxx | 29 +
sfx2/source/dialog/splitwin.cxx | 1154 ++++
sfx2/source/dialog/srchdlg.cxx | 136 +
sfx2/source/dialog/styfitem.cxx | 36 +
sfx2/source/dialog/styledlg.cxx | 125 +
sfx2/source/dialog/tabdlg.cxx | 1176 ++++
sfx2/source/dialog/templdlg.cxx | 1016 ++++
sfx2/source/dialog/tplcitem.cxx | 169 +
sfx2/source/dialog/tplpitem.cxx | 91 +
sfx2/source/dialog/versdlg.cxx | 469 ++
sfx2/source/doc/DocumentMetadataAccess.cxx | 1374 +++++
sfx2/source/doc/DocumentSigner.cxx | 121 +
sfx2/source/doc/Metadatable.cxx | 1603 ++++++
sfx2/source/doc/QuerySaveDocument.cxx | 39 +
sfx2/source/doc/SfxDocumentMetaData.cxx | 2347 ++++++++
sfx2/source/doc/SfxRedactionHelper.cxx | 560 ++
sfx2/source/doc/autoredactdialog.cxx | 766 +++
sfx2/source/doc/docfac.cxx | 355 ++
sfx2/source/doc/docfile.cxx | 4976 +++++++++++++++++
sfx2/source/doc/docfilt.cxx | 200 +
sfx2/source/doc/docinf.cxx | 324 ++
sfx2/source/doc/docinsert.cxx | 293 +
sfx2/source/doc/docmacromode.cxx | 469 ++
sfx2/source/doc/docstoragemodifylistener.cxx | 73 +
sfx2/source/doc/doctempl.cxx | 1751 ++++++
sfx2/source/doc/doctemplates.cxx | 2640 +++++++++
sfx2/source/doc/doctemplateslocal.cxx | 211 +
sfx2/source/doc/doctemplateslocal.hxx | 78 +
sfx2/source/doc/docundomanager.cxx | 422 ++
sfx2/source/doc/exoticfileloadexception.cxx | 32 +
sfx2/source/doc/exoticfileloadexception.hxx | 45 +
sfx2/source/doc/frmdescr.cxx | 57 +
sfx2/source/doc/graphhelp.cxx | 259 +
sfx2/source/doc/graphhelp.hxx | 71 +
sfx2/source/doc/guisaveas.cxx | 2015 +++++++
sfx2/source/doc/iframe.cxx | 454 ++
sfx2/source/doc/new.cxx | 350 ++
sfx2/source/doc/objcont.cxx | 727 +++
sfx2/source/doc/objembed.cxx | 224 +
sfx2/source/doc/objitem.cxx | 97 +
sfx2/source/doc/objmisc.cxx | 2037 +++++++
sfx2/source/doc/objserv.cxx | 2285 ++++++++
sfx2/source/doc/objstor.cxx | 3968 +++++++++++++
sfx2/source/doc/objstor.hxx | 29 +
sfx2/source/doc/objxtor.cxx | 1128 ++++
sfx2/source/doc/oleprops.cxx | 1241 +++++
sfx2/source/doc/oleprops.hxx | 391 ++
sfx2/source/doc/ownsubfilterservice.cxx | 115 +
sfx2/source/doc/printhelper.cxx | 798 +++
sfx2/source/doc/printhelper.hxx | 68 +
sfx2/source/doc/saveastemplatedlg.cxx | 179 +
sfx2/source/doc/sfxbasemodel.cxx | 4618 +++++++++++++++
sfx2/source/doc/sfxmodelfactory.cxx | 110 +
sfx2/source/doc/signaturestate.cxx | 59 +
sfx2/source/doc/syspath.cxx | 37 +
sfx2/source/doc/syspath.hxx | 32 +
sfx2/source/doc/syspathw32.cxx | 69 +
sfx2/source/doc/syspathw32.hxx | 33 +
sfx2/source/doc/templatedlg.cxx | 1394 +++++
sfx2/source/doc/watermarkitem.cxx | 82 +
sfx2/source/doc/zoomitem.cxx | 172 +
sfx2/source/explorer/nochaos.cxx | 187 +
sfx2/source/inc/StyleList.hxx | 248 +
sfx2/source/inc/alienwarn.hxx | 39 +
sfx2/source/inc/appbaslib.hxx | 98 +
sfx2/source/inc/appdata.hxx | 148 +
sfx2/source/inc/appopen.hxx | 36 +
sfx2/source/inc/documentfontsdialog.hxx | 49 +
sfx2/source/inc/docundomanager.hxx | 159 +
sfx2/source/inc/eventsupplier.hxx | 91 +
sfx2/source/inc/fltoptint.hxx | 62 +
sfx2/source/inc/helper.hxx | 41 +
sfx2/source/inc/helpids.h | 57 +
sfx2/source/inc/hintpost.hxx | 59 +
sfx2/source/inc/macroloader.hxx | 88 +
sfx2/source/inc/nochaos.hxx | 35 +
sfx2/source/inc/objshimp.hxx | 159 +
sfx2/source/inc/openflag.hxx | 33 +
sfx2/source/inc/openuriexternally.hxx | 40 +
sfx2/source/inc/openurlhint.hxx | 38 +
sfx2/source/inc/partwnd.hxx | 63 +
sfx2/source/inc/preview.hxx | 41 +
sfx2/source/inc/recfloat.hxx | 61 +
sfx2/source/inc/sfxpicklist.hxx | 42 +
sfx2/source/inc/sfxtypes.hxx | 51 +
sfx2/source/inc/sfxurlrelocator.hxx | 52 +
sfx2/source/inc/slotserv.hxx | 59 +
sfx2/source/inc/splitwin.hxx | 125 +
sfx2/source/inc/statcach.hxx | 154 +
sfx2/source/inc/templatesearchviewitem.hxx | 28 +
sfx2/source/inc/templdgi.hxx | 242 +
sfx2/source/inc/tplcitem.hxx | 45 +
sfx2/source/inc/versdlg.hxx | 91 +
sfx2/source/inc/workwin.hxx | 301 +
sfx2/source/inet/inettbc.cxx | 274 +
sfx2/source/notebookbar/NotebookbarTabControl.cxx | 387 ++
sfx2/source/notebookbar/SfxNotebookBar.cxx | 623 +++
sfx2/source/notify/eventsupplier.cxx | 471 ++
sfx2/source/notify/globalevents.cxx | 521 ++
sfx2/source/notify/hintpost.cxx | 54 +
sfx2/source/notify/openurlhint.cxx | 33 +
sfx2/source/safemode/safemode.cxx | 81 +
sfx2/source/sidebar/AsynchronousCall.cxx | 72 +
sfx2/source/sidebar/Context.cxx | 79 +
sfx2/source/sidebar/ContextChangeBroadcaster.cxx | 127 +
sfx2/source/sidebar/ContextList.cxx | 103 +
sfx2/source/sidebar/ControllerFactory.cxx | 251 +
sfx2/source/sidebar/ControllerItem.cxx | 71 +
sfx2/source/sidebar/Deck.cxx | 304 +
sfx2/source/sidebar/DeckDescriptor.cxx | 54 +
sfx2/source/sidebar/DeckLayouter.cxx | 549 ++
sfx2/source/sidebar/DeckTitleBar.cxx | 137 +
sfx2/source/sidebar/FocusManager.cxx | 478 ++
sfx2/source/sidebar/IContextChangeReceiver.cxx | 29 +
sfx2/source/sidebar/ILayoutableWindow.cxx | 29 +
sfx2/source/sidebar/Panel.cxx | 241 +
sfx2/source/sidebar/PanelDescriptor.cxx | 57 +
sfx2/source/sidebar/PanelLayout.cxx | 86 +
sfx2/source/sidebar/PanelTitleBar.cxx | 123 +
sfx2/source/sidebar/ResourceManager.cxx | 806 +++
sfx2/source/sidebar/Sidebar.cxx | 128 +
sfx2/source/sidebar/SidebarChildWindow.cxx | 95 +
sfx2/source/sidebar/SidebarController.cxx | 1651 ++++++
sfx2/source/sidebar/SidebarDockingWindow.cxx | 216 +
sfx2/source/sidebar/SidebarModelUpdate.cxx | 17 +
sfx2/source/sidebar/SidebarPanelBase.cxx | 198 +
sfx2/source/sidebar/SidebarToolBox.cxx | 343 ++
sfx2/source/sidebar/TabBar.cxx | 392 ++
sfx2/source/sidebar/Theme.cxx | 675 +++
sfx2/source/sidebar/TitleBar.cxx | 91 +
sfx2/source/sidebar/Tools.cxx | 113 +
sfx2/source/sidebar/UnoDeck.cxx | 280 +
sfx2/source/sidebar/UnoDecks.cxx | 144 +
sfx2/source/sidebar/UnoPanel.cxx | 296 +
sfx2/source/sidebar/UnoPanels.cxx | 154 +
sfx2/source/sidebar/UnoSidebar.cxx | 96 +
sfx2/source/sidebar/uiobject.cxx | 61 +
sfx2/source/sidebar/uiobject.hxx | 32 +
sfx2/source/statbar/stbitem.cxx | 553 ++
sfx2/source/styles/StyleManager.cxx | 35 +
sfx2/source/toolbox/tbxitem.cxx | 506 ++
sfx2/source/toolbox/weldutils.cxx | 206 +
sfx2/source/view/classificationcontroller.cxx | 364 ++
sfx2/source/view/classificationhelper.cxx | 988 ++++
sfx2/source/view/frame.cxx | 720 +++
sfx2/source/view/frame2.cxx | 406 ++
sfx2/source/view/frmload.cxx | 826 +++
sfx2/source/view/impframe.hxx | 71 +
sfx2/source/view/impviewframe.hxx | 81 +
sfx2/source/view/ipclient.cxx | 1148 ++++
sfx2/source/view/lokcharthelper.cxx | 369 ++
sfx2/source/view/lokhelper.cxx | 1066 ++++
sfx2/source/view/lokstarmathhelper.cxx | 247 +
sfx2/source/view/printer.cxx | 189 +
sfx2/source/view/prnmon.hxx | 54 +
sfx2/source/view/sfxbasecontroller.cxx | 1498 +++++
sfx2/source/view/userinputinterception.cxx | 263 +
sfx2/source/view/viewfac.cxx | 56 +
sfx2/source/view/viewfrm.cxx | 3706 ++++++++++++
sfx2/source/view/viewfrm2.cxx | 380 ++
sfx2/source/view/viewimp.hxx | 71 +
sfx2/source/view/viewprn.cxx | 923 +++
sfx2/source/view/viewsh.cxx | 3912 +++++++++++++
sfx2/uiconfig/ui/addtargetdialog.ui | 278 +
sfx2/uiconfig/ui/alienwarndialog.ui | 85 +
sfx2/uiconfig/ui/autoredactdialog.ui | 322 ++
sfx2/uiconfig/ui/bookmarkdialog.ui | 141 +
sfx2/uiconfig/ui/bookmarkmenu.ui | 39 +
sfx2/uiconfig/ui/charmapcontrol.ui | 528 ++
sfx2/uiconfig/ui/charviewmenu.ui | 25 +
sfx2/uiconfig/ui/checkin.ui | 154 +
sfx2/uiconfig/ui/classificationbox.ui | 49 +
sfx2/uiconfig/ui/cmisinfopage.ui | 47 +
sfx2/uiconfig/ui/cmisline.ui | 134 +
sfx2/uiconfig/ui/commandpopup.ui | 93 +
sfx2/uiconfig/ui/custominfopage.ui | 142 +
sfx2/uiconfig/ui/deck.ui | 150 +
sfx2/uiconfig/ui/descriptioninfopage.ui | 405 ++
sfx2/uiconfig/ui/developmenttool.ui | 661 +++
sfx2/uiconfig/ui/devtoolsmenu.ui | 17 +
sfx2/uiconfig/ui/documentfontspage.ui | 162 +
sfx2/uiconfig/ui/documentinfopage.ui | 504 ++
sfx2/uiconfig/ui/documentpropertiesdialog.ui | 349 ++
sfx2/uiconfig/ui/editdocumentdialog.ui | 70 +
sfx2/uiconfig/ui/editdurationdialog.ui | 364 ++
sfx2/uiconfig/ui/errorfindemaildialog.ui | 35 +
sfx2/uiconfig/ui/extrabutton.ui | 24 +
sfx2/uiconfig/ui/floatingrecord.ui | 64 +
sfx2/uiconfig/ui/helpbookmarkpage.ui | 103 +
sfx2/uiconfig/ui/helpcontentpage.ui | 71 +
sfx2/uiconfig/ui/helpcontrol.ui | 248 +
sfx2/uiconfig/ui/helpindexpage.ui | 135 +
sfx2/uiconfig/ui/helpmanual.ui | 79 +
sfx2/uiconfig/ui/helpsearchpage.ui | 175 +
sfx2/uiconfig/ui/helpwindow.ui | 199 +
sfx2/uiconfig/ui/infobar.ui | 187 +
sfx2/uiconfig/ui/inputdialog.ui | 128 +
sfx2/uiconfig/ui/licensedialog.ui | 98 +
sfx2/uiconfig/ui/linefragment.ui | 240 +
sfx2/uiconfig/ui/linkeditdialog.ui | 220 +
sfx2/uiconfig/ui/loadtemplatedialog.ui | 453 ++
sfx2/uiconfig/ui/managestylepage.ui | 245 +
sfx2/uiconfig/ui/navigator.ui | 14 +
sfx2/uiconfig/ui/newstyle.ui | 212 +
sfx2/uiconfig/ui/notebookbar.ui | 95 +
sfx2/uiconfig/ui/notebookbarpopup.ui | 28 +
sfx2/uiconfig/ui/optprintpage.ui | 811 +++
sfx2/uiconfig/ui/panel.ui | 121 +
sfx2/uiconfig/ui/password.ui | 430 ++
sfx2/uiconfig/ui/printeroptionsdialog.ui | 91 +
sfx2/uiconfig/ui/querysavedialog.ui | 86 +
sfx2/uiconfig/ui/safemodequerydialog.ui | 69 +
sfx2/uiconfig/ui/saveastemplatedlg.ui | 263 +
sfx2/uiconfig/ui/searchdialog.ui | 200 +
sfx2/uiconfig/ui/securityinfopage.ui | 125 +
sfx2/uiconfig/ui/singletabdialog.ui | 87 +
sfx2/uiconfig/ui/startcenter.ui | 650 +++
sfx2/uiconfig/ui/stylecontextmenu.ui | 49 +
sfx2/uiconfig/ui/tabbar.ui | 13 +
sfx2/uiconfig/ui/tabbarcontents.ui | 157 +
sfx2/uiconfig/ui/tabbutton.ui | 24 +
sfx2/uiconfig/ui/templatecategorydlg.ui | 227 +
sfx2/uiconfig/ui/templatedlg.ui | 514 ++
sfx2/uiconfig/ui/templatepanel.ui | 366 ++
sfx2/uiconfig/ui/urlbox.ui | 30 +
sfx2/uiconfig/ui/versioncommentdialog.ui | 168 +
sfx2/uiconfig/ui/versionscmis.ui | 256 +
sfx2/uiconfig/ui/versionsofdialog.ui | 371 ++
sfx2/util/sfx.component | 96 +
sfx2/util/sfx.component.extended | 7 +
485 files changed, 173195 insertions(+)
create mode 100644 sfx2/AllLangMoTarget_sfx2.mk
create mode 100644 sfx2/CppunitTest_sfx2_classification.mk
create mode 100644 sfx2/CppunitTest_sfx2_controlleritem.mk
create mode 100644 sfx2/CppunitTest_sfx2_dialogs_test.mk
create mode 100644 sfx2/CppunitTest_sfx2_doc.mk
create mode 100644 sfx2/CppunitTest_sfx2_metadatable.mk
create mode 100644 sfx2/CppunitTest_sfx2_misc.mk
create mode 100644 sfx2/CppunitTest_sfx2_view.mk
create mode 100644 sfx2/CustomTarget_classification.mk
create mode 100644 sfx2/IwyuFilter_sfx2.yaml
create mode 100644 sfx2/JunitTest_sfx2_complex.mk
create mode 100644 sfx2/JunitTest_sfx2_unoapi.mk
create mode 100644 sfx2/Library_sfx.mk
create mode 100644 sfx2/Makefile
create mode 100644 sfx2/Module_sfx2.mk
create mode 100644 sfx2/Package_classification.mk
create mode 100644 sfx2/PythonTest_sfx2_python.mk
create mode 100644 sfx2/README.md
create mode 100644 sfx2/UIConfig_sfx.mk
create mode 100644 sfx2/UITest_sfx2_doc.mk
create mode 100644 sfx2/classification/CommonTypes.xsd
create mode 100644 sfx2/classification/README
create mode 100644 sfx2/classification/baf.xsd
create mode 100644 sfx2/classification/baf_loext.xsd
create mode 100644 sfx2/classification/example.xml
create mode 100644 sfx2/classification/example_ca-ES.xml
create mode 100644 sfx2/classification/example_fr-FR.xml
create mode 100644 sfx2/classification/example_hu-HU.xml
create mode 100644 sfx2/classification/example_nl-NL.xml
create mode 100644 sfx2/classification/example_pt-BR.xml
create mode 100644 sfx2/classification/example_sl-SI.xml
create mode 100644 sfx2/classification/example_zh-CN.xml
create mode 100644 sfx2/classification/xAL-types.xsd
create mode 100644 sfx2/classification/xAL.xsd
create mode 100644 sfx2/classification/xNL-types.xsd
create mode 100644 sfx2/classification/xNL.xsd
create mode 100644 sfx2/classification/xlink-2003-12-31.xsd
create mode 100644 sfx2/doc/sfx2doc.html
create mode 100644 sfx2/doc/sfx2doc0001.svg
create mode 100644 sfx2/inc/SfxRedactionHelper.hxx
create mode 100644 sfx2/inc/arrdecl.hxx
create mode 100644 sfx2/inc/autoredactdialog.hxx
create mode 100644 sfx2/inc/bitmaps.hlst
create mode 100644 sfx2/inc/bitset.hxx
create mode 100644 sfx2/inc/bluthsndapi.hxx
create mode 100644 sfx2/inc/charmapcontrol.hxx
create mode 100644 sfx2/inc/charmappopup.hxx
create mode 100644 sfx2/inc/checkin.hxx
create mode 100644 sfx2/inc/commandpopup/CommandPopup.hxx
create mode 100644 sfx2/inc/dinfdlg.hrc
create mode 100644 sfx2/inc/doctempl.hrc
create mode 100644 sfx2/inc/fwkhelper.hxx
create mode 100644 sfx2/inc/guisaveas.hxx
create mode 100644 sfx2/inc/inettbc.hxx
create mode 100644 sfx2/inc/notebookbar/NotebookbarTabControl.hxx
create mode 100644 sfx2/inc/pch/precompiled_sfx.cxx
create mode 100644 sfx2/inc/pch/precompiled_sfx.hxx
create mode 100644 sfx2/inc/preventduplicateinteraction.hxx
create mode 100644 sfx2/inc/recentdocsview.hxx
create mode 100644 sfx2/inc/saveastemplatedlg.hxx
create mode 100644 sfx2/inc/sfxbasecontroller_internal.hxx
create mode 100644 sfx2/inc/sidebar/ContextChangeBroadcaster.hxx
create mode 100644 sfx2/inc/sidebar/ContextList.hxx
create mode 100644 sfx2/inc/sidebar/ControllerFactory.hxx
create mode 100644 sfx2/inc/sidebar/DeckDescriptor.hxx
create mode 100644 sfx2/inc/sidebar/DeckLayouter.hxx
create mode 100644 sfx2/inc/sidebar/DeckTitleBar.hxx
create mode 100644 sfx2/inc/sidebar/PanelDescriptor.hxx
create mode 100644 sfx2/inc/sidebar/PanelTitleBar.hxx
create mode 100644 sfx2/inc/sidebar/SidebarToolBox.hxx
create mode 100644 sfx2/inc/sidebar/TitleBar.hxx
create mode 100644 sfx2/inc/sidebar/Tools.hxx
create mode 100644 sfx2/inc/sidebar/UnoDeck.hxx
create mode 100644 sfx2/inc/sidebar/UnoDecks.hxx
create mode 100644 sfx2/inc/sidebar/UnoPanel.hxx
create mode 100644 sfx2/inc/sidebar/UnoPanels.hxx
create mode 100644 sfx2/inc/sidebar/UnoSidebar.hxx
create mode 100644 sfx2/inc/sorgitm.hxx
create mode 100644 sfx2/inc/srchdlg.hxx
create mode 100644 sfx2/inc/strings.hxx
create mode 100644 sfx2/inc/templatecontaineritem.hxx
create mode 100644 sfx2/inc/templatedefaultview.hxx
create mode 100644 sfx2/inc/templateviewitem.hxx
create mode 100644 sfx2/inc/unoctitm.hxx
create mode 100644 sfx2/qa/complex/sfx2/DocumentEvents.java
create mode 100644 sfx2/qa/complex/sfx2/DocumentMetadataAccess.java
create mode 100644 sfx2/qa/complex/sfx2/DocumentProperties.java
create mode 100644 sfx2/qa/complex/sfx2/GlobalEventBroadcaster.java
create mode 100644 sfx2/qa/complex/sfx2/UndoManager.java
create mode 100644 sfx2/qa/complex/sfx2/testdocuments/CUSTOM.odt
create mode 100644 sfx2/qa/complex/sfx2/testdocuments/TEST.odt
create mode 100644 sfx2/qa/complex/sfx2/testdocuments/TESTRDFA.odt
create mode 100644 sfx2/qa/complex/sfx2/testdocuments/empty.rdf
create mode 100644 sfx2/qa/complex/sfx2/tools/TestDocument.java
create mode 100644 sfx2/qa/complex/sfx2/tools/WriterHelper.java
create mode 100644 sfx2/qa/complex/sfx2/undo/CalcDocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/ChartDocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/DocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/DocumentTestBase.java
create mode 100644 sfx2/qa/complex/sfx2/undo/DrawDocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/DrawingOrPresentationDocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/ImpressDocumentTest.java
create mode 100644 sfx2/qa/complex/sfx2/undo/WriterDocumentTest.java
create mode 100644 sfx2/qa/cppunit/data/reload-page.odg
create mode 100644 sfx2/qa/cppunit/doc.cxx
create mode 100644 sfx2/qa/cppunit/misc/hello.odt
create mode 100644 sfx2/qa/cppunit/test_classification.cxx
create mode 100644 sfx2/qa/cppunit/test_controlleritem.cxx
create mode 100644 sfx2/qa/cppunit/test_metadatable.cxx
create mode 100644 sfx2/qa/cppunit/test_misc.cxx
create mode 100644 sfx2/qa/cppunit/view.cxx
create mode 100644 sfx2/qa/python/check_sidebar.py
create mode 100644 sfx2/qa/python/check_sidebar_registry.py
create mode 100644 sfx2/qa/uitest/doc/data/pdf-sign.pdf
create mode 100644 sfx2/qa/uitest/doc/objserv.py
create mode 100644 sfx2/qa/unit/data/sfx2-dialogs-test.txt
create mode 100644 sfx2/qa/unit/sfx2-dialogs-test.cxx
create mode 100644 sfx2/qa/unoapi/knownissues.xcl
create mode 100644 sfx2/qa/unoapi/sfx.sce
create mode 100644 sfx2/qa/unoapi/testdocuments/SfxStandaloneDocInfoObject.sdw
create mode 100644 sfx2/qa/unoapi/testdocuments/report.stw
create mode 100644 sfx2/qa/unoapi/testdocuments/report2.stw
create mode 100644 sfx2/sdi/appslots.sdi
create mode 100644 sfx2/sdi/docslots.sdi
create mode 100644 sfx2/sdi/frmslots.sdi
create mode 100644 sfx2/sdi/sfx.sdi
create mode 100644 sfx2/sdi/sfxitems.sdi
create mode 100644 sfx2/sdi/sfxslots.sdi
create mode 100644 sfx2/sdi/viwslots.sdi
create mode 100644 sfx2/source/accessibility/AccessibilityCheck.cxx
create mode 100644 sfx2/source/accessibility/AccessibilityIssue.cxx
create mode 100644 sfx2/source/appl/app.cxx
create mode 100644 sfx2/source/appl/appbas.cxx
create mode 100644 sfx2/source/appl/appbaslib.cxx
create mode 100644 sfx2/source/appl/appcfg.cxx
create mode 100644 sfx2/source/appl/appchild.cxx
create mode 100644 sfx2/source/appl/appdata.cxx
create mode 100644 sfx2/source/appl/appdde.cxx
create mode 100644 sfx2/source/appl/appdispatchprovider.cxx
create mode 100644 sfx2/source/appl/appinit.cxx
create mode 100644 sfx2/source/appl/appmain.cxx
create mode 100644 sfx2/source/appl/appmisc.cxx
create mode 100644 sfx2/source/appl/appopen.cxx
create mode 100644 sfx2/source/appl/appquit.cxx
create mode 100644 sfx2/source/appl/appreg.cxx
create mode 100644 sfx2/source/appl/appserv.cxx
create mode 100644 sfx2/source/appl/appuno.cxx
create mode 100644 sfx2/source/appl/childwin.cxx
create mode 100644 sfx2/source/appl/fileobj.cxx
create mode 100644 sfx2/source/appl/fileobj.hxx
create mode 100644 sfx2/source/appl/flatpak.cxx
create mode 100644 sfx2/source/appl/fwkhelper.cxx
create mode 100644 sfx2/source/appl/getbasctlfunction.cxx
create mode 100644 sfx2/source/appl/getbasctlfunction.hxx
create mode 100644 sfx2/source/appl/helpdispatch.cxx
create mode 100644 sfx2/source/appl/helpdispatch.hxx
create mode 100644 sfx2/source/appl/helpinterceptor.cxx
create mode 100644 sfx2/source/appl/helpinterceptor.hxx
create mode 100644 sfx2/source/appl/impldde.cxx
create mode 100644 sfx2/source/appl/impldde.hxx
create mode 100644 sfx2/source/appl/linkmgr2.cxx
create mode 100644 sfx2/source/appl/linksrc.cxx
create mode 100644 sfx2/source/appl/lnkbase2.cxx
create mode 100644 sfx2/source/appl/macroloader.cxx
create mode 100644 sfx2/source/appl/module.cxx
create mode 100644 sfx2/source/appl/newhelp.cxx
create mode 100644 sfx2/source/appl/newhelp.hxx
create mode 100644 sfx2/source/appl/opengrf.cxx
create mode 100644 sfx2/source/appl/openuriexternally.cxx
create mode 100644 sfx2/source/appl/preventduplicateinteraction.cxx
create mode 100644 sfx2/source/appl/sfxhelp.cxx
create mode 100644 sfx2/source/appl/sfxpicklist.cxx
create mode 100644 sfx2/source/appl/shutdownicon.cxx
create mode 100644 sfx2/source/appl/shutdownicon.hxx
create mode 100644 sfx2/source/appl/shutdowniconaqua.mm
create mode 100644 sfx2/source/appl/shutdowniconw32.cxx
create mode 100644 sfx2/source/appl/workwin.cxx
create mode 100644 sfx2/source/appl/xpackcreator.cxx
create mode 100644 sfx2/source/bastyp/bitset.cxx
create mode 100644 sfx2/source/bastyp/fltfnc.cxx
create mode 100644 sfx2/source/bastyp/fltlst.cxx
create mode 100644 sfx2/source/bastyp/fltlst.hxx
create mode 100644 sfx2/source/bastyp/frmhtml.cxx
create mode 100644 sfx2/source/bastyp/frmhtmlw.cxx
create mode 100644 sfx2/source/bastyp/helper.cxx
create mode 100644 sfx2/source/bastyp/mieclip.cxx
create mode 100644 sfx2/source/bastyp/progress.cxx
create mode 100644 sfx2/source/bastyp/sfxhtml.cxx
create mode 100644 sfx2/source/bastyp/sfxresid.cxx
create mode 100644 sfx2/source/commandpopup/CommandPopup.cxx
create mode 100644 sfx2/source/config/evntconf.cxx
create mode 100644 sfx2/source/control/bindings.cxx
create mode 100644 sfx2/source/control/charmapcontrol.cxx
create mode 100644 sfx2/source/control/charwin.cxx
create mode 100644 sfx2/source/control/ctrlitem.cxx
create mode 100644 sfx2/source/control/dispatch.cxx
create mode 100644 sfx2/source/control/listview.cxx
create mode 100644 sfx2/source/control/minfitem.cxx
create mode 100644 sfx2/source/control/msg.cxx
create mode 100644 sfx2/source/control/msgpool.cxx
create mode 100644 sfx2/source/control/objface.cxx
create mode 100644 sfx2/source/control/recentdocsview.cxx
create mode 100644 sfx2/source/control/recentdocsviewitem.cxx
create mode 100644 sfx2/source/control/recentdocsviewitem.hxx
create mode 100644 sfx2/source/control/request.cxx
create mode 100644 sfx2/source/control/sfxstatuslistener.cxx
create mode 100644 sfx2/source/control/shell.cxx
create mode 100644 sfx2/source/control/sorgitm.cxx
create mode 100644 sfx2/source/control/statcach.cxx
create mode 100644 sfx2/source/control/templatecontaineritem.cxx
create mode 100644 sfx2/source/control/templatedefaultview.cxx
create mode 100644 sfx2/source/control/templatedlglocalview.cxx
create mode 100644 sfx2/source/control/templatelocalview.cxx
create mode 100644 sfx2/source/control/templateviewitem.cxx
create mode 100644 sfx2/source/control/thumbnailview.cxx
create mode 100644 sfx2/source/control/thumbnailviewacc.cxx
create mode 100644 sfx2/source/control/thumbnailviewacc.hxx
create mode 100644 sfx2/source/control/thumbnailviewitem.cxx
create mode 100644 sfx2/source/control/unoctitm.cxx
create mode 100644 sfx2/source/devtools/DevToolsStrings.hrc
create mode 100644 sfx2/source/devtools/DevelopmentToolChildWindow.cxx
create mode 100644 sfx2/source/devtools/DevelopmentToolDockingWindow.cxx
create mode 100644 sfx2/source/devtools/DocumentModelTreeHandler.cxx
create mode 100644 sfx2/source/devtools/ObjectInspectorTreeHandler.cxx
create mode 100644 sfx2/source/devtools/SelectionChangeHandler.hxx
create mode 100644 sfx2/source/dialog/StyleList.cxx
create mode 100644 sfx2/source/dialog/alienwarn.cxx
create mode 100644 sfx2/source/dialog/backingcomp.cxx
create mode 100644 sfx2/source/dialog/backingwindow.cxx
create mode 100644 sfx2/source/dialog/backingwindow.hxx
create mode 100644 sfx2/source/dialog/basedlgs.cxx
create mode 100644 sfx2/source/dialog/bluthsnd.cxx
create mode 100644 sfx2/source/dialog/charmappopup.cxx
create mode 100644 sfx2/source/dialog/checkin.cxx
create mode 100644 sfx2/source/dialog/dialoghelper.cxx
create mode 100644 sfx2/source/dialog/dinfdlg.cxx
create mode 100644 sfx2/source/dialog/dockwin.cxx
create mode 100644 sfx2/source/dialog/documentfontsdialog.cxx
create mode 100644 sfx2/source/dialog/filedlghelper.cxx
create mode 100644 sfx2/source/dialog/filedlgimpl.hxx
create mode 100644 sfx2/source/dialog/filtergrouping.cxx
create mode 100644 sfx2/source/dialog/filtergrouping.hxx
create mode 100644 sfx2/source/dialog/infobar.cxx
create mode 100644 sfx2/source/dialog/inputdlg.cxx
create mode 100644 sfx2/source/dialog/mailmodel.cxx
create mode 100644 sfx2/source/dialog/mgetempl.cxx
create mode 100644 sfx2/source/dialog/mgetempl.hxx
create mode 100644 sfx2/source/dialog/navigat.cxx
create mode 100644 sfx2/source/dialog/newstyle.cxx
create mode 100644 sfx2/source/dialog/partwnd.cxx
create mode 100644 sfx2/source/dialog/passwd.cxx
create mode 100644 sfx2/source/dialog/printopt.cxx
create mode 100644 sfx2/source/dialog/recfloat.cxx
create mode 100644 sfx2/source/dialog/securitypage.cxx
create mode 100644 sfx2/source/dialog/securitypage.hxx
create mode 100644 sfx2/source/dialog/sfxdlg.cxx
create mode 100644 sfx2/source/dialog/splitwin.cxx
create mode 100644 sfx2/source/dialog/srchdlg.cxx
create mode 100644 sfx2/source/dialog/styfitem.cxx
create mode 100644 sfx2/source/dialog/styledlg.cxx
create mode 100644 sfx2/source/dialog/tabdlg.cxx
create mode 100644 sfx2/source/dialog/templdlg.cxx
create mode 100644 sfx2/source/dialog/tplcitem.cxx
create mode 100644 sfx2/source/dialog/tplpitem.cxx
create mode 100644 sfx2/source/dialog/versdlg.cxx
create mode 100644 sfx2/source/doc/DocumentMetadataAccess.cxx
create mode 100644 sfx2/source/doc/DocumentSigner.cxx
create mode 100644 sfx2/source/doc/Metadatable.cxx
create mode 100644 sfx2/source/doc/QuerySaveDocument.cxx
create mode 100644 sfx2/source/doc/SfxDocumentMetaData.cxx
create mode 100644 sfx2/source/doc/SfxRedactionHelper.cxx
create mode 100644 sfx2/source/doc/autoredactdialog.cxx
create mode 100644 sfx2/source/doc/docfac.cxx
create mode 100644 sfx2/source/doc/docfile.cxx
create mode 100644 sfx2/source/doc/docfilt.cxx
create mode 100644 sfx2/source/doc/docinf.cxx
create mode 100644 sfx2/source/doc/docinsert.cxx
create mode 100644 sfx2/source/doc/docmacromode.cxx
create mode 100644 sfx2/source/doc/docstoragemodifylistener.cxx
create mode 100644 sfx2/source/doc/doctempl.cxx
create mode 100644 sfx2/source/doc/doctemplates.cxx
create mode 100644 sfx2/source/doc/doctemplateslocal.cxx
create mode 100644 sfx2/source/doc/doctemplateslocal.hxx
create mode 100644 sfx2/source/doc/docundomanager.cxx
create mode 100644 sfx2/source/doc/exoticfileloadexception.cxx
create mode 100644 sfx2/source/doc/exoticfileloadexception.hxx
create mode 100644 sfx2/source/doc/frmdescr.cxx
create mode 100644 sfx2/source/doc/graphhelp.cxx
create mode 100644 sfx2/source/doc/graphhelp.hxx
create mode 100644 sfx2/source/doc/guisaveas.cxx
create mode 100644 sfx2/source/doc/iframe.cxx
create mode 100644 sfx2/source/doc/new.cxx
create mode 100644 sfx2/source/doc/objcont.cxx
create mode 100644 sfx2/source/doc/objembed.cxx
create mode 100644 sfx2/source/doc/objitem.cxx
create mode 100644 sfx2/source/doc/objmisc.cxx
create mode 100644 sfx2/source/doc/objserv.cxx
create mode 100644 sfx2/source/doc/objstor.cxx
create mode 100644 sfx2/source/doc/objstor.hxx
create mode 100644 sfx2/source/doc/objxtor.cxx
create mode 100644 sfx2/source/doc/oleprops.cxx
create mode 100644 sfx2/source/doc/oleprops.hxx
create mode 100644 sfx2/source/doc/ownsubfilterservice.cxx
create mode 100644 sfx2/source/doc/printhelper.cxx
create mode 100644 sfx2/source/doc/printhelper.hxx
create mode 100644 sfx2/source/doc/saveastemplatedlg.cxx
create mode 100644 sfx2/source/doc/sfxbasemodel.cxx
create mode 100644 sfx2/source/doc/sfxmodelfactory.cxx
create mode 100644 sfx2/source/doc/signaturestate.cxx
create mode 100644 sfx2/source/doc/syspath.cxx
create mode 100644 sfx2/source/doc/syspath.hxx
create mode 100644 sfx2/source/doc/syspathw32.cxx
create mode 100644 sfx2/source/doc/syspathw32.hxx
create mode 100644 sfx2/source/doc/templatedlg.cxx
create mode 100644 sfx2/source/doc/watermarkitem.cxx
create mode 100644 sfx2/source/doc/zoomitem.cxx
create mode 100644 sfx2/source/explorer/nochaos.cxx
create mode 100644 sfx2/source/inc/StyleList.hxx
create mode 100644 sfx2/source/inc/alienwarn.hxx
create mode 100644 sfx2/source/inc/appbaslib.hxx
create mode 100644 sfx2/source/inc/appdata.hxx
create mode 100644 sfx2/source/inc/appopen.hxx
create mode 100644 sfx2/source/inc/documentfontsdialog.hxx
create mode 100644 sfx2/source/inc/docundomanager.hxx
create mode 100644 sfx2/source/inc/eventsupplier.hxx
create mode 100644 sfx2/source/inc/fltoptint.hxx
create mode 100644 sfx2/source/inc/helper.hxx
create mode 100644 sfx2/source/inc/helpids.h
create mode 100644 sfx2/source/inc/hintpost.hxx
create mode 100644 sfx2/source/inc/macroloader.hxx
create mode 100644 sfx2/source/inc/nochaos.hxx
create mode 100644 sfx2/source/inc/objshimp.hxx
create mode 100644 sfx2/source/inc/openflag.hxx
create mode 100644 sfx2/source/inc/openuriexternally.hxx
create mode 100644 sfx2/source/inc/openurlhint.hxx
create mode 100644 sfx2/source/inc/partwnd.hxx
create mode 100644 sfx2/source/inc/preview.hxx
create mode 100644 sfx2/source/inc/recfloat.hxx
create mode 100644 sfx2/source/inc/sfxpicklist.hxx
create mode 100644 sfx2/source/inc/sfxtypes.hxx
create mode 100644 sfx2/source/inc/sfxurlrelocator.hxx
create mode 100644 sfx2/source/inc/slotserv.hxx
create mode 100644 sfx2/source/inc/splitwin.hxx
create mode 100644 sfx2/source/inc/statcach.hxx
create mode 100644 sfx2/source/inc/templatesearchviewitem.hxx
create mode 100644 sfx2/source/inc/templdgi.hxx
create mode 100644 sfx2/source/inc/tplcitem.hxx
create mode 100644 sfx2/source/inc/versdlg.hxx
create mode 100644 sfx2/source/inc/workwin.hxx
create mode 100644 sfx2/source/inet/inettbc.cxx
create mode 100644 sfx2/source/notebookbar/NotebookbarTabControl.cxx
create mode 100644 sfx2/source/notebookbar/SfxNotebookBar.cxx
create mode 100644 sfx2/source/notify/eventsupplier.cxx
create mode 100644 sfx2/source/notify/globalevents.cxx
create mode 100644 sfx2/source/notify/hintpost.cxx
create mode 100644 sfx2/source/notify/openurlhint.cxx
create mode 100644 sfx2/source/safemode/safemode.cxx
create mode 100644 sfx2/source/sidebar/AsynchronousCall.cxx
create mode 100644 sfx2/source/sidebar/Context.cxx
create mode 100644 sfx2/source/sidebar/ContextChangeBroadcaster.cxx
create mode 100644 sfx2/source/sidebar/ContextList.cxx
create mode 100644 sfx2/source/sidebar/ControllerFactory.cxx
create mode 100644 sfx2/source/sidebar/ControllerItem.cxx
create mode 100644 sfx2/source/sidebar/Deck.cxx
create mode 100644 sfx2/source/sidebar/DeckDescriptor.cxx
create mode 100644 sfx2/source/sidebar/DeckLayouter.cxx
create mode 100644 sfx2/source/sidebar/DeckTitleBar.cxx
create mode 100644 sfx2/source/sidebar/FocusManager.cxx
create mode 100644 sfx2/source/sidebar/IContextChangeReceiver.cxx
create mode 100644 sfx2/source/sidebar/ILayoutableWindow.cxx
create mode 100644 sfx2/source/sidebar/Panel.cxx
create mode 100644 sfx2/source/sidebar/PanelDescriptor.cxx
create mode 100644 sfx2/source/sidebar/PanelLayout.cxx
create mode 100644 sfx2/source/sidebar/PanelTitleBar.cxx
create mode 100644 sfx2/source/sidebar/ResourceManager.cxx
create mode 100644 sfx2/source/sidebar/Sidebar.cxx
create mode 100644 sfx2/source/sidebar/SidebarChildWindow.cxx
create mode 100644 sfx2/source/sidebar/SidebarController.cxx
create mode 100644 sfx2/source/sidebar/SidebarDockingWindow.cxx
create mode 100644 sfx2/source/sidebar/SidebarModelUpdate.cxx
create mode 100644 sfx2/source/sidebar/SidebarPanelBase.cxx
create mode 100644 sfx2/source/sidebar/SidebarToolBox.cxx
create mode 100644 sfx2/source/sidebar/TabBar.cxx
create mode 100644 sfx2/source/sidebar/Theme.cxx
create mode 100644 sfx2/source/sidebar/TitleBar.cxx
create mode 100644 sfx2/source/sidebar/Tools.cxx
create mode 100644 sfx2/source/sidebar/UnoDeck.cxx
create mode 100644 sfx2/source/sidebar/UnoDecks.cxx
create mode 100644 sfx2/source/sidebar/UnoPanel.cxx
create mode 100644 sfx2/source/sidebar/UnoPanels.cxx
create mode 100644 sfx2/source/sidebar/UnoSidebar.cxx
create mode 100644 sfx2/source/sidebar/uiobject.cxx
create mode 100644 sfx2/source/sidebar/uiobject.hxx
create mode 100644 sfx2/source/statbar/stbitem.cxx
create mode 100644 sfx2/source/styles/StyleManager.cxx
create mode 100644 sfx2/source/toolbox/tbxitem.cxx
create mode 100644 sfx2/source/toolbox/weldutils.cxx
create mode 100644 sfx2/source/view/classificationcontroller.cxx
create mode 100644 sfx2/source/view/classificationhelper.cxx
create mode 100644 sfx2/source/view/frame.cxx
create mode 100644 sfx2/source/view/frame2.cxx
create mode 100644 sfx2/source/view/frmload.cxx
create mode 100644 sfx2/source/view/impframe.hxx
create mode 100644 sfx2/source/view/impviewframe.hxx
create mode 100644 sfx2/source/view/ipclient.cxx
create mode 100644 sfx2/source/view/lokcharthelper.cxx
create mode 100644 sfx2/source/view/lokhelper.cxx
create mode 100644 sfx2/source/view/lokstarmathhelper.cxx
create mode 100644 sfx2/source/view/printer.cxx
create mode 100644 sfx2/source/view/prnmon.hxx
create mode 100644 sfx2/source/view/sfxbasecontroller.cxx
create mode 100644 sfx2/source/view/userinputinterception.cxx
create mode 100644 sfx2/source/view/viewfac.cxx
create mode 100644 sfx2/source/view/viewfrm.cxx
create mode 100644 sfx2/source/view/viewfrm2.cxx
create mode 100644 sfx2/source/view/viewimp.hxx
create mode 100644 sfx2/source/view/viewprn.cxx
create mode 100644 sfx2/source/view/viewsh.cxx
create mode 100644 sfx2/uiconfig/ui/addtargetdialog.ui
create mode 100644 sfx2/uiconfig/ui/alienwarndialog.ui
create mode 100644 sfx2/uiconfig/ui/autoredactdialog.ui
create mode 100644 sfx2/uiconfig/ui/bookmarkdialog.ui
create mode 100644 sfx2/uiconfig/ui/bookmarkmenu.ui
create mode 100644 sfx2/uiconfig/ui/charmapcontrol.ui
create mode 100644 sfx2/uiconfig/ui/charviewmenu.ui
create mode 100644 sfx2/uiconfig/ui/checkin.ui
create mode 100644 sfx2/uiconfig/ui/classificationbox.ui
create mode 100644 sfx2/uiconfig/ui/cmisinfopage.ui
create mode 100644 sfx2/uiconfig/ui/cmisline.ui
create mode 100644 sfx2/uiconfig/ui/commandpopup.ui
create mode 100644 sfx2/uiconfig/ui/custominfopage.ui
create mode 100644 sfx2/uiconfig/ui/deck.ui
create mode 100644 sfx2/uiconfig/ui/descriptioninfopage.ui
create mode 100644 sfx2/uiconfig/ui/developmenttool.ui
create mode 100644 sfx2/uiconfig/ui/devtoolsmenu.ui
create mode 100644 sfx2/uiconfig/ui/documentfontspage.ui
create mode 100644 sfx2/uiconfig/ui/documentinfopage.ui
create mode 100644 sfx2/uiconfig/ui/documentpropertiesdialog.ui
create mode 100644 sfx2/uiconfig/ui/editdocumentdialog.ui
create mode 100644 sfx2/uiconfig/ui/editdurationdialog.ui
create mode 100644 sfx2/uiconfig/ui/errorfindemaildialog.ui
create mode 100644 sfx2/uiconfig/ui/extrabutton.ui
create mode 100644 sfx2/uiconfig/ui/floatingrecord.ui
create mode 100644 sfx2/uiconfig/ui/helpbookmarkpage.ui
create mode 100644 sfx2/uiconfig/ui/helpcontentpage.ui
create mode 100644 sfx2/uiconfig/ui/helpcontrol.ui
create mode 100644 sfx2/uiconfig/ui/helpindexpage.ui
create mode 100644 sfx2/uiconfig/ui/helpmanual.ui
create mode 100644 sfx2/uiconfig/ui/helpsearchpage.ui
create mode 100644 sfx2/uiconfig/ui/helpwindow.ui
create mode 100644 sfx2/uiconfig/ui/infobar.ui
create mode 100644 sfx2/uiconfig/ui/inputdialog.ui
create mode 100644 sfx2/uiconfig/ui/licensedialog.ui
create mode 100644 sfx2/uiconfig/ui/linefragment.ui
create mode 100644 sfx2/uiconfig/ui/linkeditdialog.ui
create mode 100644 sfx2/uiconfig/ui/loadtemplatedialog.ui
create mode 100644 sfx2/uiconfig/ui/managestylepage.ui
create mode 100644 sfx2/uiconfig/ui/navigator.ui
create mode 100644 sfx2/uiconfig/ui/newstyle.ui
create mode 100644 sfx2/uiconfig/ui/notebookbar.ui
create mode 100644 sfx2/uiconfig/ui/notebookbarpopup.ui
create mode 100644 sfx2/uiconfig/ui/optprintpage.ui
create mode 100644 sfx2/uiconfig/ui/panel.ui
create mode 100644 sfx2/uiconfig/ui/password.ui
create mode 100644 sfx2/uiconfig/ui/printeroptionsdialog.ui
create mode 100644 sfx2/uiconfig/ui/querysavedialog.ui
create mode 100644 sfx2/uiconfig/ui/safemodequerydialog.ui
create mode 100644 sfx2/uiconfig/ui/saveastemplatedlg.ui
create mode 100644 sfx2/uiconfig/ui/searchdialog.ui
create mode 100644 sfx2/uiconfig/ui/securityinfopage.ui
create mode 100644 sfx2/uiconfig/ui/singletabdialog.ui
create mode 100644 sfx2/uiconfig/ui/startcenter.ui
create mode 100644 sfx2/uiconfig/ui/stylecontextmenu.ui
create mode 100644 sfx2/uiconfig/ui/tabbar.ui
create mode 100644 sfx2/uiconfig/ui/tabbarcontents.ui
create mode 100644 sfx2/uiconfig/ui/tabbutton.ui
create mode 100644 sfx2/uiconfig/ui/templatecategorydlg.ui
create mode 100644 sfx2/uiconfig/ui/templatedlg.ui
create mode 100644 sfx2/uiconfig/ui/templatepanel.ui
create mode 100644 sfx2/uiconfig/ui/urlbox.ui
create mode 100644 sfx2/uiconfig/ui/versioncommentdialog.ui
create mode 100644 sfx2/uiconfig/ui/versionscmis.ui
create mode 100644 sfx2/uiconfig/ui/versionsofdialog.ui
create mode 100644 sfx2/util/sfx.component
create mode 100644 sfx2/util/sfx.component.extended
(limited to 'sfx2')
diff --git a/sfx2/AllLangMoTarget_sfx2.mk b/sfx2/AllLangMoTarget_sfx2.mk
new file mode 100644
index 0000000000..b0f7dc3efe
--- /dev/null
+++ b/sfx2/AllLangMoTarget_sfx2.mk
@@ -0,0 +1,13 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+
+$(eval $(call gb_AllLangMoTarget_AllLangMoTarget,sfx))
+
+$(eval $(call gb_AllLangMoTarget_set_polocation,sfx,sfx2))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_classification.mk b/sfx2/CppunitTest_sfx2_classification.mk
new file mode 100644
index 0000000000..2595c9c151
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_classification.mk
@@ -0,0 +1,49 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_classification))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_classification, \
+ sfx2/qa/cppunit/test_classification \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_classification))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_classification, \
+ comphelper \
+ cppu \
+ cppuhelper \
+ test \
+ unotest \
+ utl \
+ tl \
+ vcl \
+ sal \
+ subsequenttest \
+ sfx \
+))
+
+$(eval $(call gb_CppunitTest_use_external,sfx2_classification,boost_headers))
+
+$(eval $(call gb_CppunitTest_use_ure,sfx2_classification))
+$(eval $(call gb_CppunitTest_use_vcl,sfx2_classification))
+
+$(eval $(call gb_CppunitTest_use_rdb,sfx2_classification,services))
+
+$(eval $(call gb_CppunitTest_use_configuration,sfx2_classification))
+
+$(eval $(call gb_CppunitTest_use_uiconfigs,sfx2_classification,\
+ svx \
+))
+
+$(eval $(call gb_CppunitTest_use_packages,sfx2_classification,\
+ sfx2_classification \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_controlleritem.mk b/sfx2/CppunitTest_sfx2_controlleritem.mk
new file mode 100644
index 0000000000..f81ac13305
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_controlleritem.mk
@@ -0,0 +1,25 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_controlleritem))
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_controlleritem))
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_controlleritem, \
+ sfx2/qa/cppunit/test_controlleritem \
+))
+$(eval $(call gb_CppunitTest_use_externals,sfx2_controlleritem, \
+ boost_headers \
+))
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_controlleritem, \
+ cppu \
+ cppuhelper \
+ sal \
+ sfx \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_dialogs_test.mk b/sfx2/CppunitTest_sfx2_dialogs_test.mk
new file mode 100644
index 0000000000..88646565d8
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_dialogs_test.mk
@@ -0,0 +1,69 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# 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/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitScreenShot,sfx2_dialogs_test))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_dialogs_test, \
+ sfx2/qa/unit/sfx2-dialogs-test \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_dialogs_test))
+
+$(eval $(call gb_CppunitTest_set_include,desktop_dialogs_test,\
+ -I$(SRCDIR)/sfx2/source/inc \
+ -I$(SRCDIR)/sfx2/inc \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_dialogs_test, \
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ drawinglayer \
+ editeng \
+ i18nlangtag \
+ i18nutil \
+ msfilter \
+ oox \
+ sal \
+ salhelper \
+ sax \
+ sfx \
+ sot \
+ svl \
+ svt \
+ test \
+ tl \
+ tk \
+ ucbhelper \
+ unotest \
+ utl \
+ vcl \
+ xo \
+))
+
+$(eval $(call gb_CppunitTest_use_external,sfx2_dialogs_test,boost_headers))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_dialogs_test))
+
+$(eval $(call gb_CppunitTest_use_ure,sfx2_dialogs_test))
+$(eval $(call gb_CppunitTest_use_vcl_non_headless_with_windows,sfx2_dialogs_test))
+
+$(eval $(call gb_CppunitTest_use_rdb,sfx2_dialogs_test,services))
+
+$(eval $(call gb_CppunitTest_use_configuration,sfx2_dialogs_test))
+
+$(eval $(call gb_CppunitTest_use_uiconfigs,sfx2_dialogs_test,\
+ sfx \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_doc.mk b/sfx2/CppunitTest_sfx2_doc.mk
new file mode 100644
index 0000000000..f1f404d13b
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_doc.mk
@@ -0,0 +1,49 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# 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/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_doc))
+
+$(eval $(call gb_CppunitTest_use_externals,sfx2_doc,\
+ boost_headers \
+))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_doc, \
+ sfx2/qa/cppunit/doc \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_doc, \
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ subsequenttest \
+ test \
+ unotest \
+ sfx \
+ svl \
+ utl \
+ tl \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_doc))
+
+$(eval $(call gb_CppunitTest_use_ure,sfx2_doc))
+$(eval $(call gb_CppunitTest_use_vcl,sfx2_doc))
+
+$(eval $(call gb_CppunitTest_use_rdb,sfx2_doc,services))
+
+$(eval $(call gb_CppunitTest_use_custom_headers,sfx2_doc,\
+ officecfg/registry \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,sfx2_doc))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_metadatable.mk b/sfx2/CppunitTest_sfx2_metadatable.mk
new file mode 100644
index 0000000000..7e6d8889a6
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_metadatable.mk
@@ -0,0 +1,37 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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 .
+#
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_metadatable))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_metadatable, \
+ sfx2/qa/cppunit/test_metadatable \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_metadatable))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_metadatable, \
+ cppu \
+ cppuhelper \
+ sal \
+ sfx \
+))
+
+$(eval $(call gb_CppunitTest_use_external,sfx2_metadatable,boost_headers))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_misc.mk b/sfx2/CppunitTest_sfx2_misc.mk
new file mode 100644
index 0000000000..6e2708c9a6
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_misc.mk
@@ -0,0 +1,46 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_misc))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_misc, \
+ sfx2/qa/cppunit/test_misc \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_misc))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_misc, \
+ comphelper \
+ cppu \
+ cppuhelper \
+ test \
+ unotest \
+ vcl \
+ sal \
+ subsequenttest \
+ sfx \
+ utl \
+ tl \
+))
+
+$(eval $(call gb_CppunitTest_use_externals,sfx2_misc,\
+ libxml2 \
+ boost_headers \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_misc))
+
+$(eval $(call gb_CppunitTest_use_ure,sfx2_misc))
+$(eval $(call gb_CppunitTest_use_vcl,sfx2_misc))
+
+$(eval $(call gb_CppunitTest_use_rdb,sfx2_misc,services))
+
+$(eval $(call gb_CppunitTest_use_configuration,sfx2_misc))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CppunitTest_sfx2_view.mk b/sfx2/CppunitTest_sfx2_view.mk
new file mode 100644
index 0000000000..70ca709fe4
--- /dev/null
+++ b/sfx2/CppunitTest_sfx2_view.mk
@@ -0,0 +1,49 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#*************************************************************************
+#
+# 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/.
+#
+#*************************************************************************
+
+$(eval $(call gb_CppunitTest_CppunitTest,sfx2_view))
+
+$(eval $(call gb_CppunitTest_use_externals,sfx2_view,\
+ boost_headers \
+))
+
+$(eval $(call gb_CppunitTest_add_exception_objects,sfx2_view, \
+ sfx2/qa/cppunit/view \
+))
+
+$(eval $(call gb_CppunitTest_use_libraries,sfx2_view, \
+ comphelper \
+ cppu \
+ cppuhelper \
+ sal \
+ subsequenttest \
+ test \
+ unotest \
+ utl \
+ tl \
+ sfx \
+ svl \
+))
+
+$(eval $(call gb_CppunitTest_use_sdk_api,sfx2_view))
+
+$(eval $(call gb_CppunitTest_use_ure,sfx2_view))
+$(eval $(call gb_CppunitTest_use_vcl,sfx2_view))
+
+$(eval $(call gb_CppunitTest_use_rdb,sfx2_view,services))
+
+$(eval $(call gb_CppunitTest_use_custom_headers,sfx2_view,\
+ officecfg/registry \
+))
+
+$(eval $(call gb_CppunitTest_use_configuration,sfx2_view))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/CustomTarget_classification.mk b/sfx2/CustomTarget_classification.mk
new file mode 100644
index 0000000000..4ecc1e7501
--- /dev/null
+++ b/sfx2/CustomTarget_classification.mk
@@ -0,0 +1,28 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_CustomTarget_CustomTarget,sfx2/classification))
+
+sfx2_classification_SRC := $(SRCDIR)/sfx2/classification
+sfx2_classification_WORK := $(call gb_CustomTarget_get_workdir,sfx2/classification)
+sfx2_classification_GEN_example_validated=$(sfx2_classification_WORK)/example.validated
+
+sfx2_classification_XMLLINTCOMMAND := $(call gb_ExternalExecutable_get_command,xmllint)
+
+$(sfx2_classification_GEN_example_validated) : $(sfx2_classification_SRC)/baf.xsd $(sfx2_classification_SRC)/example.xml
+ $(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),build,VAL,1)
+ $(call gb_Helper_abbreviate_dirs,\
+ $(sfx2_classification_XMLLINTCOMMAND) --noout --schema $(sfx2_classification_SRC)/baf.xsd $(sfx2_classification_SRC)/example.xml > $@ 2>&1 \
+ || (cat $@; false))
+
+$(call gb_CustomTarget_get_target,sfx2/classification) : $(sfx2_classification_GEN_example_validated)
+
+$(sfx2_classification_GEN_example_validated) :| $(call gb_ExternalExecutable_get_dependencies,xmllint) $(sfx2_classification_WORK)/.dir
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/IwyuFilter_sfx2.yaml b/sfx2/IwyuFilter_sfx2.yaml
new file mode 100644
index 0000000000..9d653c2ae0
--- /dev/null
+++ b/sfx2/IwyuFilter_sfx2.yaml
@@ -0,0 +1,181 @@
+---
+assumeFilename: sfx2/source/appl/app.cxx
+excludelist:
+ sfx2/inc/sidebar/UnoDeck.hxx:
+ # base class has to be a complete type
+ - com/sun/star/ui/XDeck.hpp
+ sfx2/inc/sidebar/UnoDecks.hxx:
+ # base class has to be a complete type
+ - com/sun/star/ui/XDecks.hpp
+ sfx2/inc/sidebar/UnoPanel.hxx:
+ # base class has to be a complete type
+ - com/sun/star/ui/XPanel.hpp
+ sfx2/inc/sidebar/UnoPanels.hxx:
+ # base class has to be a complete type
+ - com/sun/star/ui/XPanels.hpp
+ sfx2/inc/recentdocsview.hxx:
+ # Needed for struct declaration
+ - com/sun/star/beans/PropertyValue.hpp
+ sfx2/inc/unoctitm.hxx:
+ # base class has to be a complete type
+ - com/sun/star/frame/XNotifyingDispatch.hpp
+ - com/sun/star/lang/XUnoTunnel.hpp
+ sfx2/source/doc/syspathw32.hxx:
+ # Needed on WIN32
+ - sal/types.h
+ sfx2/source/appl/appdata.cxx:
+ # Needed for direct member access
+ - sfx2/module.hxx
+ sfx2/source/appl/appdde.cxx:
+ # Needed on WIN32
+ - config_features.h
+ - rtl/character.hxx
+ - rtl/malformeduriexception.hxx
+ - rtl/uri.hxx
+ - sot/exchange.hxx
+ - svl/eitem.hxx
+ - basic/sbstar.hxx
+ - svl/stritem.hxx
+ - sfx2/lnkbase.hxx
+ - sfx2/linkmgr.hxx
+ - tools/debug.hxx
+ - tools/urlobj.hxx
+ - comphelper/diagnose_ex.hxx
+ - unotools/pathoptions.hxx
+ - vcl/svapp.hxx
+ - sfx2/viewfrm.hxx
+ - sfx2/dispatch.hxx
+ - sfx2/sfxsids.hrc
+ - sfx2/docfile.hxx
+ - ucbhelper/content.hxx
+ - comphelper/processfactory.hxx
+ sfx2/source/appl/appmisc.cxx:
+ # Needed for TypedWhichId macro
+ - svl/stritem.hxx
+ sfx2/source/appl/appquit.cxx:
+ # Full type is needed for implicit dtor
+ - sfx2/stbitem.hxx
+ - sfx2/tbxctrl.hxx
+ sfx2/source/appl/appbas.cxx:
+ # Needed for createSfxPoolItem calls
+ - svl/eitem.hxx
+ - sfx2/dinfdlg.hxx
+ - sfx2/frame.hxx
+ - sfx2/msg.hxx
+ - sorgitm.hxx
+ sfx2/source/appl/newhelp.cxx:
+ # Actually used
+ - com/sun/star/i18n/XBreakIterator.hpp
+ sfx2/source/appl/shutdownicon.cxx:
+ # Needed on MAC
+ - osl/file.hxx
+ # Needed on WIN32
+ - sfx2/sfxresid.hxx
+ - sfx2/strings.hrc
+ # Don't propose hxx -> h change in URE libs
+ - osl/module.hxx
+ sfx2/source/bastyp/fltfnc.cxx:
+ # Needed for UnoType to work
+ - com/sun/star/task/XInteractionHandler.hpp
+ sfx2/source/control/dispatch.cxx:
+ # Needed for DENTERREGISTRATIONS DLEAVEREGISTRATIONS macros from sfx2/bindings.hxx in DBG_UTIL mode
+ - rtl/strbuf.hxx
+ sfx2/source/control/listview.cxx:
+ # Needed for MOREBUTTON in sfx2/inc/bitmaps.hlst to not fail, until a bit of cleanup there.
+ - tools/wintypes.hxx
+ sfx2/source/control/sfxstatuslistener.cxx:
+ # Actually used
+ - com/sun/star/frame/XDispatchProvider.hpp
+ sfx2/source/control/statcach.cxx:
+ # Needed for template
+ - com/sun/star/frame/XFrame.hpp
+ sfx2/source/dialog/documentfontsdialog.cxx:
+ # Needed for template
+ - com/sun/star/frame/XModel.hpp
+ sfx2/source/dialog/versdlg.cxx:
+ # Needed for template
+ - com/sun/star/frame/XModel.hpp
+ sfx2/source/doc/docinf.cxx:
+ # Actually used
+ - com/sun/star/document/XDocumentProperties.hpp
+ sfx2/source/doc/DocumentMetadataAccess.cxx:
+ # Actually used
+ - com/sun/star/embed/XStorage.hpp
+ sfx2/source/doc/graphhelp.cxx:
+ # Needed on WIN32
+ - o3tl/char16_t2wchar_t.hxx
+ sfx2/source/doc/doctempl.cxx:
+ # Needed for template
+ - com/sun/star/ucb/NumberedSortingInfo.hpp
+ sfx2/source/doc/guisaveas.cxx:
+ # Needed on WIN32
+ - o3tl/char16_t2wchar_t.hxx
+ sfx2/source/doc/iframe.cxx:
+ # Needed for template
+ - com/sun/star/awt/XWindowPeer.hpp
+ sfx2/source/doc/objstor.cxx:
+ # Actually used
+ - com/sun/star/frame/XModel.hpp
+ sfx2/source/doc/syspath.cxx:
+ # Needed on WIN32
+ - syspathw32.hxx
+ sfx2/source/doc/syspathw32.cxx:
+ # Needed on WIN32
+ - o3tl/char16_t2wchar_t.hxx
+ sfx2/source/doc/printhelper.cxx:
+ # Don't propose hxx -> h change in URE libs
+ - cppuhelper/interfacecontainer.hxx
+ sfx2/source/doc/sfxbasemodel.cxx:
+ # Don't propose hxx -> h change in URE libs
+ - cppuhelper/interfacecontainer.hxx
+ sfx2/source/doc/signaturestate.cxx:
+ # Actually used
+ - com/sun/star/security/DocumentSignatureInformation.hpp
+ sfx2/source/sidebar/ControllerFactory.cxx:
+ # Actually used
+ - com/sun/star/frame/XFrame.hpp
+ # Needed for instantiation of function template specialization
+ - com/sun/star/lang/XMultiServiceFactory.hpp
+ sfx2/source/sidebar/Panel.cxx:
+ # Actually used
+ - com/sun/star/ui/XUIElement.hpp
+ sfx2/source/sidebar/ResourceManager.cxx:
+ # Needed for template
+ - com/sun/star/ui/XSidebarPanel.hpp
+ sfx2/source/sidebar/SidebarToolBox.cxx:
+ # Actually used
+ - com/sun/star/frame/XFrame.hpp
+ - com/sun/star/frame/XToolbarController.hpp
+ sfx2/source/sidebar/SidebarController.cxx:
+ # Actually used
+ - com/sun/star/awt/XWindowPeer.hpp
+ - com/sun/star/frame/XDispatch.hpp
+ - com/sun/star/ui/ContextChangeEventObject.hpp
+ sfx2/source/sidebar/SidebarDockingWindow.cxx:
+ # Needed for json_parser_error
+ - boost/property_tree/json_parser.hpp
+ sfx2/source/sidebar/SidebarPanelBase.cxx:
+ # Needed for template
+ - com/sun/star/awt/XWindowPeer.hpp
+ sfx2/source/view/ipclient.cxx:
+ # Needed for template
+ - com/sun/star/awt/XWindowPeer.hpp
+ sfx2/source/view/sfxbasecontroller.cxx:
+ # Needed for template
+ - com/sun/star/awt/XWindowPeer.hpp
+ sfx2/source/view/viewfrm2.cxx:
+ # Needed for direct member access
+ - com/sun/star/embed/VerbDescriptor.hpp
+ sfx2/source/view/classificationhelper.cxx:
+ # Actually used
+ - com/sun/star/beans/XPropertyContainer.hpp
+ - com/sun/star/document/XDocumentProperties.hpp
+ sfx2/source/view/userinputinterception.cxx:
+ # Actually used
+ - com/sun/star/awt/XKeyHandler.hpp
+ - com/sun/star/awt/XMouseClickHandler.hpp
+ # Needed for template
+ - com/sun/star/awt/XWindowPeer.hpp
+ sfx2/source/view/viewsh.cxx:
+ # Needed for TypedWhichId define
+ - svl/eitem.hxx
diff --git a/sfx2/JunitTest_sfx2_complex.mk b/sfx2/JunitTest_sfx2_complex.mk
new file mode 100644
index 0000000000..ac9cb60a42
--- /dev/null
+++ b/sfx2/JunitTest_sfx2_complex.mk
@@ -0,0 +1,62 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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 .
+#
+
+$(eval $(call gb_JunitTest_JunitTest,sfx2_complex))
+
+$(eval $(call gb_JunitTest_set_defs,sfx2_complex,\
+ $$(DEFS) \
+ -Dorg.openoffice.test.arg.tdoc=$(SRCDIR)/sfx2/qa/complex/sfx2/testdocuments \
+))
+
+$(eval $(call gb_JunitTest_use_unoapi_jars,sfx2_complex))
+
+$(eval $(call gb_JunitTest_use_jars,sfx2_complex,\
+ test-tools \
+))
+
+$(eval $(call gb_JunitTest_add_sourcefiles,sfx2_complex,\
+ sfx2/qa/complex/sfx2/DocumentMetadataAccess \
+ sfx2/qa/complex/sfx2/DocumentProperties \
+ sfx2/qa/complex/sfx2/GlobalEventBroadcaster \
+ sfx2/qa/complex/sfx2/UndoManager \
+ sfx2/qa/complex/sfx2/DocumentEvents \
+ sfx2/qa/complex/sfx2/tools/TestDocument \
+ sfx2/qa/complex/sfx2/tools/WriterHelper \
+ sfx2/qa/complex/sfx2/undo/CalcDocumentTest \
+ sfx2/qa/complex/sfx2/undo/ChartDocumentTest \
+ sfx2/qa/complex/sfx2/undo/DocumentTest \
+ sfx2/qa/complex/sfx2/undo/DocumentTestBase \
+ sfx2/qa/complex/sfx2/undo/DrawDocumentTest \
+ sfx2/qa/complex/sfx2/undo/DrawingOrPresentationDocumentTest \
+ sfx2/qa/complex/sfx2/undo/ImpressDocumentTest \
+ sfx2/qa/complex/sfx2/undo/WriterDocumentTest \
+))
+
+$(eval $(call gb_JunitTest_add_classes,sfx2_complex,\
+ complex.sfx2.DocumentProperties \
+ complex.sfx2.DocumentMetadataAccess \
+ complex.sfx2.DocumentEvents \
+ complex.sfx2.UndoManager \
+))
+# fd#35663 fails currently:
+# complex.sfx2.UndoManager \
+# #i115674# fails currently: misses some OnUnfocus event
+# complex.sfx2.GlobalEventBroadcaster \
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/JunitTest_sfx2_unoapi.mk b/sfx2/JunitTest_sfx2_unoapi.mk
new file mode 100644
index 0000000000..d812f5e0ba
--- /dev/null
+++ b/sfx2/JunitTest_sfx2_unoapi.mk
@@ -0,0 +1,24 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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 .
+#
+
+$(eval $(call gb_JunitTest_JunitTest,sfx2_unoapi))
+
+$(eval $(call gb_JunitTest_set_unoapi_test_defaults,sfx2_unoapi,,sfx.sce))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Library_sfx.mk b/sfx2/Library_sfx.mk
new file mode 100644
index 0000000000..5013ebc7a3
--- /dev/null
+++ b/sfx2/Library_sfx.mk
@@ -0,0 +1,365 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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 .
+#
+
+$(eval $(call gb_Library_Library,sfx))
+
+$(eval $(call gb_Library_add_sdi_headers,sfx,sfx2/sdi/sfxslots))
+
+$(eval $(call gb_Library_set_componentfile,sfx,sfx2/util/sfx,services))
+
+$(eval $(call gb_Library_add_componentimpls,sfx, \
+ $(if $(ENABLE_WASM_STRIP_RECENT),,extended) \
+))
+
+$(eval $(call gb_Library_set_precompiled_header,sfx,sfx2/inc/pch/precompiled_sfx))
+
+$(eval $(call gb_Library_use_custom_headers,sfx,\
+ officecfg/registry \
+))
+
+$(eval $(call gb_Library_use_sdk_api,sfx))
+
+$(eval $(call gb_Library_set_include,sfx,\
+ -I$(SRCDIR)/sfx2/inc \
+ -I$(SRCDIR)/sfx2/source/inc \
+ -I$(WORKDIR)/SdiTarget/sfx2/sdi \
+ $$(INCLUDE) \
+))
+
+$(eval $(call gb_Library_add_defs,sfx,-DSFX2_DLLIMPLEMENTATION))
+
+$(eval $(call gb_Library_add_defs,sfx,\
+ $(if $(filter TRUE,$(ENABLE_CUPS)),-DENABLE_CUPS) \
+))
+
+$(eval $(call gb_Library_use_libraries,sfx,\
+ basegfx \
+ comphelper \
+ cppu \
+ cppuhelper \
+ docmodel \
+ drawinglayercore \
+ drawinglayer \
+ fwk \
+ i18nlangtag \
+ i18nutil \
+ sal \
+ salhelper \
+ sax \
+ sb \
+ sot \
+ svl \
+ svt \
+ tk \
+ tl \
+ ucbhelper \
+ utl \
+ vcl \
+ $(if $(ENABLE_BREAKPAD), \
+ crashreport \
+ ) \
+))
+
+$(eval $(call gb_Library_use_externals,sfx,\
+ boost_headers \
+ icu_headers \
+ icui18n \
+ icuuc \
+ libxml2 \
+))
+
+ifneq ($(ENABLE_WASM_STRIP_RECENT),TRUE)
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+ sfx2/source/dialog/backingcomp \
+ sfx2/source/dialog/backingwindow \
+ sfx2/source/control/recentdocsview \
+ sfx2/source/control/recentdocsviewitem \
+))
+endif
+
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+ sfx2/source/accessibility/AccessibilityCheck \
+ sfx2/source/accessibility/AccessibilityIssue \
+ sfx2/source/appl/app \
+ sfx2/source/appl/appbas \
+ sfx2/source/appl/appbaslib \
+ sfx2/source/appl/appcfg \
+ sfx2/source/appl/appchild \
+ sfx2/source/appl/appdata \
+ sfx2/source/appl/appdde \
+ sfx2/source/appl/appdispatchprovider \
+ sfx2/source/appl/appinit \
+ sfx2/source/appl/appmain \
+ sfx2/source/appl/appmisc \
+ sfx2/source/appl/appopen \
+ sfx2/source/appl/appquit \
+ sfx2/source/appl/appreg \
+ sfx2/source/appl/appserv \
+ sfx2/source/appl/appuno \
+ sfx2/source/appl/childwin \
+ sfx2/source/appl/fileobj \
+ sfx2/source/appl/flatpak \
+ sfx2/source/appl/fwkhelper \
+ sfx2/source/appl/getbasctlfunction \
+ sfx2/source/appl/helpdispatch \
+ sfx2/source/appl/helpinterceptor \
+ sfx2/source/appl/impldde \
+ sfx2/source/appl/linkmgr2 \
+ sfx2/source/appl/linksrc \
+ sfx2/source/appl/lnkbase2 \
+ sfx2/source/appl/macroloader \
+ sfx2/source/appl/module \
+ sfx2/source/appl/newhelp \
+ sfx2/source/appl/opengrf \
+ sfx2/source/appl/openuriexternally \
+ sfx2/source/appl/preventduplicateinteraction \
+ sfx2/source/appl/sfxhelp \
+ sfx2/source/appl/sfxpicklist \
+ sfx2/source/appl/shutdownicon \
+ sfx2/source/appl/workwin \
+ sfx2/source/appl/xpackcreator \
+ sfx2/source/bastyp/bitset \
+ sfx2/source/bastyp/fltfnc \
+ sfx2/source/bastyp/fltlst \
+ sfx2/source/bastyp/frmhtml \
+ sfx2/source/bastyp/frmhtmlw \
+ sfx2/source/bastyp/helper \
+ sfx2/source/bastyp/mieclip \
+ sfx2/source/bastyp/progress \
+ sfx2/source/bastyp/sfxhtml \
+ sfx2/source/bastyp/sfxresid \
+ sfx2/source/commandpopup/CommandPopup \
+ sfx2/source/config/evntconf \
+ sfx2/source/control/bindings \
+ sfx2/source/control/ctrlitem \
+ sfx2/source/control/dispatch \
+ sfx2/source/control/minfitem \
+ sfx2/source/control/msg \
+ sfx2/source/control/msgpool \
+ sfx2/source/control/objface \
+ sfx2/source/control/request \
+ sfx2/source/control/sfxstatuslistener \
+ sfx2/source/control/shell \
+ sfx2/source/control/sorgitm \
+ sfx2/source/control/statcach \
+ sfx2/source/control/templatedefaultview \
+ sfx2/source/control/templateviewitem \
+ sfx2/source/control/templatelocalview \
+ sfx2/source/control/templatecontaineritem \
+ sfx2/source/control/templatedlglocalview \
+ sfx2/source/control/listview \
+ sfx2/source/control/thumbnailviewitem \
+ sfx2/source/control/thumbnailviewacc \
+ sfx2/source/control/thumbnailview \
+ sfx2/source/control/charmapcontrol \
+ sfx2/source/control/charwin \
+ sfx2/source/control/unoctitm \
+ sfx2/source/devtools/DevelopmentToolChildWindow \
+ sfx2/source/devtools/DevelopmentToolDockingWindow \
+ sfx2/source/devtools/DocumentModelTreeHandler \
+ sfx2/source/devtools/ObjectInspectorTreeHandler \
+ sfx2/source/dialog/alienwarn \
+ sfx2/source/dialog/basedlgs \
+ sfx2/source/dialog/checkin \
+ sfx2/source/dialog/dialoghelper \
+ sfx2/source/dialog/charmappopup \
+ sfx2/source/dialog/dinfdlg \
+ sfx2/source/dialog/dockwin \
+ sfx2/source/dialog/documentfontsdialog \
+ sfx2/source/dialog/filedlghelper \
+ sfx2/source/dialog/filtergrouping \
+ sfx2/source/dialog/infobar \
+ sfx2/source/dialog/inputdlg \
+ sfx2/source/dialog/mailmodel \
+ sfx2/source/dialog/bluthsnd \
+ sfx2/source/dialog/mgetempl \
+ sfx2/source/dialog/navigat \
+ sfx2/source/dialog/newstyle \
+ sfx2/source/dialog/partwnd \
+ sfx2/source/dialog/passwd \
+ sfx2/source/dialog/printopt \
+ sfx2/source/dialog/recfloat \
+ sfx2/source/dialog/securitypage \
+ sfx2/source/dialog/sfxdlg \
+ sfx2/source/dialog/splitwin \
+ sfx2/source/dialog/srchdlg \
+ sfx2/source/dialog/styfitem \
+ sfx2/source/dialog/styledlg \
+ sfx2/source/dialog/tabdlg \
+ sfx2/source/dialog/templdlg \
+ sfx2/source/dialog/StyleList \
+ sfx2/source/dialog/tplcitem \
+ sfx2/source/dialog/tplpitem \
+ sfx2/source/dialog/versdlg \
+ sfx2/source/doc/DocumentMetadataAccess \
+ sfx2/source/doc/DocumentSigner \
+ sfx2/source/doc/Metadatable \
+ sfx2/source/doc/QuerySaveDocument \
+ sfx2/source/doc/SfxDocumentMetaData \
+ sfx2/source/doc/autoredactdialog \
+ sfx2/source/doc/docfac \
+ sfx2/source/doc/docfile \
+ sfx2/source/doc/docfilt \
+ sfx2/source/doc/docinf \
+ sfx2/source/doc/docinsert \
+ sfx2/source/doc/docmacromode \
+ sfx2/source/doc/docstoragemodifylistener \
+ sfx2/source/doc/doctempl \
+ sfx2/source/doc/doctemplates \
+ sfx2/source/doc/doctemplateslocal \
+ sfx2/source/doc/exoticfileloadexception \
+ sfx2/source/doc/frmdescr \
+ sfx2/source/doc/graphhelp \
+ sfx2/source/doc/guisaveas \
+ sfx2/source/doc/iframe \
+ sfx2/source/doc/new \
+ sfx2/source/doc/objcont \
+ sfx2/source/doc/objembed \
+ sfx2/source/doc/objitem \
+ sfx2/source/doc/objmisc \
+ sfx2/source/doc/objserv \
+ sfx2/source/doc/objstor \
+ sfx2/source/doc/objxtor \
+ sfx2/source/doc/oleprops \
+ sfx2/source/doc/ownsubfilterservice \
+ sfx2/source/doc/printhelper \
+ sfx2/source/doc/docundomanager \
+ sfx2/source/doc/sfxbasemodel \
+ sfx2/source/doc/sfxmodelfactory \
+ sfx2/source/doc/SfxRedactionHelper \
+ sfx2/source/doc/signaturestate \
+ sfx2/source/doc/syspath \
+ sfx2/source/doc/zoomitem \
+ sfx2/source/doc/templatedlg \
+ sfx2/source/doc/watermarkitem \
+ sfx2/source/doc/saveastemplatedlg \
+ sfx2/source/explorer/nochaos \
+ sfx2/source/inet/inettbc \
+ sfx2/source/notebookbar/SfxNotebookBar \
+ sfx2/source/notebookbar/NotebookbarTabControl \
+ sfx2/source/notify/eventsupplier \
+ sfx2/source/notify/globalevents \
+ sfx2/source/notify/hintpost \
+ sfx2/source/notify/openurlhint \
+ sfx2/source/safemode/safemode \
+ sfx2/source/sidebar/Sidebar \
+ sfx2/source/sidebar/SidebarChildWindow \
+ sfx2/source/sidebar/SidebarDockingWindow \
+ sfx2/source/sidebar/SidebarController \
+ sfx2/source/sidebar/SidebarModelUpdate \
+ sfx2/source/sidebar/SidebarPanelBase \
+ sfx2/source/sidebar/SidebarToolBox \
+ sfx2/source/sidebar/AsynchronousCall \
+ sfx2/source/sidebar/Context \
+ sfx2/source/sidebar/ContextChangeBroadcaster \
+ sfx2/source/sidebar/ContextList \
+ sfx2/source/sidebar/ControllerFactory \
+ sfx2/source/sidebar/ControllerItem \
+ sfx2/source/sidebar/Deck \
+ sfx2/source/sidebar/DeckDescriptor \
+ sfx2/source/sidebar/DeckLayouter \
+ sfx2/source/sidebar/DeckTitleBar \
+ sfx2/source/sidebar/FocusManager \
+ sfx2/source/sidebar/IContextChangeReceiver \
+ sfx2/source/sidebar/ILayoutableWindow \
+ sfx2/source/sidebar/Panel \
+ sfx2/source/sidebar/PanelDescriptor \
+ sfx2/source/sidebar/PanelLayout \
+ sfx2/source/sidebar/PanelTitleBar \
+ sfx2/source/sidebar/ResourceManager \
+ sfx2/source/sidebar/TabBar \
+ sfx2/source/sidebar/TitleBar \
+ sfx2/source/sidebar/Theme \
+ sfx2/source/sidebar/Tools \
+ sfx2/source/sidebar/uiobject\
+ sfx2/source/sidebar/UnoPanel \
+ sfx2/source/sidebar/UnoPanels \
+ sfx2/source/sidebar/UnoDeck \
+ sfx2/source/sidebar/UnoDecks \
+ sfx2/source/sidebar/UnoSidebar \
+ sfx2/source/statbar/stbitem \
+ sfx2/source/styles/StyleManager \
+ sfx2/source/toolbox/tbxitem \
+ sfx2/source/toolbox/weldutils \
+ sfx2/source/view/classificationcontroller \
+ sfx2/source/view/classificationhelper \
+ sfx2/source/view/frame \
+ sfx2/source/view/frame2 \
+ sfx2/source/view/frmload \
+ sfx2/source/view/ipclient \
+ sfx2/source/view/lokcharthelper \
+ sfx2/source/view/lokstarmathhelper \
+ sfx2/source/view/lokhelper \
+ sfx2/source/view/printer \
+ sfx2/source/view/sfxbasecontroller \
+ sfx2/source/view/userinputinterception \
+ sfx2/source/view/viewfac \
+ sfx2/source/view/viewfrm \
+ sfx2/source/view/viewfrm2 \
+ sfx2/source/view/viewprn \
+ sfx2/source/view/viewsh \
+))
+
+$(eval $(call gb_SdiTarget_SdiTarget,sfx2/sdi/sfxslots,sfx2/sdi/sfx))
+
+$(eval $(call gb_SdiTarget_set_include,sfx2/sdi/sfxslots,\
+ $$(INCLUDE) \
+ -I$(SRCDIR)/sfx2/inc \
+ -I$(SRCDIR)/sfx2/sdi \
+))
+
+ifeq ($(OS),$(filter WNT MACOSX,$(OS)))
+$(eval $(call gb_Library_add_defs,sfx,\
+ -DENABLE_QUICKSTART_APPLET \
+))
+endif
+
+ifeq ($(OS),MACOSX)
+$(eval $(call gb_Library_add_cxxflags,sfx,\
+ $(gb_OBJCXXFLAGS) \
+))
+$(eval $(call gb_Library_add_objcxxobjects,sfx,\
+ sfx2/source/appl/shutdowniconaqua \
+))
+$(eval $(call gb_Library_add_libs,sfx,\
+ -lobjc \
+))
+$(eval $(call gb_Library_use_system_darwin_frameworks,sfx,\
+ Cocoa \
+))
+endif
+
+ifeq ($(OS),WNT)
+
+$(eval $(call gb_Library_add_exception_objects,sfx,\
+ sfx2/source/appl/shutdowniconw32 \
+ sfx2/source/doc/syspathw32 \
+))
+
+$(eval $(call gb_Library_use_system_win32_libs,sfx,\
+ advapi32 \
+ gdi32 \
+ ole32 \
+ shell32 \
+ uuid \
+))
+
+endif
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Makefile b/sfx2/Makefile
new file mode 100644
index 0000000000..ccb1c85a04
--- /dev/null
+++ b/sfx2/Makefile
@@ -0,0 +1,7 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+
+module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
+
+include $(module_directory)/../solenv/gbuild/partial_build.mk
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Module_sfx2.mk b/sfx2/Module_sfx2.mk
new file mode 100644
index 0000000000..233a178b15
--- /dev/null
+++ b/sfx2/Module_sfx2.mk
@@ -0,0 +1,63 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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 .
+#
+
+$(eval $(call gb_Module_Module,sfx2))
+
+$(eval $(call gb_Module_add_targets,sfx2,\
+ CustomTarget_classification \
+ Library_sfx \
+ Package_classification \
+ UIConfig_sfx \
+))
+
+$(eval $(call gb_Module_add_l10n_targets,sfx2,\
+ AllLangMoTarget_sfx2 \
+))
+
+$(eval $(call gb_Module_add_check_targets,sfx2,\
+ CppunitTest_sfx2_metadatable \
+ CppunitTest_sfx2_misc \
+ CppunitTest_sfx2_controlleritem \
+ CppunitTest_sfx2_classification \
+ CppunitTest_sfx2_view \
+ CppunitTest_sfx2_doc \
+))
+
+$(eval $(call gb_Module_add_subsequentcheck_targets,sfx2,\
+ JunitTest_sfx2_complex \
+ JunitTest_sfx2_unoapi \
+))
+
+$(eval $(call gb_Module_add_subsequentcheck_targets,sfx2,\
+ PythonTest_sfx2_python \
+))
+
+#todo: clean up quickstarter stuff in both libraries
+#todo: move standard pool to svl
+
+# screenshots
+$(eval $(call gb_Module_add_screenshot_targets,sfx2,\
+ CppunitTest_sfx2_dialogs_test \
+))
+
+$(eval $(call gb_Module_add_uicheck_targets,sfx2,\
+ UITest_sfx2_doc \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/Package_classification.mk b/sfx2/Package_classification.mk
new file mode 100644
index 0000000000..c76e07d17f
--- /dev/null
+++ b/sfx2/Package_classification.mk
@@ -0,0 +1,23 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_Package_Package,sfx2_classification,$(SRCDIR)/sfx2))
+
+$(eval $(call gb_Package_add_files,sfx2_classification,$(LIBO_SHARE_FOLDER)/classification,\
+ classification/example.xml \
+ classification/example_ca-ES.xml \
+ classification/example_fr-FR.xml \
+ classification/example_hu-HU.xml \
+ classification/example_nl-NL.xml \
+ classification/example_pt-BR.xml \
+ classification/example_sl-SI.xml \
+ classification/example_zh-CN.xml \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/PythonTest_sfx2_python.mk b/sfx2/PythonTest_sfx2_python.mk
new file mode 100644
index 0000000000..a3a80079dc
--- /dev/null
+++ b/sfx2/PythonTest_sfx2_python.mk
@@ -0,0 +1,21 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_PythonTest_PythonTest,sfx2_python))
+
+$(eval $(call gb_PythonTest_set_defs,sfx2_python,\
+ TDOC="$(SRCDIR)/sfx2/qa/python/testdocuments" \
+))
+
+$(eval $(call gb_PythonTest_add_modules,sfx2_python,$(SRCDIR)/sfx2/qa/python,\
+ check_sidebar \
+ check_sidebar_registry \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/README.md b/sfx2/README.md
new file mode 100644
index 0000000000..3b91584759
--- /dev/null
+++ b/sfx2/README.md
@@ -0,0 +1,30 @@
+# Legacy Framework
+
+`SFX` is the "old" framework, used for historical reasons.
+
+An attempt of documentation of this module is located in `[git:sfx2/doc]`.
+
+It contains base classes for document model, view and controller, used
+by "old" applications like `sw`, `sc`, `sd` (while "new" applications
+are based on the "new" UNO based framework in "framework").
+
+The SFX framework is based on dispatching slots identified by integers
+(`SlotIDs`) to `SfxShells`, and there is a dedicated IDL compiler (`svidl`)
+involved that generates C++ slot headers from SDI files in modules' `sdi/`
+subdirectory.
+
+Documentation about SFX dispatch, SDI etc.:
+
+
+Document load/save code is maintained in `[git:sfx2/source/doc/docfile.cxx`]
+`SfxMedium` class, which handles all the twisty load and save corner cases.
+
+`[git:sfx2/source/appl/sfxhelp.cxx]` Start procedure for the online
+help viewer top level window; handling of help URL creation and
+dispatch.
+
+There are also some UNO services here that could really be implemented
+anywhere, e.g. the `DocumentProperties` or `DocumentMetadataAccess`.
+
+Notable files:
+`sfx2/source/dialog/backingwindow.cxx` `Startcenter` buttons and the corresponding event handler.
diff --git a/sfx2/UIConfig_sfx.mk b/sfx2/UIConfig_sfx.mk
new file mode 100644
index 0000000000..21410bc709
--- /dev/null
+++ b/sfx2/UIConfig_sfx.mk
@@ -0,0 +1,80 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_UIConfig_UIConfig,sfx))
+
+$(eval $(call gb_UIConfig_add_uifiles,sfx,\
+ sfx2/uiconfig/ui/alienwarndialog \
+ sfx2/uiconfig/ui/addtargetdialog \
+ sfx2/uiconfig/ui/autoredactdialog \
+ sfx2/uiconfig/ui/bookmarkdialog \
+ sfx2/uiconfig/ui/bookmarkmenu \
+ sfx2/uiconfig/ui/charmapcontrol \
+ sfx2/uiconfig/ui/charviewmenu \
+ sfx2/uiconfig/ui/checkin \
+ sfx2/uiconfig/ui/classificationbox \
+ sfx2/uiconfig/ui/cmisinfopage \
+ sfx2/uiconfig/ui/cmisline \
+ sfx2/uiconfig/ui/commandpopup \
+ sfx2/uiconfig/ui/custominfopage \
+ sfx2/uiconfig/ui/deck \
+ sfx2/uiconfig/ui/descriptioninfopage \
+ sfx2/uiconfig/ui/developmenttool \
+ sfx2/uiconfig/ui/devtoolsmenu \
+ sfx2/uiconfig/ui/documentfontspage \
+ sfx2/uiconfig/ui/documentinfopage \
+ sfx2/uiconfig/ui/documentpropertiesdialog \
+ sfx2/uiconfig/ui/editdocumentdialog \
+ sfx2/uiconfig/ui/editdurationdialog \
+ sfx2/uiconfig/ui/extrabutton \
+ sfx2/uiconfig/ui/errorfindemaildialog \
+ sfx2/uiconfig/ui/floatingrecord \
+ sfx2/uiconfig/ui/helpbookmarkpage \
+ sfx2/uiconfig/ui/helpcontrol \
+ sfx2/uiconfig/ui/helpcontentpage \
+ sfx2/uiconfig/ui/helpindexpage \
+ sfx2/uiconfig/ui/helpmanual \
+ sfx2/uiconfig/ui/helpsearchpage \
+ sfx2/uiconfig/ui/helpwindow \
+ sfx2/uiconfig/ui/infobar \
+ sfx2/uiconfig/ui/inputdialog \
+ sfx2/uiconfig/ui/licensedialog \
+ sfx2/uiconfig/ui/linefragment \
+ sfx2/uiconfig/ui/linkeditdialog \
+ sfx2/uiconfig/ui/loadtemplatedialog \
+ sfx2/uiconfig/ui/managestylepage \
+ sfx2/uiconfig/ui/navigator \
+ sfx2/uiconfig/ui/newstyle \
+ sfx2/uiconfig/ui/notebookbar \
+ sfx2/uiconfig/ui/optprintpage \
+ sfx2/uiconfig/ui/panel \
+ sfx2/uiconfig/ui/password \
+ sfx2/uiconfig/ui/notebookbarpopup \
+ sfx2/uiconfig/ui/printeroptionsdialog \
+ sfx2/uiconfig/ui/querysavedialog \
+ sfx2/uiconfig/ui/saveastemplatedlg \
+ sfx2/uiconfig/ui/safemodequerydialog \
+ sfx2/uiconfig/ui/searchdialog \
+ sfx2/uiconfig/ui/securityinfopage \
+ sfx2/uiconfig/ui/singletabdialog \
+ sfx2/uiconfig/ui/startcenter \
+ sfx2/uiconfig/ui/stylecontextmenu \
+ sfx2/uiconfig/ui/tabbar \
+ sfx2/uiconfig/ui/tabbarcontents \
+ sfx2/uiconfig/ui/tabbutton \
+ sfx2/uiconfig/ui/templatedlg \
+ sfx2/uiconfig/ui/templatecategorydlg \
+ sfx2/uiconfig/ui/templatepanel \
+ sfx2/uiconfig/ui/urlbox \
+ sfx2/uiconfig/ui/versionsofdialog \
+ sfx2/uiconfig/ui/versioncommentdialog \
+ sfx2/uiconfig/ui/versionscmis \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/UITest_sfx2_doc.mk b/sfx2/UITest_sfx2_doc.mk
new file mode 100644
index 0000000000..b5e3ef8ceb
--- /dev/null
+++ b/sfx2/UITest_sfx2_doc.mk
@@ -0,0 +1,20 @@
+# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
+#
+# 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/.
+#
+
+$(eval $(call gb_UITest_UITest,sfx2_doc))
+
+$(eval $(call gb_UITest_add_modules,sfx2_doc,$(SRCDIR)/sfx2/qa/uitest,\
+ doc/ \
+))
+
+$(eval $(call gb_UITest_set_defs,sfx2_doc, \
+ TDOC="$(SRCDIR)/sfx2/qa/uitest/doc/data" \
+))
+
+# vim: set noet sw=4 ts=4:
diff --git a/sfx2/classification/CommonTypes.xsd b/sfx2/classification/CommonTypes.xsd
new file mode 100644
index 0000000000..b0404bc9b0
--- /dev/null
+++ b/sfx2/classification/CommonTypes.xsd
@@ -0,0 +1,103 @@
+
+
+
+
+ Specification Name: OASIS CIQ TC - CIQ V3.0
+ Description: Defines the W3C schema with commonly used types in the name, address and party schemas
+ (Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+ Produced by: OASIS Customer Information Quality Technical Committee
+ URL: http://www.oasis-open.org/committees/ciq
+ Version: 3.0
+ Status: Committee Specification
+ Copyright: 2006-07, OASIS, http://www.oasis-open.org
+ Last Modified: 18 September 2007
+ Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
+
+
+
+
+ Normalized and Collapsed String
+
+
+
+
+
+
+
+ A list of values to indicate the level of reliability of the data
+
+
+
+
+ The data was validated and is considered to be true and correct.
+
+
+
+
+ Indicates that at least some part of the content is known to be incorrect.
+
+
+
+
+
+
+ A list of values to indicate the status of the entity
+
+
+
+
+
+ Date Valid from to Date Valid to
+
+
+
+ Could be start date, issue date, validity start date, etc
+
+
+
+
+ Could be end date, expiry date, validity end date, etc
+
+
+
+
+
+ A group of commonly used attributes for internal reuse
+
+
+
+ If set to true then indicates that the value is an abbreviation or initial. If set to false then the value is definitely not an abbreviation. If omitted then it is not known if the value is an abbreviation or not.
+
+
+
+
+
+ A group of commonly used attributes for internal reuse
+
+
+
+ This attribute indicates what level of trust can be given to the parent element. Omit this attribute if the data quality is unknown. If the data quality is known, the value is "Valid, else "InValid"
+
+
+
+
+ Date the data quality is valid from
+
+
+
+
+ Date the data quality is valid to
+
+
+
+
+
+ The language used (name of human language, e.g. en, en-US)
+
+
+
+ Human Language used. e.g. "en", "en-US", "en-AUS", etc
+
+
+
+
diff --git a/sfx2/classification/README b/sfx2/classification/README
new file mode 100644
index 0000000000..54c778ff48
--- /dev/null
+++ b/sfx2/classification/README
@@ -0,0 +1,7 @@
+Involved standards:
+
+- BAF is
+- BAILS is
+- xAL is
+- xNL is
+- xlink is
\ No newline at end of file
diff --git a/sfx2/classification/baf.xsd b/sfx2/classification/baf.xsd
new file mode 100644
index 0000000000..abf003b386
--- /dev/null
+++ b/sfx2/classification/baf.xsd
@@ -0,0 +1,299 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/baf_loext.xsd b/sfx2/classification/baf_loext.xsd
new file mode 100644
index 0000000000..593eb01173
--- /dev/null
+++ b/sfx2/classification/baf_loext.xsd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/example.xml b/sfx2/classification/example.xml
new file mode 100644
index 0000000000..a5065e3d95
--- /dev/null
+++ b/sfx2/classification/example.xml
@@ -0,0 +1,89 @@
+
+
+
+ TSCP Example Policy Authority
+
+ TSCP Example Policy
+
+ urn:example:tscp:1
+
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+
+ Document: Header
+
+ Classification: General Business
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+
+ Document: Header
+
+ Classification: Confidential
+
+
+ Document: Footer
+
+ This content is marked Confidential. Do not distribute it externally without business approval.
+
+
+ Document: Watermark
+
+ Confidential
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+
+ Document: Header
+
+ Classification: Internal Only
+
+
+ Document: Footer
+
+ This content is marked Internal Only. Do not distribute it outside of the business.
+
+
+ Document: Watermark
+
+ Internal Only
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/example_ca-ES.xml b/sfx2/classification/example_ca-ES.xml
new file mode 100644
index 0000000000..f62d6473f6
--- /dev/null
+++ b/sfx2/classification/example_ca-ES.xml
@@ -0,0 +1,71 @@
+
+
+ Autoritat de polítiques TSCP de exemple
+ Política TSCP de exemple
+
+ urn:example:tscp:1
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+ Document: Header
+ Classificació: afers generals
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+ Document: Header
+ Classificació: confidencial
+
+
+ Document: Footer
+ Aquest contingut és de caràcter confidencial. No el distribuïu externament sense autorització.
+
+
+ Document: Watermark
+ Confidencial
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+ Document: Header
+ Classificació: només d’ús intern
+
+
+ Document: Footer
+ Aquest contingut és només d’ús intern. No el distribuïu externament.
+
+
+ Document: Watermark
+ Ús intern
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
diff --git a/sfx2/classification/example_fr-FR.xml b/sfx2/classification/example_fr-FR.xml
new file mode 100644
index 0000000000..4e0ab99228
--- /dev/null
+++ b/sfx2/classification/example_fr-FR.xml
@@ -0,0 +1,84 @@
+
+
+
+ Exemple d'autorité TSCP
+
+ Exemple de stratégie TSCP
+
+ urn:example:tscp:1
+
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+
+ Document: Header
+
+ Classification : professionnel
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+
+ Document: Header
+
+ Classification : confidentiel
+
+
+ Document: Footer
+
+ Ce contenu est marqué confidentiel. Ne le communiquez pas à l'extérieur sans un accord de l'entreprise.
+
+
+ Document: Watermark
+
+ Confidentiel
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+
+ Document: Header
+
+ Classification : exclusivement en interne
+
+
+ Document: Footer
+
+ Ce contenu est marqué pour un usage interne exclusivement. Il ne doit pas être communiqué à l'extérieur de l'entreprise.
+
+
+ Document: Watermark
+
+ Interne exclusivement
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
diff --git a/sfx2/classification/example_hu-HU.xml b/sfx2/classification/example_hu-HU.xml
new file mode 100644
index 0000000000..1bb6e94889
--- /dev/null
+++ b/sfx2/classification/example_hu-HU.xml
@@ -0,0 +1,71 @@
+
+
+ TSCP példa irányelv-szolgáltató
+ TSCP példa irányelv
+
+ urn:example:tscp:1
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+ Document: Header
+ Besorolás: Általános üzleti
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+ Document: Header
+ Besorolás: bizalmas
+
+
+ Document: Footer
+ Ez a tartalom bizalmasként van megjelölve. Ne terjessze külső feleknek vezetői jóváhagyás nélkül.
+
+
+ Document: Watermark
+ Bizalmas
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+ Document: Header
+ Besorolás: csak belső
+
+
+ Document: Footer
+ Ez a tartalom csak belső felhasználásúként van megjelölve. Ne terjessze a szervezeten kívüli feleknek.
+
+
+ Document: Watermark
+ Csak belső
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
diff --git a/sfx2/classification/example_nl-NL.xml b/sfx2/classification/example_nl-NL.xml
new file mode 100644
index 0000000000..7afc17043a
--- /dev/null
+++ b/sfx2/classification/example_nl-NL.xml
@@ -0,0 +1,71 @@
+
+
+ Voorbeeld beleidsauthoriteit TSCP
+ Voorbeeld beleid TSCP
+
+ urn:example:tscp:1
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+ Document: Header
+ Classificatie: Algemeen bedrijfsvoering
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+ Document: Header
+ Classificatie: Vertrouwelijk
+
+
+ Document: Footer
+ De inhoud van dit document is vertrouwelijk. Verspreid het uitsluitend met de vereiste toestemming.
+
+
+ Document: Watermark
+ Vertrouwelijk
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+ Document: Header
+ Classificatie: Intern
+
+
+ Document: Footer
+ De inhoud van dit document is uitsluitend voor intern gebruik. Verspreid het niet buiten de organisatie.
+
+
+ Document: Watermark
+ Intern
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
diff --git a/sfx2/classification/example_pt-BR.xml b/sfx2/classification/example_pt-BR.xml
new file mode 100644
index 0000000000..e8a0bfdb26
--- /dev/null
+++ b/sfx2/classification/example_pt-BR.xml
@@ -0,0 +1,89 @@
+
+
+
+ Exemplo de autoridade de políticas TSCP de segurança
+
+ Exemplo de política de segurança da informação
+
+ urn:example:tscp:1
+
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+
+ Document: Header
+
+ Classificação: Corporativo
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+
+ Document: Header
+
+ Classificação: Confidencial
+
+
+ Document: Footer
+
+ Conteúdo confidencial. Vedada a distribuição externa sem aprovação da empresa.
+
+
+ Document: Watermark
+
+ CONFIDENCIAL
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+
+ Document: Header
+
+ Classificação: Restrito
+
+
+ Document: Footer
+
+ Conteúdo restrito. Vedada a distribuição externa.
+
+
+ Document: Watermark
+
+ RESTRITO
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/example_sl-SI.xml b/sfx2/classification/example_sl-SI.xml
new file mode 100644
index 0000000000..13a4bcfdf2
--- /dev/null
+++ b/sfx2/classification/example_sl-SI.xml
@@ -0,0 +1,76 @@
+
+
+ Avtoriteta primera politike TSCP
+ Primer politike TSCP
+
+ urn:example:tscp:1
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+ Document: Header
+ Stopnja zaupnosti: splošno poslovanje
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+ Document: Header
+ Stopnja zaupnosti: zaupno
+
+
+ Document: Footer
+ Ta vsebina ima oznako zaupno. Ne razširjajte je zunaj brez poslovne odobritve.
+
+
+ Document: Watermark
+ Zaupno
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+ Document: Header
+ Stopnja zaupnosti: interno
+
+
+ Document: Footer
+ Ta vsebina ima oznako interno. Ne razširjajte je izven podjetja.
+
+
+ Document: Watermark
+ Interno
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/example_zh-CN.xml b/sfx2/classification/example_zh-CN.xml
new file mode 100644
index 0000000000..43acce556c
--- /dev/null
+++ b/sfx2/classification/example_zh-CN.xml
@@ -0,0 +1,89 @@
+
+
+
+ TSCP 示例策略授权
+
+ TSCP 示例策略
+
+ urn:example:tscp:1
+
+
+
+
+
+
+ UK-Cabinet
+ 0
+
+
+
+
+
+
+ Document: Header
+
+ 保密等级:一般性商务
+
+
+
+ UK-Cabinet
+ 1
+
+
+
+
+
+
+ Document: Header
+
+ 保密等级:保密
+
+
+ Document: Footer
+
+ 此处的内容被标记为“保密”。未经许可,请勿对外披露。
+
+
+ Document: Watermark
+
+ 保密
+
+
+
+ UK-Cabinet
+ 2
+
+
+
+
+
+
+ Document: Header
+
+ 保密等级:内部专用
+
+
+ Document: Footer
+
+ 此处的内容被标记为“内部专用”。未经许可,请勿对外披露。
+
+
+ Document: Watermark
+
+ 内部专用
+
+
+
+ UK-Cabinet
+ 3
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/xAL-types.xsd b/sfx2/classification/xAL-types.xsd
new file mode 100644
index 0000000000..0522990072
--- /dev/null
+++ b/sfx2/classification/xAL-types.xsd
@@ -0,0 +1,510 @@
+
+
+
+
+ Specification Name: OASIS CIQ TC - extensible AddressLanguage Types (xAL-types)
+ Description: Defines the W3C schema that provides enumeration lists to support xNL v3.0
+ (Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+ Produced by: OASIS Customer Information Quality Technical Committee
+ URL: http://www.oasis-open.org/committees/ciq
+ Version: 3.0
+ Status: Committee Specification
+ Copyright: 2006-07, OASIS, http://www.oasis-open.org
+ Last Modified: 18 September 2007
+ Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
+
+ NOTE: This is the schema that users can customise the enumeration lists to meet their
+ exchange requirements. The enumeration values provided are ONLY SAMPLES and
+ is not complete. It is up to the application to decide what the values should be. To achieve
+ interoperability between applications using this specification, it is recommended that an
+ SLA/agreement is in place as to what the enumeration values will be used in this file
+
+
+
+
+ A list of types of addresses
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of types of address identifiers
+
+
+
+
+
+ A list of types of address line, e.g. street details, locality details
+
+
+
+
+
+ A list of types of usage of the address
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of administrative area types
+
+
+
+
+ Only name of the administrative area without its type, e.g. NSW, CA, Quebec
+
+
+
+
+ The type of the area, e.g. state, district, province, etc.
+
+
+
+
+
+
+
+
+ A list of administrative area name element types
+
+
+
+
+ Name of the administrative area
+
+
+
+
+
+ Reference location information in support of the administrative area. e.g. Territory of France
+
+
+
+
+ Other supporting information
+
+
+
+
+
+
+ A list of codes for name of administrative area
+
+
+
+
+
+ A list of country name element types
+
+
+
+
+ Name of the country e.g. AUSTRALIA
+
+
+
+
+ Although a Country, could be classified as a territory of a country. For example, "NOUVELLE CALEDONIE" is a territory of "FRANCE".
+
+
+
+
+
+
+ A list of codes for name of country
+
+
+
+
+
+ A list of codes for datum
+
+
+
+
+
+ A list of codes for mode of delivery of address
+
+
+
+
+
+ A list of directions for geo-coordinates
+
+
+
+
+
+
+
+
+
+
+ A list of name types for commonly used Number type
+
+
+
+
+ Applicable to mail box office names such as PO BOX, GPO BOX, MAIL BAG NO., etc.
+
+
+
+
+ Indicates that the element contains the lower value of a range, e.g. 25 in 25-37
+
+
+
+
+ Indicates that the value is a range, e.g. 25-37
+
+
+
+
+ Indicates that the element contains the top value of a range, e.g. 25 in 25-37
+
+
+
+
+ Indicates that the element contains some value that is important, but not exactly the number itself. E.g. PoBox can be a prefix in PoBox 2020, street no. A-15, where A is the prefix and 15 is the number
+
+
+
+
+ Indicates that the element contains some value that is important, but not exactly the number itself. E.g. 'bis' in '45 bis'
+
+
+
+
+ Indicates that the value is number, e.g. 2020 in PoBox 2020. The actual value can be alpha-numeric.
+
+
+
+
+ Indicates that the value is a separator that is expected to be preserved. Examples are / - #, as in 15-A where "-" is the separator
+
+
+
+
+ Indicates that the value is an extension number of some identifier, e.g. 01 in Private Bag 2330-01, where the main number of the private bag is 2330, 12345-1223 in post code where 1223 is the extension
+
+
+
+
+
+
+ A list of locality name element types such as name of locality, reference data in support of locality
+
+
+
+
+ Name of the locality
+
+
+
+
+
+ Any reference locality data in support of the locality. e.g. Next town north of Town A, via-town name
+
+
+
+
+ Other supporting information
+
+
+
+
+
+
+ A list of codes for name of locality
+
+
+
+
+
+ A list of locality name types such as Municipality, Village, Area, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of meridian codes
+
+
+
+
+
+ A list of types of postal delivery offices
+
+
+
+
+
+ A list of postal delivery point types
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of codes for projection
+
+
+
+
+
+ A list of name types for premises
+
+
+
+
+ Names of Premises such as airport, hospital, university, military base, etc. Can also be the name of the building or house or apartment
+
+
+
+
+ Where in the building/landmark the premises is located, e.g. lobby, ground floor, penthouse, or where in a larger complex (e.g. airport) the address is located.
+
+
+
+
+ Free text description that is required to logically connect the 2 premises
+
+
+
+
+ Roads and streets within boundaries of larger complexes/premises such as hospitals, airports, etc.
+
+
+
+
+ Free text description of some other location and how this premises relates to it, e.g. 300m from water station, new the police station, etc.
+
+
+
+
+ additional supporting information
+
+
+
+
+
+
+ A list of premises type
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of rural delivery types such as road, air, water
+
+
+
+
+
+ A list of sub administrative area name element types
+
+
+
+
+ Name of the sub administrative area
+
+
+
+
+
+ Reference location information in support of the sub administrative area
+
+
+
+
+ Other supporting information
+
+
+
+
+
+
+ A list of codes for name of sub administrative area
+
+
+
+
+
+ A list of sub administrative area name types
+
+
+
+
+
+
+
+
+
+
+ A list of sub locality name element types
+
+
+
+
+
+
+
+ Other supporting information
+
+
+
+
+
+
+ A list of codes for names of sub locality
+
+
+
+
+
+ A list of sub locality types
+
+
+
+
+
+
+
+
+ A list of sub premises types
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of name element types for thoroughfare
+
+
+
+
+ Just the name part, such as Baker in Baker Street.
+
+
+
+
+ North Archer Street, where "North" is PreDirection
+
+
+
+
+ Archer Street North, where "North" is PostDirection
+
+
+
+
+ This value indicates that the element contains the street name and street number. E.g. 39 Baker Street. Use this when you do not want to break the thoroughfare into atomic types
+
+
+
+
+ Baker Street, where Baker is Name and Street is Type
+
+
+
+
+ 21 Archer Street (Full thoroughfare details)
+
+
+
+
+ Full details of a thoroughfare in a single line (unstructured)
+e.g. 39 Baker Street North
+
+
+
+
+ When more than one street name is required to identify the location this type can be used to connect them with values such as CORNER OF or VIA.
+
+
+
+
+ Free text description of some other location and how this thoroughfare relates to it, e.g. 300m from water station, new the police station, etc.
+
+
+
+
+ Additional description like intersection, cross streets, etc
+
+
+
+
+
+
+ A list of types for thoroughfare (e.g. STREET, ROAD, CRT)
+
+
+
+
diff --git a/sfx2/classification/xAL.xsd b/sfx2/classification/xAL.xsd
new file mode 100644
index 0000000000..13babc6158
--- /dev/null
+++ b/sfx2/classification/xAL.xsd
@@ -0,0 +1,671 @@
+
+
+
+
+ Specification Name: OASIS CIQ TC - extensible Address Language (xAL)
+ Description: Defines the W3C schema for representing addresses
+ (Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+ Produced by: OASIS Customer Information Quality Technical Committee
+ URL: http://www.oasis-open.org/committees/ciq
+ Version: 3.0
+ Status: Public Review Draft 03 ERRATA
+ Copyright: 2007-08, OASIS, http://www.oasis-open.org
+ Last Modified: 08 April 2008
+ Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
+ NOTE: Do not modify this schema as it will break specifications compatibility
+
+
+
+
+
+
+
+ Top level element for address with geocode details
+
+
+
+
+ Complex type that defines the structure of an address with geocode details for reuse
+
+
+
+
+ Container for free text address elements where address elements are not parsed
+
+
+
+
+
+ Free format address representation. An address can have more than one line. The order of the AddressLine elements must be preserved.
+
+
+
+
+
+
+ What does the address line describe? e.g. Street details, suburb details, post code details, whole address, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Country details
+
+
+
+
+
+
+
+
+
+ Details of the top-level area division in the country, such as state, district, province, island, region, etc. Note that some countries do not have this
+
+
+
+
+
+ Data associated with the Administrative Area. e.g. Full name of administrative area or part of it. eg. MI in USA, NSW in Australia, reference location to the administrative area
+
+
+
+
+
+
+
+ semantics of data associated with name
+
+
+
+
+ Name of administrative area represented as a code. e.g. "COL" for COLORADO
+
+
+
+
+ Type of code used to represent name as a code
+
+
+
+
+
+
+
+
+
+ The next level down division of the area. E.g. state / county, province / reservation. Note that not all countries have a subadministrative area
+
+
+
+
+
+ Data associated with the SubAdministrative Area. e.g. Full name of sub administrative area or part of it.
+
+
+
+
+
+
+
+ semantics of data associated with name
+
+
+
+
+ Name of administrative area represented as a code. e.g. "COL" for COLORADO
+
+
+
+
+ Type of code used to represent name as a code
+
+
+
+
+
+
+
+
+
+
+ Type of sub administrative area
+
+
+
+
+
+
+
+
+
+ Type of administrative area. e.g. state, city, town, etc
+
+
+
+
+
+
+
+
+ Details of Locality which is a named densely populated area (a place) such as town, village, suburb, etc. A locality composes of many individual addresses. Many localities exist in an administrative area or a sub administrative area. A locality can also have sub localities. For example, a municipality locality can have many villages associated with it which are sub localities. Example: Tamil Nadu State, Erode District, Bhavani Taluk, Paruvachi Village is a valid address in India. Tamil Nadu is the Administrative Area, Erode is the sub admin area, Bhavani is the locality, and Paruvachi is the sub locality
+
+
+
+
+
+ Data associated with the locality. e.g. Full name of the locality or part of it, reference location to the locality
+
+
+
+
+
+
+
+ semantics of data associated with name
+
+
+
+
+ name of locality represented as a code
+
+
+
+
+ type of code used to represent name as a code
+
+
+
+
+
+
+
+
+
+ A locality that is smaller and is contained within the boundaries of its parent locality. Note that not all localities have sub locality. For example, many areas within a locality where each area is a sub locality
+
+
+
+
+
+ Data associated with the sub locality. e.g. Full name of the locality or part of it, reference location to the locality
+
+
+
+
+
+
+
+ semantics of data associated with name
+
+
+
+
+ name of locality represented as a code
+
+
+
+
+ type of code used to represent name as a code
+
+
+
+
+
+
+
+
+
+
+ Type of sub locality
+
+
+
+
+
+
+
+
+
+ Type of locality. e.g. suburb, area, zone, village, etc
+
+
+
+
+
+
+
+
+ Details of the Access route along which buildings/lot/land are located, such as street, road, channel, crescent, avenue, etc. This also includes canals/banks on which houses/boat houses are located where people live
+
+
+
+
+
+
+
+ Another thoroughfare that is required to uniquely identify the location, such as an access route, intersection, corner, adjacent, boundary, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Details of the Premises (could be building(s), site, location, property, premise, place) which is a landmark place which has a main address such as large mail user (e.g. Airport, Hospital, University) or could be a building (e.g. apartment, house) or a building or complex of buildings (e.g. an apartment complex or shopping centre) or even a vacant land (e.g. LOT). Premises can have many sub-addresses such as apartments in a building having its own addresses or buildings within an airport having its own addresses including its own thoroughfares
+
+
+
+
+
+
+
+ Examples of sub-premises are apartments and suites in buildings, shops in malls, etc. or sub-addresses in a land mark place such as airports, military bases, hospitals, etc. Some countries have blocks within blocks
+
+
+
+
+
+
+
+ Type of code used for sub premises type attribute
+
+
+
+
+
+
+
+
+
+
+ Type of code use for Premises Type attribute
+
+
+
+
+
+
+
+
+ A container for a single free text or structured postcode. Note that not all countries have post codes
+
+
+
+
+
+ The postcode is formatted according to country-specific rules. Example: SW3 0A8-1A, 600074, 2067. This element can also be used to define the semantics of what each code in the post code means
+
+
+
+
+
+
+
+
+
+ A container for postal-specific delivery identifier for remote communities. Note that not all countries have RuralDelivery
+
+
+
+
+
+ Free text or structured description of rural delivery route. e.g. RD 6,
+
+
+
+
+
+ Type of rural delivery. For some addresses, delivery to rural areas happens via water, air or road
+
+
+
+
+
+
+
+
+ Final mail delivery point where the mail is dropped off for recipients to pick them up directly. E.g. POBox, Private Bag, pigeon hole, free mail numbers, etc.
+
+
+
+
+
+ Free text or structured description of a postal delivery point.
+
+
+
+
+
+
+
+
+
+
+ A delivery point/installation where all mails are delivered and the post man/delivery service picks up the mails and delivers it to the recipients through a delivery mode. Examples are a rural post office where post is delivered, a post office containing post office boxes/personal mail boxes. Note that not all countries have PostOffice. Can be used to represent overseas military addresses also along with PostalDeliveryPoint element
+
+
+
+
+
+ Name or number of the post office in free text or structured form.
+
+
+
+
+
+ Indicates the type of postal delivery office from where the mail will be distributed to the final delivery point by a delivery mode. Example: Post Office, Mail Collection Centre, Letter Carrier Depot, Station, etc.
+
+
+
+
+
+
+
+
+ GeoRSS GML from Open Geospatial Consortium (OGC – www.opengeospatial.net) is a formal GML Application Profile, and supports a greater range of features than Simple, notably coordinate reference systems other than WGS84 latitude/longitude. It is designed for use with Atom 1.0, RSS 2.0 and RSS 1.0, although it can be used just as easily in non-RSS XML encodings.
+
+
+
+
+
+ Could be GeoRSS Simple or GeoRSS GML versions. Refer to http://georss.org/ and http://georss.org/gml for further documentation
+
+
+
+
+
+
+
+
+ Simple Geo-coordinates of the address/location
+
+
+
+
+
+ Latitude details
+
+
+
+
+ Measure of the latitude in degrees
+
+
+
+
+ Measure of the latitude in minutes
+
+
+
+
+ Measure of the latitude in seconds
+
+
+
+
+ The direction of latitude measurement offset from the equator
+
+
+
+
+
+
+
+ Longitude details
+
+
+
+
+ Measure of the longitude in degrees
+
+
+
+
+ Measure of the longitude in minutes
+
+
+
+
+ Measure of the longitude in seconds
+
+
+
+
+ The direction of longitude measurement offset from the equator
+
+
+
+
+
+
+
+
+ The collection of the coordinate numeric values for latitude amd longitude depends on the agreed position of the meridian. Declaration of the meridian is necessary as it cannot be assumed in the data
+
+
+
+
+ Type of code used. e.g. EPSG Code
+
+
+
+
+ The collection of the coordinate numeric values depends on the agreed datum within which the measurement was taken. Declaration of the datum is necessary as it cannot be assumed in the data
+
+
+
+
+ Type of code used. e.g. EPSG Code, WGS-84
+
+
+
+
+ Coordinates have limited utility and application depending on the projection required for visualisation in a map. Declaration of projection is necessary as it cannot be assumed in data
+
+
+
+
+ Type of code used. e.g. EPSG Code
+
+
+
+
+
+
+
+
+
+ Defines the type of address. An address type can be" Primary Address, Secondary Address, Rural Address, Military Address, etc.
+
+
+
+
+ A unique address identifier such as postal delivery identifier assigned to the address by local postal authority, e.g. DPID in Australia.
+
+
+
+
+ Type of address ID used. e.g. DPID, etc
+
+
+
+
+ A globally unique identifier assigned to the address
+
+
+
+
+ The purpose the address is used for. E.g. Postal, residential, business, exchange, update, create, delete, etc
+
+
+
+
+ Mode of delivery of address. For example: rural route, normal delivery, post office box, etc.
+
+
+
+
+ Status of the entity. e.g. Old, Current, Inactive, Active, etc
+
+
+
+
+
+ A primary key to reference Address.
+
+
+
+
+ A foreign key to reference attribute Key of Address.
+
+
+
+
+
+
+
+
+
+
+
+ Complex type that defines the name of the country and is reused in other CIQ specs
+
+
+
+
+ Data associated with the name of the country in whatever form available, e.g. full, abbreviation, common use, code of the country, etc.
+
+
+
+
+
+
+
+ Semantics of data associated with name.
+
+
+
+
+ Name of the country represented as a code
+
+
+
+
+ Type of code used to represent name of country, e.g. iso-3166
+
+
+
+
+
+
+
+
+
+
+
+
+ Complex type for internal reuse
+
+
+
+
+
+ Indicates which part of number or identifier this element contains. Some "numbers" are as simple as 42 and some "numbers" are more like complex alphanumeric identifiers as Postcodes in UK or Canada, e.g. M2H 2S5. It may be necessary to separate the "number" into sub-elements and indicate what type of information each of them contains.
+
+
+
+
+
+
+
+
+
+ Complex type for internal reuse
+
+
+
+
+ Data associated with the name of the Premises. e.g. Full name of premises or part of the name. E.g. Westfield shopping center, reference data to support the premises location, street in the premises
+
+
+
+
+
+
+
+ Describes the type / part of name this element contains.
+
+
+
+
+
+
+
+
+
+ Data associated with the number of the premises. E.g.House 15, number range, number suffix
+
+
+
+
+
+
+
+ Complex type for internal reuse
+
+
+
+
+ Data associated with the thoroughfare details. e.g. Full thoroughfare name or part of it, type of thoroughfare, old name, new name, reference data in support of the thoroughfare
+
+
+
+
+
+
+
+ Describes the type / part of name this element contains.
+
+
+
+
+
+
+
+
+
+ Data associated with the number of the thoroughfare. E.g. 39 in 39 Baker Street, street range, street suffix
+
+
+
+
+
+ Type of thoroughfare. eg. primary road, secondary road, road branch (e.g. Lane 14), road sub branch (e.g. Alley 21), adjourning street, cross street, closest street, etc
+
+
+
+
+ Type of code use for thoroughfare
+
+
+
+
+
+
diff --git a/sfx2/classification/xNL-types.xsd b/sfx2/classification/xNL-types.xsd
new file mode 100644
index 0000000000..dc8769ae34
--- /dev/null
+++ b/sfx2/classification/xNL-types.xsd
@@ -0,0 +1,221 @@
+
+
+
+
+ Specification Name: OASIS CIQ TC - extensible Name Language Types (xNL-types)
+ Description: Defines the W3C schema that provides enumeration lists to support xNL v3.0
+ (Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+ Produced by: OASIS Customer Information Quality Technical Committee
+ URL: http://www.oasis-open.org/committees/ciq
+ Version: 3.0
+ Status: Committee Specification
+ Copyright: 2006-07, OASIS, http://www.oasis-open.org
+ Last Modified: 18 September 2007
+ Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
+
+ NOTE: This is the schema that users can customise the enumeration lists to meet their
+ exchange requirements. The enumeration values provided are ONLY SAMPLES and
+ is not complete. It is up to the application to decide what the values should be. To achieve
+ interoperability between applications using this specification, it is recommended that an
+ SLA/agreement is in place as to what the enumeration values will be used in this file
+
+
+
+
+ A list of possible values for joint name connector
+
+
+
+
+
+ A list of possible values for types of name lines
+
+
+
+
+
+ A list of all types of Party Name IDs
+
+
+
+
+
+ A list of usage types of party name
+
+
+
+
+
+ A list of person name element types, e.g. First Name, Last Name, Title, etc.
+
+
+
+
+ His Excellency, Honorable, etc.
+
+
+
+
+ A title signifies some sort of status, such as Mr, Miss, Ms (marriage status), or education such as Professor, PhD, Dr, etc.
+
+
+
+
+ The most important name element by which this particular individual is identified in the group. E.g. John, Sam, Brian for Anglo-Saxon cultures.
+
+
+
+
+ Name elements related to additional identification of the individual, such as names are parents or places.
+
+
+
+
+ Name element that identifies the group the individual belongs to and is identified by, such as Last Name, Surname, Family Name, etc.
+
+
+
+
+ Any other additional names that are not directly used to identify or call the individual, such as names of ancestors, saints, etc.
+
+
+
+
+ A simple nick name that is commonly used as part of the name. E.g. a fancy kick-boxer can be commonly known as Bill "Storm" Bababoons, where "Storm" is obviously an alias.
+
+
+
+
+ Junior, Senior, The Second, IV, etc.
+
+
+
+
+
+
+
+ A list of usage types of person name
+
+
+
+
+
+ A list of all types of person name IDs
+
+
+
+
+
+ A list of all types of organisation name IDs
+
+
+
+
+
+ A list of organisation name element types, e.g. Name, property type, liability type, etc.
+
+
+
+
+ "Sakthisoft" in "Sakthisoft Pty. Ltd". "Pty.Ltd" is the legal entity for the organisation name "Sakthisoft"
+
+
+
+
+ "Pty. Ltd" in Sakthisoft Pty.Ltd, where "Sakthisoft" is the name of the organisation.
+
+""Inc" in ABC Inc, where "ABC" is organisation name
+
+
+
+
+ Full Name of the organisation. e.g. Sakthisoft Pty. Ltd
+
+
+
+
+
+
+ A list of usage types for organisation name
+
+
+
+
+
+ A list of common types for person names
+
+
+
+
+
+
+
+ Name of an individual before marriage.
+
+
+
+
+ Former name of the person
+
+
+
+
+ Name that is commonly used by others, e.g. a simplified form of the official name.
+
+
+
+
+ A name given to an individual at birth, but later changed (common in some cultures)
+
+
+
+
+ Indicates that the party prefers to be called by this name
+
+
+
+
+ An official name of the person, e.g. as in the passport. incorporation certificate, etc.
+
+
+
+
+
+
+
+
+
+ A list of common types for organisation names
+
+
+
+
+
+ Former name of the organisation
+
+
+
+
+
+
+
+
+ unknown
+
+
+
+
+
+
+ A list of common types for subdivisions
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/classification/xNL.xsd b/sfx2/classification/xNL.xsd
new file mode 100644
index 0000000000..d82c6ab7be
--- /dev/null
+++ b/sfx2/classification/xNL.xsd
@@ -0,0 +1,283 @@
+
+
+
+
+ Specification Name: OASIS CIQ TC - extensible Name Language (xNL)
+ Description: Defines the W3C schema for representing party names (Person or Organisation)
+ (Using XML Schema based standard code list/enumeration mechanism - OPTION 1 AND DEFAULT)
+ Produced by: OASIS Customer Information Quality Technical Committee
+ URL: http://www.oasis-open.org/committees/ciq
+ Version: 3.0
+ Status: Committee Specification
+ Copyright: 2006-07, OASIS, http://www.oasis-open.org
+ Last Modified: 18 September 2007
+ Last Modified by: Ram Kumar, Chair, OASIS CIQ TC
+
+ NOTE: Do not modify this schema as it will break specifications compatibility
+
+
+
+
+
+
+
+ Reference to another Person Name or Organisation Name with primary and foreign key reinforcement.
+
+
+
+ A primary key to reference Party Name.
+
+
+
+
+ A foreign key to reference attribute Key of Party Name.
+
+
+
+
+
+ Reusable complex type for a party. A party is a person or an organisation
+
+
+
+
+
+ Container for person name details. Same person with many types (e.g. alias, pet name, nick name) of names can be used by this container.
+
+
+
+
+
+
+
+
+
+ A container for organisation name details. Same organisation with many types of names can be used by this container
+
+
+
+
+
+
+
+
+
+
+ A unique identifier of a party
+
+
+
+
+ Type of Party Name ID
+
+
+
+
+ Globally unique identifier
+
+
+
+
+ Type of use of this data. e.g. data exchange, contact, update, create
+
+
+
+
+ Status of the entity. e.g. Old, Current, Inactive, Active, etc
+
+
+
+
+ The connector used to join more than one person name. Example: Mr Hunt AND Mrs Clark, where AND is the JointNameConnector. The flow is from the preceding to the following. If there is more than 2 names then all names are connected using this connector in the natural order.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reusable complex type
+
+
+
+
+ Name or part of a name.
+
+
+
+
+
+
+ Clarifies the meaning of the element.Could be first name, middle name, etc. that is defined in the List list. Omit this attribute if the type of the name element is not known.
+
+
+
+
+
+
+
+
+
+
+
+ Enumerated list of type of name. example: Alias, Nick Name, former name, known as, etc
+
+
+
+
+ A unique identifier of a person
+
+
+
+
+ Type of identifier
+
+
+
+
+ Globally unique identifier
+
+
+
+
+ Usage of a person name. How is it used and for what purpose. Allows user which name in a set of names to select for a given purpose.
+e.g. used for legal purposes
+
+
+
+
+ Status of the entity. e.g. Old, Current, Inactive, Active, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Reusable complex type
+
+
+
+
+ Name of the organisation. E.g. ACME Inc.
+
+
+
+
+
+
+ Clarifies the meaning of the element. Example: name, type . Omit this attribute if the type of the name element is not known.
+
+
+
+
+
+
+
+
+
+
+ Name of a subdivision of an organisation (e.g. department)
+
+
+
+
+
+
+ Type of sub division. e.g. department, warehouse, branch
+
+
+
+
+
+
+
+
+
+
+
+ Enumerated list of common types of aliases or name types.
+
+
+
+
+ A unique identifier of an organisation
+
+
+
+
+ Type of identifier
+
+
+
+
+ Globally unique identifier
+
+
+
+
+ Usage of organisation name. How is it used and for what purpose. Allows user which name in a set of names to select for a given purpose.
+e.g. used for legal purposes
+
+
+
+
+ Status of the entity. e.g. Old, Current, Inactive, Active, etc
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Define name as a free format text. Use this when the type of the entity (person or organisation) is unknown, or is not broken down into individual elements (e.g. unstructured, unparsed) or is beyond the provided types. The name represented may be formatted in the right order or may not be as it is not parsed/broken into atomic fields
+
+
+
+
+
+
+ Type define what this free format name line could mean. For example, the Type could be "Unknown"
+
+
+
+
+
+
+
+
+
+
+
+ Container for defining a name of a Person, an Organisation or combination of the above as a joint name.
+
+
+
+
+ Person Name
+
+
+
+
+ Organisation Name
+
+
+
diff --git a/sfx2/classification/xlink-2003-12-31.xsd b/sfx2/classification/xlink-2003-12-31.xsd
new file mode 100644
index 0000000000..bfe7a792ea
--- /dev/null
+++ b/sfx2/classification/xlink-2003-12-31.xsd
@@ -0,0 +1,89 @@
+
+
+
+
+
+ XLink attribute specification
+
+
+
+
+
+
+ Enumeration of values for the type attribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A URI with a minimum length of 1 character.
+
+
+
+
+
+
+
+
+
+
+
+ A URI with a minimum length of 1 character.
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumeration of values for the show attribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Enumeration of values for the actuate attribute
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/sfx2/doc/sfx2doc.html b/sfx2/doc/sfx2doc.html
new file mode 100644
index 0000000000..2d79643606
--- /dev/null
+++ b/sfx2/doc/sfx2doc.html
@@ -0,0 +1,77 @@
+
+
+
+
Signal processing in the sfx2 Interface.
+State of 5.5.2013
+related modules are: svidl (idl compiler), framework (command processing routines), rsc (resource compiler, see below), vcl (command processing routines)
+Here is a chart how the "slot-model" of the command processing framework works.
+
+Menu commands and Key accelerators are stored
+asynchronously into a UNO command stack and later executed
+sequentially.
+
+
+
+
+Changing the system: In Order to add a function to a shell,
+Add an entry to the .sdi file corresponding to that SfxShell
+Example:
+
+
+The "state" method is the method called to checked whether that command is active now. The "exec" method is called when the command should be processed by the shell. Both functions obtain a SfxRequest Object as a parameter, declared in ./include/sfx2/request.hxx.
+Each Application Window has ONE Dispatcher.
+This registers all SfxShells (or rather their
+subclasses) which can get commands from the user AT THE MOMENT.
+These shells are created when the edit mode they
+are part of is first used, but not discarded until the window closes.
+./sfx2/source/control/dispatch.cxx:
+void SfxDispatcher::Pop receives Pushes and Pops
+of the shell to/from the stack.
+The real Pushing/Popping, however, is done during
+SfxDispatcher::FlushImpl
+Main dispatching routine In
+./sfx2/source/control/unoctitm.cxx
+SfxDispatchController_Impl::dispatch.
+
+SfxDispatchController::_FindServer
+gets the SfxInterfaces of the shells. They are defined by macro calls
+to SFX_IMPL_INTERFACE, defined in include/sfx2/shell.hxx .
+
+Upon GetInterface, they yield their pInterface,
+which, upon GetSlot, returns a SfxSlot of that Shell
+For that command, which is then Executed with
+Dispatcher::Execute.
+If the program is set into another mode, for
+example by clicking a hovering object in writer
+after Text editing, all shells are removed from
+the dispatcher and new shells are pushed
+to match the current mode.
+
+ How to build menus
+In order to introduce a menu command, the uno command must be linked to a slot name.
+This is done in different sdi files, such as sfx2/sdi/sfx.sdi.
+There, you define the slot:
+Structure:
+
+
+
+SfxVoidItem uno_name_the_part_after_colon SID_COMMAND_NAME
+()
+[
+ /* initialization of variables is coming here */
+]
+
+
+In ./include/sfx2/sfxsids.hrc, the defines of the slot names and their numbers are entered. The numbers are just needed because definitions cannot be enums, and for compatibility.
+
+In ./officecfg/registry/data/org/openoffice/Office/UI,
+there are .xcu ended xml files that define the single menu items.
+They contain the US- language name and the .uno: command.
+
+
+
+The resource compiler, which creates files some GetState methods refer to, is in the ./rsc directory. It is a separate executable, invoked at compile time.
+
+
+
+
diff --git a/sfx2/doc/sfx2doc0001.svg b/sfx2/doc/sfx2doc0001.svg
new file mode 100644
index 0000000000..070f7568fc
--- /dev/null
+++ b/sfx2/doc/sfx2doc0001.svg
@@ -0,0 +1,99 @@
+
+
+
diff --git a/sfx2/inc/SfxRedactionHelper.hxx b/sfx2/inc/SfxRedactionHelper.hxx
new file mode 100644
index 0000000000..07e752d173
--- /dev/null
+++ b/sfx2/inc/SfxRedactionHelper.hxx
@@ -0,0 +1,146 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef INCLUDED_CUI_SOURCE_INC_SFXREDACTIONHELPER_HXX
+#define INCLUDED_CUI_SOURCE_INC_SFXREDACTIONHELPER_HXX
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#include
+#include
+
+using namespace ::com::sun::star;
+using namespace ::com::sun::star::lang;
+using namespace ::com::sun::star::uno;
+
+class SfxRequest;
+class SfxStringItem;
+class GDIMetaFile;
+class DocumentToGraphicRenderer;
+class SfxViewFrame;
+struct RedactionTarget;
+
+namespace i18nutil
+{
+struct SearchOptions2;
+}
+
+struct PageMargins
+{
+ // Page margins in mm100th
+ sal_Int32 nTop;
+ sal_Int32 nBottom;
+ sal_Int32 nLeft;
+ sal_Int32 nRight;
+};
+
+/*
+ * Mostly a bunch of static methods to handle the redaction functionality at
+ * different points of the process.
+ **/
+class SfxRedactionHelper
+{
+public:
+ /// Checks to see if the request has a parameter of IsRedactMode:bool=true
+ static bool isRedactMode(const SfxRequest& rReq);
+ /*
+ * Returns the value of the given string param as an OUString
+ * Returns empty OUString if no param
+ * */
+ static OUString getStringParam(const SfxRequest& rReq, sal_uInt16 nParamId);
+ /*
+ * Creates metafiles from the pages of the given document,
+ * and pushes into the given vector.
+ * */
+ static void getPageMetaFilesFromDoc(std::vector& aMetaFiles,
+ std::vector<::Size>& aPageSizes, sal_Int32 nPages,
+ DocumentToGraphicRenderer& aRenderer);
+ /*
+ * Creates one shape and one draw page for each gdimetafile,
+ * and inserts the shapes into the newly created draw pages.
+ * */
+ static void
+ addPagesToDraw(const uno::Reference& xComponent, sal_Int32 nPages,
+ const std::vector& aMetaFiles,
+ const std::vector<::Size>& aPageSizes, const PageMargins& aPageMargins,
+ const std::vector>& r_aTableTargets,
+ bool bIsAutoRedact);
+ /*
+ * Makes the Redaction toolbar visible to the user.
+ * Meant to be called after converting a document to a Draw doc
+ * for redaction purposes.
+ * */
+ static void showRedactionToolbar(const SfxViewFrame* pViewFrame);
+
+ /*
+ * Used to get the page margins from the original/source Writer document. Then we apply these values to the
+ * pages inserted into Draw for redaction.
+ * */
+ static PageMargins
+ getPageMarginsForWriter(const css::uno::Reference& xModel);
+
+ /*
+ * Used to get the page margins from the original/source Calc document. Then we apply these values to the
+ * pages inserted into Draw for redaction.
+ * */
+ static PageMargins getPageMarginsForCalc(const css::uno::Reference& xModel);
+
+ /*
+ * Used to find the text portions to be redacted. Returns a list of rectangles to cover those
+ * areas to be redacted. Probably the most crucial part of the auto-redaction process.
+ * */
+ static void searchInMetaFile(const RedactionTarget& rRedactionTarget, const GDIMetaFile& rMtf,
+ std::vector& aRedactionRectangles,
+ const uno::Reference& xComponent);
+
+ /*
+ * Draws a redaction rectangle on the draw page referenced with its page number (0-based)
+ * */
+ static void addRedactionRectToPage(const uno::Reference& xComponent,
+ const uno::Reference& xPage,
+ const std::vector& aNewRectangles);
+
+ /*
+ * Search for the given term through the gdimetafile, which has the whole content of a draw page,
+ * and draw redaction rectangles to the appropriate positions with suitable sizes.
+ * */
+ static void autoRedactPage(const RedactionTarget& rRedactionTarget,
+ const GDIMetaFile& rGDIMetaFile,
+ const uno::Reference& xPage,
+ const uno::Reference& xComponent);
+
+ /// Fill the search options based on the given redaction target
+ static void fillSearchOptions(i18nutil::SearchOptions2& rSearchOpt,
+ const RedactionTarget& rTarget);
+
+private:
+ static constexpr std::u16string_view m_aPredefinedTargets[6] = {
+ u"\\b(?:\\d[ -]*?){13,16}\\b", //Credit card numbers
+ u"\\b[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}\\b", //Email addresses
+ u"\\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
+ "\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"
+ "\\b", //IP addresses
+ u"([12]\\d{3}[./-](0[1-9]|1[0-2])[./"
+ "-](0[1-9]|[12]\\d|3[01]))|((0[1-9]|[12]\\d|3[01])[./-](0[1-9]|1[0-2])[./"
+ "-][12]\\d{3})", //Dates (numerical)
+ u"\\s*[a-zA-Z]{2}(?:\\s*\\d\\s*){6}[a-zA-Z]?\\s*", //National Insurance Number (UK)
+ u"([1-9])(?!\\1{2}-\\1{2}-\\1{4})[1-9]{2}-[1-9]{2}-[1-9]{4}" //Social Security Number (US)
+ };
+};
+
+#endif // INCLUDED_CUI_SOURCE_INC_SFXREDACTIONHELPER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/sfx2/inc/arrdecl.hxx b/sfx2/inc/arrdecl.hxx
new file mode 100644
index 0000000000..b777fad7aa
--- /dev/null
+++ b/sfx2/inc/arrdecl.hxx
@@ -0,0 +1,30 @@
+/* -*- 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_INC_ARRDECL_HXX
+#define INCLUDED_SFX2_INC_ARRDECL_HXX
+
+#include
+#include
+
+class SfxFilter;
+typedef ::std::vector> SfxFilterList_Impl;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/autoredactdialog.hxx b/sfx2/inc/autoredactdialog.hxx
new file mode 100644
index 0000000000..52a03cfd8a
--- /dev/null
+++ b/sfx2/inc/autoredactdialog.hxx
@@ -0,0 +1,174 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+
+#ifndef INCLUDED_SFX2_INC_AUTOREDACTDIALOG_HXX
+#define INCLUDED_SFX2_INC_AUTOREDACTDIALOG_HXX
+
+#include
+#include
+#include
+#include
+
+namespace weld
+{
+class Button;
+}
+namespace weld
+{
+class ComboBox;
+}
+namespace weld
+{
+class Label;
+}
+namespace weld
+{
+class Window;
+}
+namespace weld
+{
+class TreeView;
+}
+
+enum RedactionTargetType
+{
+ REDACTION_TARGET_TEXT,
+ REDACTION_TARGET_REGEX,
+ REDACTION_TARGET_PREDEFINED,
+ REDACTION_TARGET_UNKNOWN
+};
+
+/// Keeps information for a single redaction target
+struct RedactionTarget
+{
+ OUString sName;
+ RedactionTargetType sType;
+ OUString sContent;
+ bool bCaseSensitive;
+ bool bWholeWords;
+ sal_uInt32 nID;
+};
+
+/// Used to display the targets list
+class TargetsTable
+{
+ std::unique_ptr m_xControl;
+ int GetRowByTargetName(std::u16string_view sName);
+
+public:
+ TargetsTable(std::unique_ptr xControl);
+ void InsertTarget(RedactionTarget* pTarget);
+ RedactionTarget* GetTargetByName(std::u16string_view sName);
+ OUString GetNameProposal() const;
+
+ int get_selected_index() const { return m_xControl->get_selected_index(); }
+ std::vector get_selected_rows() const { return m_xControl->get_selected_rows(); }
+ void clear() { m_xControl->clear(); }
+ void remove(int nRow) { m_xControl->remove(nRow); }
+ void select(int nRow) { m_xControl->select(nRow); }
+ OUString get_id(int nRow) const { return m_xControl->get_id(nRow); }
+
+ // Sync data on the targets box with the data on the target
+ void setRowData(int nRowIndex, const RedactionTarget* pTarget);
+
+ void connect_row_activated(const Link& rLink)
+ {
+ m_xControl->connect_row_activated(rLink);
+ };
+};
+
+namespace sfx2
+{
+class FileDialogHelper;
+}
+
+enum class StartFileDialogType
+{
+ Open,
+ SaveAs
+};
+
+class SfxAutoRedactDialog final : public SfxDialogController
+{
+ SfxObjectShellLock m_xDocShell;
+ std::vector, OUString>> m_aTableTargets;
+ std::unique_ptr m_pFileDlg;
+ bool m_bIsValidState;
+ bool m_bTargetsCopied;
+
+ TargetsTable m_aTargetsBox;
+ std::unique_ptr m_xLoadBtn;
+ std::unique_ptr m_xSaveBtn;
+ std::unique_ptr m_xAddBtn;
+ std::unique_ptr m_xEditBtn;
+ std::unique_ptr m_xDeleteBtn;
+
+ DECL_LINK(Load, weld::Button&, void);
+ DECL_LINK(Save, weld::Button&, void);
+ DECL_LINK(AddHdl, weld::Button&, void);
+ DECL_LINK(EditHdl, weld::Button&, void);
+ DECL_LINK(DeleteHdl, weld::Button&, void);
+ DECL_LINK(DoubleClickEditHdl, weld::TreeView&, bool);
+ DECL_LINK(LoadHdl, sfx2::FileDialogHelper*, void);
+ DECL_LINK(SaveHdl, sfx2::FileDialogHelper*, void);
+
+ void StartFileDialog(StartFileDialogType nType, const OUString& rTitle);
+ /// Carry out proper addition both to the targets box, and to the tabletargets vector.
+ void addTarget(std::unique_ptr pTarget);
+ /// Clear all targets both visually and from the targets vector
+ void clearTargets();
+
+public:
+ SfxAutoRedactDialog(weld::Window* pParent);
+ virtual ~SfxAutoRedactDialog() override;
+
+ /// Check if the dialog has any valid redaction targets.
+ bool hasTargets() const;
+ /// Check if the dialog is in a valid state.
+ bool isValidState() const { return m_bIsValidState; }
+ /** Copies targets vector
+ * Does a shallow copy.
+ * Returns true if successful.
+ */
+ bool getTargets(std::vector>& r_aTargets);
+};
+
+class SfxAddTargetDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr m_xName;
+ std::unique_ptr m_xType;
+ std::unique_ptr m_xLabelContent;
+ std::unique_ptr m_xContent;
+ std::unique_ptr m_xLabelPredefContent;
+ std::unique_ptr m_xPredefContent;
+ std::unique_ptr m_xCaseSensitive;
+ std::unique_ptr m_xWholeWords;
+
+ DECL_LINK(SelectTypeHdl, weld::ComboBox&, void);
+
+public:
+ SfxAddTargetDialog(weld::Window* pWindow, const OUString& rName);
+ SfxAddTargetDialog(weld::Window* pWindow, const OUString& sName,
+ const RedactionTargetType& eTargetType, const OUString& sContent,
+ bool bCaseSensitive, bool bWholeWords);
+
+ OUString getName() const { return m_xName->get_text(); }
+ RedactionTargetType getType() const;
+ OUString getContent() const;
+ bool isCaseSensitive() const
+ {
+ return m_xCaseSensitive->get_state() == TriState::TRISTATE_TRUE;
+ }
+ bool isWholeWords() const { return m_xWholeWords->get_state() == TriState::TRISTATE_TRUE; }
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/sfx2/inc/bitmaps.hlst b/sfx2/inc/bitmaps.hlst
new file mode 100644
index 0000000000..0484bb7e18
--- /dev/null
+++ b/sfx2/inc/bitmaps.hlst
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * 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/.
+ */
+#pragma once
+
+#include
+
+inline constexpr OUString BMP_HELP_TOOLBOX_INDEX_ON = u"sfx2/res/indexon_small.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_INDEX_OFF = u"sfx2/res/indexoff_small.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_START = u"res/sc06303.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_PREV = u"res/sc06301.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_NEXT = u"res/sc06300.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_PRINT = u"res/sc05504.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_BOOKMARKS = u"sfx2/res/favourite.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_SEARCHDIALOG = u"sfx2/res/sc05961.png"_ustr;
+inline constexpr OUString BMP_HELP_TOOLBOX_COPY = u"sfx2/res/sc05711.png"_ustr;
+inline constexpr OUString BMP_HELP_CONTENT_BOOK_OPEN = u"sfx2/res/hlpbookopen.png"_ustr;
+inline constexpr OUString BMP_HELP_CONTENT_BOOK_CLOSED = u"sfx2/res/hlpbookclosed.png"_ustr;
+inline constexpr OUString BMP_HELP_CONTENT_DOC = u"sfx2/res/hlpdoc.png"_ustr;
+
+//start, sfx2/source/sidebar/Theme.cxx
+inline constexpr OUString CLOSEDOC = u"sfx2/res/closedoc.png"_ustr;
+#define GRIP "sfx2/res/grip.png"
+#define OPEN_MORE "sfx2/res/symphony/open_more.png"
+#define MOREBUTTON "sfx2/res/symphony/morebutton.png"
+#define SIDEBAR_ACCESSIBILITY_LARGE "sfx2/res/symphony/sidebar-a11y-large.png"
+#define SIDEBAR_ANIMATION_LARGE "sfx2/res/symphony/sidebar-animation-large.png"
+#define SIDEBAR_ELEMENTS_LARGE "sfx2/res/symphony/sidebar-elements-large.png"
+#define SIDEBAR_GALLERY_LARGE "sfx2/res/symphony/sidebar-gallery-large.png"
+#define SIDEBAR_NAVIGATOR_LARGE "sfx2/res/symphony/sidebar-navigator-large.png"
+#define SIDEBAR_PROPERTY_LARGE "sfx2/res/symphony/sidebar-property-large.png"
+#define SIDEBAR_PROPERTY_SMALL "sfx2/res/symphony/sidebar-property-small.png"
+#define SIDEBAR_STYLE_LARGE "sfx2/res/symphony/sidebar-style-large.png"
+#define SIDEBAR_TEMPLATE_LARGE "sfx2/res/symphony/sidebar-template-large.png"
+#define SIDEBAR_TRANSITION_LARGE "sfx2/res/symphony/sidebar-transition-large.png"
+#define SIDEBAR_FUNCTIONS_LARGE "sfx2/res/symphony/sidebar-functions-large.png"
+//end, sfx2/source/sidebar/Theme.cxx
+
+inline constexpr OUString SFX_THUMBNAIL_TEXT = u"res/ott_96_8.png"_ustr;
+inline constexpr OUString SFX_THUMBNAIL_SHEET = u"res/ots_96_8.png"_ustr;
+inline constexpr OUString SFX_THUMBNAIL_PRESENTATION = u"res/otp_96_8.png"_ustr;
+inline constexpr OUString SFX_THUMBNAIL_DRAWING = u"res/otg_96_8.png"_ustr;
+
+inline constexpr OUString SFX_FILE_THUMBNAIL_TEXT = u"res/writer128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_SHEET = u"res/calc128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_PRESENTATION = u"res/impress128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_DRAWING = u"res/draw128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_DATABASE = u"res/base128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_MATH = u"res/math128.png"_ustr;
+inline constexpr OUString SFX_FILE_THUMBNAIL_DEFAULT = u"res/main128.png"_ustr;
+
+inline constexpr OUString SFX_FILE_OVERLAY_TEXT = u"res/odt_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_SHEET = u"res/ods_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_PRESENTATION = u"res/odp_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_DRAWING = u"res/odg_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_DATABASE = u"res/odb_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_MATH = u"res/odf_48_8.png"_ustr;
+inline constexpr OUString SFX_FILE_OVERLAY_DEFAULT = u"res/mainapp_48_8.png"_ustr;
+
+inline constexpr OUString SFX_THUMBNAIL_BASE_192 = u"res/base_thumbnail_192.png"_ustr;
+inline constexpr OUString SFX_THUMBNAIL_BASE_256 = u"res/base_thumbnail_256.png"_ustr;
+
+inline constexpr OUString BMP_RECENTDOC_REMOVE = u"res/recentdoc_remove.png"_ustr;
+inline constexpr OUString BMP_RECENTDOC_REMOVE_HIGHLIGHTED = u"res/recentdoc_remove_highlighted.png"_ustr;
+inline constexpr OUString BMP_PIN_DOC = u"res/recentdoc_pin.png"_ustr;
+inline constexpr OUString BMP_PIN_DOC_HIGHLIGHTED = u"res/recentdoc_pin_highlighted.png"_ustr;
+inline constexpr OUString BMP_DEFAULT = u"res/templatestar.png"_ustr;
+
+inline constexpr OUString BMP_128X128_CALC_DOC = u"sfx2/res/128x128_calc_doc-p.png"_ustr;
+inline constexpr OUString BMP_128X128_DRAW_DOC = u"sfx2/res/128x128_draw_doc-p.png"_ustr;
+inline constexpr OUString BMP_128X128_IMPRESS_DOC = u"sfx2/res/128x128_impress_doc-p.png"_ustr;
+inline constexpr OUString BMP_128X128_MATH_DOC = u"sfx2/res/128x128_math_doc-p.png"_ustr;
+inline constexpr OUString BMP_128X128_WRITER_DOC = u"sfx2/res/128x128_writer_doc-p.png"_ustr;
+
+inline constexpr OUString SIDEBAR_CLOSE_INDICATOR = u"cmd/lc_decrementlevel.png"_ustr;
+inline constexpr OUString BMP_ACTION_DEFAULT_WRITER = u"res/odt_16_8.png"_ustr;
+inline constexpr OUString BMP_ACTION_DEFAULT_CALC = u"res/ods_16_8.png"_ustr;
+inline constexpr OUString BMP_ACTION_DEFAULT_IMPRESS = u"res/odp_16_8.png"_ustr;
+inline constexpr OUString BMP_ACTION_DEFAULT_DRAW = u"res/odg_16_8.png"_ustr;
+inline constexpr OUString BMP_ACTION_IMPORT = u"cmd/sc_dataimport.png"_ustr;
+inline constexpr OUString BMP_ACTION_EXTENSIONS = u"cmd/sc_additionsdialog.png"_ustr;
+inline constexpr OUString BMP_ACTION_DELETE_CATEGORY = u"cmd/sc_delete.png"_ustr;
+inline constexpr OUString BMP_ACTION_NEW_CATEGORY = u"cmd/sc_add.png"_ustr;
+inline constexpr OUString BMP_ACTION_RENAME = u"cmd/sc_editdoc.png"_ustr;
+
+inline constexpr OUString BMP_MENU_OPEN = u"cmd/sc_opentemplate.png"_ustr;
+inline constexpr OUString BMP_MENU_EDIT = u"cmd/sc_opentemplate.png"_ustr;
+inline constexpr OUString BMP_MENU_MOVE = u"cmd/sc_move.png"_ustr;
+inline constexpr OUString BMP_MENU_RENAME = u"cmd/sc_editdoc.png"_ustr;
+inline constexpr OUString BMP_MENU_DELETE = u"cmd/sc_delete.png"_ustr;
+inline constexpr OUString BMP_MENU_EXPORT = u"cmd/sc_exportto.png"_ustr;
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/sfx2/inc/bitset.hxx b/sfx2/inc/bitset.hxx
new file mode 100644
index 0000000000..3573e9c23a
--- /dev/null
+++ b/sfx2/inc/bitset.hxx
@@ -0,0 +1,49 @@
+/* -*- 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_INC_BITSET_HXX
+#define INCLUDED_SFX2_INC_BITSET_HXX
+
+#include
+
+#include
+
+class IndexBitSet
+{
+private:
+ sal_uInt16 nBlocks;
+ std::unique_ptr pBitmap;
+
+ IndexBitSet& operator|=( sal_uInt16 nBit );
+ IndexBitSet& operator-=( sal_uInt16 nBit );
+ bool Contains( sal_uInt16 nBit ) const;
+
+ IndexBitSet(IndexBitSet const &) = delete;
+ void operator =(IndexBitSet const &) = delete;
+
+public:
+ IndexBitSet();
+ ~IndexBitSet();
+
+ sal_uInt16 GetFreeIndex();
+ void ReleaseIndex(sal_uInt16 i){*this-=i;}
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/bluthsndapi.hxx b/sfx2/inc/bluthsndapi.hxx
new file mode 100644
index 0000000000..c95bccf898
--- /dev/null
+++ b/sfx2/inc/bluthsndapi.hxx
@@ -0,0 +1,28 @@
+/* -*- 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/.
+ */
+
+#ifndef INCLUDED_SFX2_INC_BLUTHSNDAPI_HXX
+#define INCLUDED_SFX2_INC_BLUTHSNDAPI_HXX
+
+#include
+#include
+
+
+// class SfxBluetoothModel_Impl -----------------------------------------------
+
+class SfxBluetoothModel:public SfxMailModel
+{
+public:
+ SendMailResult SaveAndSend( const css::uno::Reference< css::frame::XFrame >& xFrame );
+ SendMailResult Send();
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/charmapcontrol.hxx b/sfx2/inc/charmapcontrol.hxx
new file mode 100644
index 0000000000..72f0328da2
--- /dev/null
+++ b/sfx2/inc/charmapcontrol.hxx
@@ -0,0 +1,57 @@
+/* -*- 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 .
+ */
+
+#pragma once
+
+#include
+#include
+#include
+#include
+
+class CharmapPopup;
+
+namespace com::sun::star::frame { class XFrame; }
+
+class SfxCharmapCtrl final : public WeldToolbarPopup
+{
+public:
+ explicit SfxCharmapCtrl(CharmapPopup* pControl, weld::Widget* pParent);
+ virtual ~SfxCharmapCtrl() override;
+
+ virtual void GrabFocus() override;
+
+private:
+ rtl::Reference m_xControl;
+
+ ScopedVclPtr m_xVirDev;
+
+ SfxCharmapContainer m_aCharmapContents;
+
+ std::unique_ptr m_xRecentLabel;
+ std::unique_ptr m_xDlgBtn;
+ std::unique_ptr m_xCharInfoLabel;
+
+ DECL_LINK(CharFocusInHdl, SvxCharView*, void);
+ DECL_LINK(CharClickHdl, SvxCharView*, void);
+ DECL_LINK(OpenDlgHdl, weld::Button&, void);
+ DECL_LINK(DlgBtnFocusInHdl, weld::Widget&, void);
+ DECL_LINK(UpdateRecentHdl, void*, void);
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/charmappopup.hxx b/sfx2/inc/charmappopup.hxx
new file mode 100644
index 0000000000..eb847dc573
--- /dev/null
+++ b/sfx2/inc/charmappopup.hxx
@@ -0,0 +1,41 @@
+/* -*- 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 .
+ */
+
+#pragma once
+
+#include
+
+class CharmapPopup final : public svt::PopupWindowController
+{
+public:
+ CharmapPopup(const css::uno::Reference& rContext);
+ virtual ~CharmapPopup() override;
+
+ virtual VclPtr createVclPopupWindow(vcl::Window* pParent) override;
+ virtual std::unique_ptr weldPopupWindow() override;
+
+ // XServiceInfo
+ virtual OUString SAL_CALL getImplementationName() override;
+ virtual css::uno::Sequence SAL_CALL getSupportedServiceNames() override;
+
+ // XInitialization
+ virtual void SAL_CALL initialize(const css::uno::Sequence& rArguments) override;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/checkin.hxx b/sfx2/inc/checkin.hxx
new file mode 100644
index 0000000000..78535f7aab
--- /dev/null
+++ b/sfx2/inc/checkin.hxx
@@ -0,0 +1,31 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include
+
+class SfxCheckinDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr m_xCommentED;
+ std::unique_ptr m_xMajorCB;
+ std::unique_ptr m_xOKBtn;
+
+ DECL_LINK(OKHdl, weld::Button&, void);
+
+public:
+ SfxCheckinDialog(weld::Window* pParent);
+ virtual ~SfxCheckinDialog() override;
+
+ OUString GetComment() const;
+ bool IsMajor() const;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/commandpopup/CommandPopup.hxx b/sfx2/inc/commandpopup/CommandPopup.hxx
new file mode 100644
index 0000000000..c93a283608
--- /dev/null
+++ b/sfx2/inc/commandpopup/CommandPopup.hxx
@@ -0,0 +1,115 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include
+#include
+
+#include
+#include
+#include
+#include
+#include
+
+#include
+#include
+
+struct CurrentEntry final
+{
+ OUString m_aCommandURL;
+ OUString m_aTooltip;
+
+ CurrentEntry(OUString aCommandURL, OUString aTooltip)
+ : m_aCommandURL(std::move(aCommandURL))
+ , m_aTooltip(std::move(aTooltip))
+ {
+ }
+};
+
+struct MenuContent final
+{
+ OUString m_aCommandURL;
+ OUString m_aMenuLabel;
+ OUString m_aSearchableMenuLabel;
+ OUString m_aFullLabelWithPath;
+ OUString m_aTooltip;
+ std::vector m_aSubMenuContent;
+};
+
+class MenuContentHandler final
+{
+private:
+ css::uno::Reference m_xContext;
+ css::uno::Reference m_xFrame;
+ css::uno::Reference m_xCharacterClassification;
+ css::uno::Reference m_xURLTransformer;
+
+ MenuContent m_aMenuContent;
+ OUString m_sModuleLongName;
+ OUString toLower(OUString const& rString);
+ std::unordered_set m_aAdded;
+
+public:
+ MenuContentHandler(css::uno::Reference const& xFrame);
+
+ void gatherMenuContent(css::uno::Reference const& xIndexAccess,
+ MenuContent& rMenuContent);
+
+ void findInMenu(OUString const& rText, std::unique_ptr& rpCommandTreeView,
+ std::vector& rCommandList);
+
+private:
+ void findInMenuRecursive(
+ MenuContent const& rMenuContent, OUString const& rText,
+ std::unique_ptr& rpCommandTreeView, std::vector& rCommandList,
+ std::function const& rSearchCriterium);
+
+ void addCommandIfPossible(MenuContent const& rMenuContent,
+ const std::unique_ptr& rpCommandTreeView,
+ std::vector& rCommandList);
+};
+
+class CommandListBox final
+{
+private:
+ std::unique_ptr mxBuilder;
+ std::unique_ptr mxPopover;
+ std::unique_ptr mpEntry;
+ std::unique_ptr mpCommandTreeView;
+
+ std::vector maCommandList;
+ std::unique_ptr mpMenuContentHandler;
+
+ DECL_LINK(QueryTooltip, const weld::TreeIter&, OUString);
+ DECL_LINK(RowActivated, weld::TreeView&, bool);
+ DECL_LINK(ModifyHdl, weld::Entry&, void);
+ DECL_LINK(TreeViewKeyPress, const KeyEvent&, bool);
+
+ void dispatchCommandAndClose(OUString const& rCommand);
+
+public:
+ CommandListBox(weld::Window* pParent, css::uno::Reference const& xFrame);
+ void connect_closed(const Link& rLink)
+ {
+ mxPopover->connect_closed(rLink);
+ }
+};
+
+class CommandPopupHandler final
+{
+private:
+ std::unique_ptr mpListBox;
+
+public:
+ void showPopup(weld::Window* pParent, css::uno::Reference const& xFrame);
+ DECL_LINK(PopupModeEnd, weld::Popover&, void);
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/dinfdlg.hrc b/sfx2/inc/dinfdlg.hrc
new file mode 100644
index 0000000000..ef47615e7e
--- /dev/null
+++ b/sfx2/inc/dinfdlg.hrc
@@ -0,0 +1,87 @@
+/* -*- 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_INC_DINFDLG_HRC
+#define INCLUDED_SFX2_INC_DINFDLG_HRC
+
+#include
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+const TranslateId SFX_CB_PROPERTY_STRINGARRAY[] =
+{
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Checked by"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Client"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Date completed"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Department"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Destinations"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Disposition"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Division"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Document number"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Editor"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Email"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Forward to"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Group"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Info"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Language"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Mailstop"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Matter"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Office"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Owner"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Project"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Publisher"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Purpose"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Received from"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Recorded by"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Recorded date"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Reference"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Source"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Status"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Telephone number"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "Typist"),
+ NC_("SFX_CB_PROPERTY_STRINGARRAY", "URL")
+};
+
+enum CustomProperties : sal_Int32 {
+ Custom_Type_Unknown = 0,
+ Custom_Type_Text = 1,
+ Custom_Type_Number = 2,
+ Custom_Type_Date = 3,
+ Custom_Type_Boolean = 4,
+ Custom_Type_Duration = 5,
+ Custom_Type_Datetime = 6
+};
+
+const std::pair SFX_LB_PROPERTY_STRINGARRAY[] =
+{
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Text") , Custom_Type_Text },
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "DateTime") , Custom_Type_Datetime },
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Date") , Custom_Type_Date },
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Duration") , Custom_Type_Duration },
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Number") , Custom_Type_Number },
+ { NC_("SFX_CB_PROPERTY_STRINGARRAY", "Yes or no") , Custom_Type_Boolean }
+};
+
+// accessibility descriptions that use %PRODUCTNAME, we set these explicitly because querying a11y descs
+// in order to change %PRODUCTNAME at runtime is expensive, so limit doing that as much as possible.
+#define STR_A11Y_DESC_USERDATA NC_("documentinfopage|extended_tip|userdatacb", "Saves the user's full name with the file. You can edit the name by choosing Tools - Options - %PRODUCTNAME - User Data.")
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/doctempl.hrc b/sfx2/inc/doctempl.hrc
new file mode 100644
index 0000000000..82bcfef269
--- /dev/null
+++ b/sfx2/inc/doctempl.hrc
@@ -0,0 +1,41 @@
+/* -*- 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_INC_DOCTEMPL_HRC
+#define INCLUDED_SFX2_INC_DOCTEMPL_HRC
+
+#include
+
+#define NC_(Context, String) TranslateId(Context, u8##String)
+
+const TranslateId TEMPLATE_LONG_NAMES_ARY[] =
+{
+ NC_("TEMPLATE_LONG_NAMES_ARY", "My Templates"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Styles"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Business Correspondence"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Other Business Documents"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Personal Correspondence and Documents"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Presentations"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Drawings"),
+ NC_("TEMPLATE_LONG_NAMES_ARY", "Localization")
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/fwkhelper.hxx b/sfx2/inc/fwkhelper.hxx
new file mode 100644
index 0000000000..d206957c9d
--- /dev/null
+++ b/sfx2/inc/fwkhelper.hxx
@@ -0,0 +1,31 @@
+/* -*- 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_INC_FWKHELPER_HXX
+#define INCLUDED_SFX2_INC_FWKHELPER_HXX
+
+#include
+#include
+#include
+
+void RefreshToolbars(css::uno::Reference const& rFrame);
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/guisaveas.hxx b/sfx2/inc/guisaveas.hxx
new file mode 100644
index 0000000000..a1f85bbc22
--- /dev/null
+++ b/sfx2/inc/guisaveas.hxx
@@ -0,0 +1,114 @@
+/* -*- 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_INC_GUISAVEAS_HXX
+#define INCLUDED_SFX2_INC_GUISAVEAS_HXX
+
+#include
+
+#include
+
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include
+
+#include
+#include
+
+#include
+
+#include
+
+
+namespace com::sun::star::document { class XDocumentProperties; }
+
+namespace weld { class Window; }
+class ModelData_Impl;
+
+class SfxStoringHelper
+{
+ friend class ModelData_Impl;
+
+private:
+ css::uno::Reference< css::container::XNameAccess > m_xFilterCFG;
+ css::uno::Reference< css::container::XContainerQuery > m_xFilterQuery;
+ css::uno::Reference< css::frame::XModuleManager2 > m_xModuleManager;
+
+ std::shared_ptr m_xModelData;
+ css::uno::Sequence< css::beans::PropertyValue > m_aArgsSequence;
+
+ css::uno::Reference< css::container::XNameAccess > const & GetFilterConfiguration();
+ css::uno::Reference< css::container::XContainerQuery > const & GetFilterQuery();
+ css::uno::Reference< css::frame::XModuleManager2 > const & GetModuleManager();
+
+ bool m_bRemote;
+ bool m_bPreselectPassword;
+ bool m_bDialogUsed;
+ bool m_bSetStandardName;
+ sal_Int16 m_nStoreMode;
+
+ static bool FinishGUIStoreModel(::comphelper::SequenceAsHashMap::const_iterator& aFileNameIter,
+ ModelData_Impl& aModelData, bool bRemote, sal_Int16 nStoreMode,
+ css::uno::Sequence< css::beans::PropertyValue >& aFilterProps,
+ bool bSetStandardName, bool bPreselectPassword, bool bDialogUsed,
+ std::u16string_view aFilterFromMediaDescr, std::u16string_view aOldFilterName,
+ css::uno::Sequence< css::beans::PropertyValue >& aArgsSequence,
+ OUString aFilterName);
+
+ void CallFinishGUIStoreModel();
+
+public:
+ SfxStoringHelper();
+
+ bool GUIStoreModel(
+ const css::uno::Reference< css::frame::XModel >& xModel,
+ std::u16string_view aSlotName,
+ css::uno::Sequence< css::beans::PropertyValue >& aArgsSequence,
+ bool bPreselectPassword,
+ SignatureState nDocumentSignatureState,
+ bool bIsAsync );
+
+ static bool CheckFilterOptionsAppearance(
+ const css::uno::Reference< css::container::XNameAccess >& xFilterCFG,
+ const OUString& aFilterName );
+
+
+ static void SetDocInfoState(
+ const css::uno::Reference< css::frame::XModel >& xModel,
+ const css::uno::Reference< css::document::XDocumentProperties>& i_xOldDocInfo );
+
+ static bool WarnUnacceptableFormat(
+ const css::uno::Reference< css::frame::XModel >& xModel,
+ std::u16string_view aOldUIName,
+ const OUString& aDefExtension,
+ bool rDefaultIsAlien );
+
+ static css::uno::Reference GetModelXWindow(const css::uno::Reference& rModel);
+ static weld::Window* GetModelWindow( const css::uno::Reference< css::frame::XModel >& xModel );
+
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/inettbc.hxx b/sfx2/inc/inettbc.hxx
new file mode 100644
index 0000000000..1e695a9e47
--- /dev/null
+++ b/sfx2/inc/inettbc.hxx
@@ -0,0 +1,64 @@
+/* -*- 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_INC_INETTBC_HXX
+#define INCLUDED_SFX2_INC_INETTBC_HXX
+
+#include
+#include
+
+namespace weld { class ComboBox; };
+class URLBoxItemWindow;
+class SvtURLBox;
+
+class SfxURLToolBoxControl_Impl final : public SfxToolBoxControl
+{
+private:
+ bool m_bModified;
+
+ SvtURLBox* GetURLBox() const;
+ URLBoxItemWindow* GetURLBoxItemWindow() const;
+ void OpenURL( const OUString& rName ) const;
+
+ DECL_LINK(OpenHdl, weld::ComboBox&, bool);
+ DECL_LINK(SelectHdl, weld::ComboBox&, void);
+
+ struct ExecuteInfo
+ {
+ css::uno::Reference< css::frame::XDispatch > xDispatch;
+ css::util::URL aTargetURL;
+ css::uno::Sequence< css::beans::PropertyValue > aArgs;
+ };
+
+ DECL_STATIC_LINK( SfxURLToolBoxControl_Impl, ExecuteHdl_Impl, void*, void );
+
+public:
+
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SfxURLToolBoxControl_Impl( sal_uInt16 nSlotId, ToolBoxItemId nId, ToolBox& rBox );
+ virtual ~SfxURLToolBoxControl_Impl() override;
+
+ virtual VclPtr CreateItemWindow(vcl::Window* pParent) override;
+ virtual void StateChangedAtToolBoxControl( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState ) override;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/notebookbar/NotebookbarTabControl.hxx b/sfx2/inc/notebookbar/NotebookbarTabControl.hxx
new file mode 100644
index 0000000000..ebbffc4f9b
--- /dev/null
+++ b/sfx2/inc/notebookbar/NotebookbarTabControl.hxx
@@ -0,0 +1,48 @@
+/* -*- 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/.
+ */
+
+#pragma once
+
+#include
+
+#include
+
+namespace com::sun::star::ui { class XUIConfigurationListener; }
+namespace com::sun::star::uno { class XComponentContext; }
+
+class NotebookbarTabControl final : public NotebookbarTabControlBase
+{
+friend class ChangedUIEventListener;
+
+public:
+ NotebookbarTabControl( Window* pParent );
+ ~NotebookbarTabControl() override;
+
+ virtual void KeyInput( const KeyEvent& rKEvt ) override;
+ virtual bool EventNotify( NotifyEvent& rNEvt ) override;
+ virtual void StateChanged(StateChangedType nStateChange) override;
+ virtual Size calculateRequisition() const override;
+
+private:
+ static void FillShortcutsToolBox(css::uno::Reference const & xContext,
+ const css::uno::Reference& xFrame,
+ const OUString& aModuleName,
+ ToolBox* pShortcuts
+ );
+ void ArrowStops( sal_uInt16 nCode );
+
+ DECL_LINK(OpenNotebookbarPopupMenu, NotebookBar*, void);
+
+ css::uno::Reference m_pListener;
+ css::uno::Reference m_xFrame;
+ bool m_bInitialized;
+ bool m_bInvalidate;
+};
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/pch/precompiled_sfx.cxx b/sfx2/inc/pch/precompiled_sfx.cxx
new file mode 100644
index 0000000000..b741a11c2e
--- /dev/null
+++ b/sfx2/inc/pch/precompiled_sfx.cxx
@@ -0,0 +1,12 @@
+/* -*- 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/.
+ */
+
+#include "precompiled_sfx.hxx"
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/inc/pch/precompiled_sfx.hxx b/sfx2/inc/pch/precompiled_sfx.hxx
new file mode 100644
index 0000000000..1f92a21a34
--- /dev/null
+++ b/sfx2/inc/pch/precompiled_sfx.hxx
@@ -0,0 +1,485 @@
+/* -*- 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 has been autogenerated by update_pch.sh. It is possible to edit it
+ manually (such as when an include file has been moved/renamed/removed). All such
+ manual changes will be rewritten by the next run of update_pch.sh (which presumably
+ also fixes all possible problems, so it's usually better to use it).
+
+ Generated on 2022-01-26 09:15:03 using:
+ ./bin/update_pch sfx2 sfx --cutoff=3 --exclude:system --exclude:module --exclude:local
+
+ If after updating build fails, use the following command to locate conflicting headers:
+ ./bin/update_pch_bisect ./sfx2/inc/pch/precompiled_sfx.hxx "make sfx2.build" --find-conflicts
+*/
+
+#include
+#if PCH_LEVEL >= 1
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include