summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-02-03 09:59:44 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-02-03 20:24:00 +0100
commit3d826d780af366c7ed650ec44e7bcb20b02e2c70 (patch)
tree5b0d79f92a64eaa11667a20edaf6392e42480b02 /sfx2
parent12f9fdfac8b41d74e9474e8966e3d28755424931 (diff)
make some headers private
as shown with ./bin/find-headers-to-move-inside-modules.py Change-Id: I7662417e76fe00c0fc352957560e104b6c2a3d61 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87850 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/IwyuFilter_sfx2.yaml3
-rw-r--r--sfx2/inc/pch/precompiled_sfx.hxx4
-rw-r--r--sfx2/source/control/asyncfunc.cxx2
-rw-r--r--sfx2/source/control/dispatch.cxx2
-rw-r--r--sfx2/source/control/recentdocsview.cxx2
-rw-r--r--sfx2/source/control/recentdocsviewitem.cxx3
-rw-r--r--sfx2/source/control/recentdocsviewitem.hxx67
-rw-r--r--sfx2/source/dialog/dinfdlg.cxx2
-rw-r--r--sfx2/source/dialog/mgetempl.cxx3
-rw-r--r--sfx2/source/dialog/mgetempl.hxx94
-rw-r--r--sfx2/source/dialog/securitypage.cxx3
-rw-r--r--sfx2/source/dialog/securitypage.hxx42
-rw-r--r--sfx2/source/dialog/styledlg.cxx4
-rw-r--r--sfx2/source/doc/guisaveas.cxx2
-rw-r--r--sfx2/source/doc/objserv.cxx2
-rw-r--r--sfx2/source/inc/asyncfunc.hxx36
-rw-r--r--sfx2/source/inc/hintpost.hxx59
-rw-r--r--sfx2/source/notify/hintpost.cxx2
-rw-r--r--sfx2/source/view/printer.cxx2
-rw-r--r--sfx2/source/view/prnmon.hxx55
-rw-r--r--sfx2/source/view/viewprn.cxx3
21 files changed, 375 insertions, 17 deletions
diff --git a/sfx2/IwyuFilter_sfx2.yaml b/sfx2/IwyuFilter_sfx2.yaml
index 2b2410d03d55..ddb3efcaa2ba 100644
--- a/sfx2/IwyuFilter_sfx2.yaml
+++ b/sfx2/IwyuFilter_sfx2.yaml
@@ -95,6 +95,9 @@ blacklist:
sfx2/source/doc/sfxbasemodel.cxx:
# Don't propose hxx -> h change in URE libs
- cppuhelper/interfacecontainer.hxx
+ sfx2/source/inc/asyncfunc.hxx:
+ # base class has to be a complete type
+ - com/sun/star/lang/XUnoTunnel.hpp
sfx2/source/sidebar/ControllerFactory.cxx:
# Actually used
- com/sun/star/frame/XFrame.hpp
diff --git a/sfx2/inc/pch/precompiled_sfx.hxx b/sfx2/inc/pch/precompiled_sfx.hxx
index 409e197d01b2..0c147a9d3d0d 100644
--- a/sfx2/inc/pch/precompiled_sfx.hxx
+++ b/sfx2/inc/pch/precompiled_sfx.hxx
@@ -13,7 +13,7 @@
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 2020-02-01 11:40:31 using:
+ Generated on 2020-02-03 10:51:07 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:
@@ -383,6 +383,7 @@
#include <appbaslib.hxx>
#include <appdata.hxx>
#include <appopen.hxx>
+#include <asyncfunc.hxx>
#include <childwinimpl.hxx>
#include <ctrlfactoryimpl.hxx>
#include <eventsupplier.hxx>
@@ -395,7 +396,6 @@
#include <openuriexternally.hxx>
#include <openurlhint.hxx>
#include <sfx2/app.hxx>
-#include <sfx2/asyncfunc.hxx>
#include <sfx2/basedlgs.hxx>
#include <sfx2/bindings.hxx>
#include <sfx2/childwin.hxx>
diff --git a/sfx2/source/control/asyncfunc.cxx b/sfx2/source/control/asyncfunc.cxx
index fe25e3749132..b81639af5646 100644
--- a/sfx2/source/control/asyncfunc.cxx
+++ b/sfx2/source/control/asyncfunc.cxx
@@ -7,7 +7,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#include <sfx2/asyncfunc.hxx>
+#include <asyncfunc.hxx>
AsyncFunc::AsyncFunc(const std::function<void()>& rAsyncFunc)
: m_pAsyncFunc(rAsyncFunc)
diff --git a/sfx2/source/control/dispatch.cxx b/sfx2/source/control/dispatch.cxx
index e06ea3b4e15b..d703530ad23c 100644
--- a/sfx2/source/control/dispatch.cxx
+++ b/sfx2/source/control/dispatch.cxx
@@ -45,7 +45,7 @@
#include <sfx2/childwin.hxx>
#include <sfx2/dispatch.hxx>
#include <sfx2/docfile.hxx>
-#include <sfx2/hintpost.hxx>
+#include <hintpost.hxx>
#include <sfx2/ipclient.hxx>
#include <sfx2/module.hxx>
#include <sfx2/msg.hxx>
diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx
index 4eaa6ae4de64..5367fe718833 100644
--- a/sfx2/source/control/recentdocsview.cxx
+++ b/sfx2/source/control/recentdocsview.cxx
@@ -20,7 +20,6 @@
#include <sal/log.hxx>
#include <comphelper/base64.hxx>
#include <sfx2/recentdocsview.hxx>
-#include <sfx2/recentdocsviewitem.hxx>
#include <sfx2/sfxresid.hxx>
#include <tools/diagnose_ex.h>
#include <unotools/historyoptions.hxx>
@@ -39,6 +38,7 @@
#include <sfx2/strings.hrc>
#include <bitmaps.hlst>
#include <vcl/virdev.hxx>
+#include "recentdocsviewitem.hxx"
#include <officecfg/Office/Common.hxx>
diff --git a/sfx2/source/control/recentdocsviewitem.cxx b/sfx2/source/control/recentdocsviewitem.cxx
index 42af6f7527e9..26a281be5e26 100644
--- a/sfx2/source/control/recentdocsviewitem.cxx
+++ b/sfx2/source/control/recentdocsviewitem.cxx
@@ -7,8 +7,6 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
-#include <sfx2/recentdocsviewitem.hxx>
-
#include <com/sun/star/frame/Desktop.hpp>
#include <com/sun/star/util/URLTransformer.hpp>
#include <drawinglayer/primitive2d/discretebitmapprimitive2d.hxx>
@@ -24,6 +22,7 @@
#include <vcl/ptrstyle.hxx>
#include <bitmaps.hlst>
+#include "recentdocsviewitem.hxx"
using namespace basegfx;
using namespace com::sun::star;
diff --git a/sfx2/source/control/recentdocsviewitem.hxx b/sfx2/source/control/recentdocsviewitem.hxx
new file mode 100644
index 000000000000..5f88f4170cae
--- /dev/null
+++ b/sfx2/source/control/recentdocsviewitem.hxx
@@ -0,0 +1,67 @@
+/* -*- 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_RECENTDOCSVIEWITEM_HXX
+#define INCLUDED_SFX2_RECENTDOCSVIEWITEM_HXX
+
+#include <sfx2/thumbnailviewitem.hxx>
+
+class ThumbnailView;
+
+namespace sfx2
+{
+ class RecentDocsView;
+}
+
+class RecentDocsViewItem final : public ThumbnailViewItem
+{
+public:
+ RecentDocsViewItem(sfx2::RecentDocsView &rView, const OUString &rURL,
+ const OUString &rTitle, const BitmapEx& rThumbnail, sal_uInt16 nId, long nThumbnailSize);
+
+ /** Updates own highlight status based on the aPoint position.
+
+ Calls the ancestor's updateHighlight, and then takes care of m_bRemoveIconHighlighted.
+
+ Returns rectangle that needs to be invalidated.
+ */
+ virtual tools::Rectangle updateHighlight(bool bVisible, const Point& rPoint) override;
+
+ /// Text to be used for the tooltip.
+ virtual OUString getHelpText() const override;
+
+ virtual void Paint(drawinglayer::processor2d::BaseProcessor2D *pProcessor,
+ const ThumbnailItemAttributes *pAttrs) override;
+
+ virtual void MouseButtonUp(const MouseEvent& rMEvt) override;
+
+ /// Called when the user clicks a document - it will open it.
+ void OpenDocument();
+
+private:
+ sfx2::RecentDocsView& mrParentView;
+
+ /// Return area where is the icon to remove document from the recent documents.
+ tools::Rectangle getRemoveIconArea() const;
+
+ OUString const maURL;
+
+ OUString m_sHelpText;
+
+ /// Is the icon that the user can click to remove the document from the recent documents highlighted?
+ bool m_bRemoveIconHighlighted;
+
+ BitmapEx const m_aRemoveRecentBitmap;
+
+ BitmapEx const m_aRemoveRecentBitmapHighlighted;
+};
+
+#endif // INCLUDED_SFX2_RECENTDOCSVIEWITEM_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index bb377b4f0ac0..f91ec15f8d51 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -54,7 +54,6 @@
#include <vcl/timer.hxx>
#include <vcl/settings.hxx>
-#include <sfx2/securitypage.hxx>
#include <sfx2/sfxresid.hxx>
#include <sfx2/frame.hxx>
#include <sfx2/filedlghelper.hxx>
@@ -69,6 +68,7 @@
#include <sfx2/strings.hrc>
#include <strings.hxx>
#include <tools/diagnose_ex.h>
+#include "securitypage.hxx"
#include <algorithm>
diff --git a/sfx2/source/dialog/mgetempl.cxx b/sfx2/source/dialog/mgetempl.cxx
index 978bea6cf437..f924b41ac96d 100644
--- a/sfx2/source/dialog/mgetempl.cxx
+++ b/sfx2/source/dialog/mgetempl.cxx
@@ -29,7 +29,6 @@
#include <sfx2/styledlg.hxx>
#include <sfx2/tabdlg.hxx>
#include <sfx2/app.hxx>
-#include <sfx2/mgetempl.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/sfxresid.hxx>
#include <sfx2/module.hxx>
@@ -40,6 +39,8 @@
#include <svl/stritem.hxx>
#include <sfx2/dispatch.hxx>
+#include "mgetempl.hxx"
+
/* SfxManageStyleSheetPage Constructor
*
* initializes the list box with the templates
diff --git a/sfx2/source/dialog/mgetempl.hxx b/sfx2/source/dialog/mgetempl.hxx
new file mode 100644
index 000000000000..26a1a32ca69c
--- /dev/null
+++ b/sfx2/source/dialog/mgetempl.hxx
@@ -0,0 +1,94 @@
+/* -*- 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_MGETEMPL_HXX
+#define INCLUDED_SFX2_MGETEMPL_HXX
+
+#include <sfx2/styfitem.hxx>
+#include <sfx2/tabdlg.hxx>
+#include <memory>
+
+namespace weld { class Button; }
+namespace weld { class CheckButton; }
+namespace weld { class ComboBox; }
+namespace weld { class Entry; }
+namespace weld { class Label; }
+namespace weld { class Widget; }
+
+/* expected:
+ SID_TEMPLATE_NAME : In: StringItem, Name of Template
+ SID_TEMPLATE_FAMILY : In: Family of Template
+*/
+
+class SfxManageStyleSheetPage final : public SfxTabPage
+{
+ SfxStyleSheetBase *pStyle;
+ std::unique_ptr<SfxStyleFamilies> pFamilies;
+ const SfxStyleFamilyItem *pItem;
+ OUString aBuf;
+ bool bModified;
+
+ // initial data for the style
+ OUString aName;
+ OUString aFollow;
+ OUString aParent;
+ SfxStyleSearchBits const nFlags;
+
+ std::unique_ptr<weld::Entry> m_xName;
+ std::unique_ptr<weld::CheckButton> m_xAutoCB;
+ std::unique_ptr<weld::Label> m_xFollowFt;
+ std::unique_ptr<weld::ComboBox> m_xFollowLb;
+ std::unique_ptr<weld::Button> m_xEditStyleBtn;
+ std::unique_ptr<weld::Label> m_xBaseFt;
+ std::unique_ptr<weld::ComboBox> m_xBaseLb;
+ std::unique_ptr<weld::Button> m_xEditLinkStyleBtn;
+ std::unique_ptr<weld::Label> m_xFilterFt;
+ std::unique_ptr<weld::ComboBox> m_xFilterLb;
+ std::unique_ptr<weld::Label> m_xDescFt;
+ std::unique_ptr<weld::Label> m_xNameFt;
+
+ friend class SfxStyleDialogController;
+
+ DECL_LINK(GetFocusHdl, weld::Widget&, void);
+ DECL_LINK(LoseFocusHdl, weld::Widget&, void);
+ DECL_LINK(EditStyleSelectHdl_Impl, weld::ComboBox&, void);
+ DECL_LINK(EditStyleHdl_Impl, weld::Button&, void);
+ DECL_LINK(EditLinkStyleSelectHdl_Impl, weld::ComboBox&, void);
+ DECL_LINK(EditLinkStyleHdl_Impl, weld::Button&, void);
+
+ void UpdateName_Impl(weld::ComboBox*, const OUString &rNew);
+ void SetDescriptionText_Impl();
+
+
+ static std::unique_ptr<SfxTabPage> Create( weld::Container* pPage, weld::DialogController* pController, const SfxItemSet* );
+
+ virtual bool FillItemSet(SfxItemSet *) override;
+ virtual void Reset(const SfxItemSet *) override;
+
+ static bool Execute_Impl( sal_uInt16 nId, const OUString& rStr, sal_uInt16 nFamily );
+ virtual void ActivatePage(const SfxItemSet &) override;
+ virtual DeactivateRC DeactivatePage(SfxItemSet *) override;
+
+public:
+ SfxManageStyleSheetPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet &rAttrSet);
+ virtual ~SfxManageStyleSheetPage() override;
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/securitypage.cxx b/sfx2/source/dialog/securitypage.cxx
index 2e673538d913..6268e10e7607 100644
--- a/sfx2/source/dialog/securitypage.cxx
+++ b/sfx2/source/dialog/securitypage.cxx
@@ -18,7 +18,6 @@
*/
#include <sfx2/htmlmode.hxx>
-#include <sfx2/securitypage.hxx>
#include <sfx2/sfxresid.hxx>
@@ -37,6 +36,8 @@
#include <sfx2/strings.hrc>
+#include "securitypage.hxx"
+
using namespace ::com::sun::star;
namespace
diff --git a/sfx2/source/dialog/securitypage.hxx b/sfx2/source/dialog/securitypage.hxx
new file mode 100644
index 000000000000..b4ca1ddac5c5
--- /dev/null
+++ b/sfx2/source/dialog/securitypage.hxx
@@ -0,0 +1,42 @@
+/* -*- 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_SECURITYPAGE_HXX
+#define INCLUDED_SFX2_SECURITYPAGE_HXX
+
+#include <sfx2/tabdlg.hxx>
+#include <memory>
+
+struct SfxSecurityPage_Impl;
+
+class SfxSecurityPage final : public SfxTabPage
+{
+ std::unique_ptr< SfxSecurityPage_Impl > m_pImpl;
+
+ virtual bool FillItemSet( SfxItemSet* ) override;
+ virtual void Reset( const SfxItemSet* ) override;
+
+public:
+ SfxSecurityPage(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet&);
+ static std::unique_ptr<SfxTabPage> Create(weld::Container* pPage, weld::DialogController* pController, const SfxItemSet*);
+ weld::Builder& GetBuilder() const { return *m_xBuilder; }
+};
+
+#endif // INCLUDED_SFX2_SECURITYPAGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/dialog/styledlg.cxx b/sfx2/source/dialog/styledlg.cxx
index 700f44e5e3ec..e86f63f9ef53 100644
--- a/sfx2/source/dialog/styledlg.cxx
+++ b/sfx2/source/dialog/styledlg.cxx
@@ -21,11 +21,11 @@
#include <svl/style.hxx>
#include <sfx2/styledlg.hxx>
-#include <sfx2/mgetempl.hxx>
#include <sfx2/sfxresid.hxx>
-
#include <sfx2/strings.hrc>
+#include "mgetempl.hxx"
+
/* [Description]
Constructor: Add Manage TabPage, set ExampleSet from style.
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 6c06bfaea8b5..e42cf63c13f6 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -69,7 +69,7 @@
#include <sfx2/strings.hrc>
#include <sfx2/sfxresid.hxx>
#include <sfx2/filedlghelper.hxx>
-#include <sfx2/asyncfunc.hxx>
+#include <asyncfunc.hxx>
#include <sfx2/app.hxx>
#include <sfx2/sfxuno.hxx>
#include <alienwarn.hxx>
diff --git a/sfx2/source/doc/objserv.cxx b/sfx2/source/doc/objserv.cxx
index 6b97b0befef7..275edbea273d 100644
--- a/sfx2/source/doc/objserv.cxx
+++ b/sfx2/source/doc/objserv.cxx
@@ -60,7 +60,7 @@
#include <comphelper/storagehelper.hxx>
#include <tools/link.hxx>
-#include <sfx2/asyncfunc.hxx>
+#include <asyncfunc.hxx>
#include <sfx2/signaturestate.hxx>
#include <sfx2/sfxresid.hxx>
#include <sfx2/request.hxx>
diff --git a/sfx2/source/inc/asyncfunc.hxx b/sfx2/source/inc/asyncfunc.hxx
new file mode 100644
index 000000000000..7d4f409b86b3
--- /dev/null
+++ b/sfx2/source/inc/asyncfunc.hxx
@@ -0,0 +1,36 @@
+/* -*- 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_ASYNCFUNC_HXX
+#define INCLUDED_SFX2_ASYNCFUNC_HXX
+
+#include <functional>
+
+#include <com/sun/star/lang/XUnoTunnel.hpp>
+#include <comphelper/servicehelper.hxx>
+#include <cppuhelper/implbase.hxx>
+
+class AsyncFunc final : public cppu::WeakImplHelper<css::lang::XUnoTunnel>
+{
+private:
+ std::function<void()> const m_pAsyncFunc;
+
+public:
+ AsyncFunc(const std::function<void()>&);
+ virtual ~AsyncFunc() override;
+
+ void Execute();
+
+ //XUnoTunnel
+ UNO3_GETIMPLEMENTATION_DECL(AsyncFunc)
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/inc/hintpost.hxx b/sfx2/source/inc/hintpost.hxx
new file mode 100644
index 000000000000..0a72aa661446
--- /dev/null
+++ b/sfx2/source/inc/hintpost.hxx
@@ -0,0 +1,59 @@
+/* -*- 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_HINTPOST_HXX
+#define INCLUDED_SFX2_HINTPOST_HXX
+
+#include <tools/link.hxx>
+#include <tools/ref.hxx>
+#include <functional>
+#include <memory>
+
+
+class SfxRequest;
+
+/** [Description]
+
+ This class allows sending unique events via VCL's
+ Application::PostUserEvent(). When the User-Event is dispatched,
+ the handler <Event()> is called, which calls the Link provided with
+ SetEventHdl().
+
+ The instances are held via Ref-Count until a possibly sent
+ event has arrived. If the target dies before delivery,
+ the connection must be severed with SetEventHdl(Link()).
+*/
+class SfxHintPoster final : public SvRefBase
+{
+private:
+ std::function<void (std::unique_ptr<SfxRequest>)> m_Link;
+
+ DECL_LINK( DoEvent_Impl, void*, void );
+
+ virtual ~SfxHintPoster() override;
+
+public:
+ SfxHintPoster(const std::function<void (std::unique_ptr<SfxRequest>)>& rLink);
+
+ void Post( std::unique_ptr<SfxRequest> pHint );
+ void SetEventHdl(const std::function<void (std::unique_ptr<SfxRequest>)>& rLink);
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/notify/hintpost.cxx b/sfx2/source/notify/hintpost.cxx
index 54949d07efda..44b26b52ae7a 100644
--- a/sfx2/source/notify/hintpost.cxx
+++ b/sfx2/source/notify/hintpost.cxx
@@ -17,7 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <sfx2/hintpost.hxx>
+#include <hintpost.hxx>
#include <sfx2/request.hxx>
#include <vcl/svapp.hxx>
diff --git a/sfx2/source/view/printer.cxx b/sfx2/source/view/printer.cxx
index 4721ff052118..7b774534951a 100644
--- a/sfx2/source/view/printer.cxx
+++ b/sfx2/source/view/printer.cxx
@@ -22,9 +22,9 @@
#include <utility>
#include <sfx2/printer.hxx>
-#include <sfx2/prnmon.hxx>
#include <sfx2/viewsh.hxx>
#include <sfx2/tabdlg.hxx>
+#include "prnmon.hxx"
// class SfxPrinter ------------------------------------------------------
diff --git a/sfx2/source/view/prnmon.hxx b/sfx2/source/view/prnmon.hxx
new file mode 100644
index 000000000000..665d3ac07630
--- /dev/null
+++ b/sfx2/source/view/prnmon.hxx
@@ -0,0 +1,55 @@
+/* -*- 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_PRNMON_HXX
+#define INCLUDED_SFX2_PRNMON_HXX
+
+#include <memory>
+#include <sal/config.h>
+#include <vcl/vclptr.hxx>
+#include <vcl/weld.hxx>
+
+
+class SfxViewShell;
+class SfxTabPage;
+class SfxItemSet;
+
+
+class SfxPrintOptionsDialog final : public weld::GenericDialogController
+{
+private:
+ std::unique_ptr<SfxItemSet> pOptions;
+ std::unique_ptr<weld::Widget> m_xHelpBtn;
+ std::unique_ptr<weld::Container> m_xContainer;
+ std::unique_ptr<SfxTabPage> m_xPage;
+
+public:
+ SfxPrintOptionsDialog(weld::Window *pParent,
+ SfxViewShell *pViewShell,
+ const SfxItemSet *rOptions);
+ virtual ~SfxPrintOptionsDialog() override;
+
+ virtual short run() override;
+
+ const SfxItemSet& GetOptions() const { return *pOptions; }
+ void DisableHelp();
+};
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/view/viewprn.cxx b/sfx2/source/view/viewprn.cxx
index 339766ef53ab..ffb0b568ec7b 100644
--- a/sfx2/source/view/viewprn.cxx
+++ b/sfx2/source/view/viewprn.cxx
@@ -41,7 +41,6 @@
#include "viewimp.hxx"
#include <sfx2/viewfrm.hxx>
#include <sfx2/printer.hxx>
-#include <sfx2/prnmon.hxx>
#include <sfx2/sfxresid.hxx>
#include <sfx2/request.hxx>
#include <sfx2/objsh.hxx>
@@ -55,6 +54,8 @@
#include <toolkit/awt/vclxdevice.hxx>
+#include "prnmon.hxx"
+
using namespace com::sun::star;
using namespace com::sun::star::uno;