diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-10-08 14:31:24 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-10-09 13:15:08 +0200 |
commit | dc78b82db539401cc7e63d96f4727e1e884b86cb (patch) | |
tree | 6421310e52bf4daa2719c6f16d107cfd3823f6d9 /sd/source | |
parent | 9bb0219e8284a99dd1caf6aa50cd9a5b85e8f7a3 (diff) |
Related: tdf#123765 fix up some screenshotting
and add in two special cases for the mentioned cui dialogs
Change-Id: Ibd2bf8e9e5bff131f2c009c784652f4500842326
Reviewed-on: https://gerrit.libreoffice.org/80488
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sd/source')
-rw-r--r-- | sd/source/ui/dlg/sddlgfact.cxx | 217 | ||||
-rw-r--r-- | sd/source/ui/dlg/sddlgfact.hxx | 79 |
2 files changed, 290 insertions, 6 deletions
diff --git a/sd/source/ui/dlg/sddlgfact.cxx b/sd/source/ui/dlg/sddlgfact.cxx index 55ad1c25556d..1a1182a0e026 100644 --- a/sd/source/ui/dlg/sddlgfact.cxx +++ b/sd/source/ui/dlg/sddlgfact.cxx @@ -43,6 +43,7 @@ #include <masterlayoutdlg.hxx> #include <headerfooterdlg.hxx> #include "PhotoAlbumDialog.hxx" +#include <vcl/virdev.hxx> short AbstractSvxBulletAndPositionDlg_Impl::Execute() { @@ -54,6 +55,18 @@ short SdAbstractGenericDialog_Impl::Execute() return m_xDlg->run(); } +BitmapEx SdAbstractGenericDialog_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString SdAbstractGenericDialog_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + const SfxItemSet* AbstractSvxBulletAndPositionDlg_Impl::GetOutputItemSet( SfxItemSet* pSet ) const { return m_xDlg->GetOutputItemSet( pSet ); @@ -149,6 +162,18 @@ bool AbstractHeaderFooterDialog_Impl::StartExecuteAsync(AsyncContext &rCtx) return weld::DialogController::runAsync(m_xDlg, rCtx.maEndDialogFn); } +BitmapEx AbstractHeaderFooterDialog_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractHeaderFooterDialog_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + short AbstractBulletDialog_Impl::Execute() { return m_xDlg->run(); @@ -169,6 +194,18 @@ short AbstractBreakDlg_Impl::Execute() return m_xDlg->run(); } +BitmapEx AbstractBreakDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractBreakDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + AbstractMasterLayoutDialog_Impl::AbstractMasterLayoutDialog_Impl(std::unique_ptr<::sd::MasterLayoutDialog> pDlg) : m_xDlg(std::move(pDlg)) { @@ -179,11 +216,35 @@ short AbstractMasterLayoutDialog_Impl::Execute() return m_xDlg->run(); } +BitmapEx AbstractMasterLayoutDialog_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractMasterLayoutDialog_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractCopyDlg_Impl::GetAttr( SfxItemSet& rOutAttrs ) { m_xDlg->GetAttr( rOutAttrs ); } +BitmapEx AbstractCopyDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractCopyDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + bool AbstractSdCustomShowDlg_Impl::IsModified() const { return m_xDlg->IsModified(); @@ -194,6 +255,18 @@ bool AbstractSdCustomShowDlg_Impl::IsCustomShow() const return m_xDlg->IsCustomShow(); } +BitmapEx AbstractSdCustomShowDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdCustomShowDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + short SdAbstractTabController_Impl::Execute() { return m_xDlg->run(); @@ -230,6 +303,18 @@ void SdAbstractTabController_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } +BitmapEx SdAbstractTabController_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString SdAbstractTabController_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractBulletDialog_Impl::SetCurPageId( const OString& rName ) { m_xDlg->SetCurPageId( rName ); @@ -255,6 +340,18 @@ void AbstractBulletDialog_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } +BitmapEx AbstractBulletDialog_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractBulletDialog_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void SdPresLayoutTemplateDlg_Impl::SetCurPageId( const OString& rName ) { m_xDlg->SetCurPageId( rName ); @@ -280,6 +377,18 @@ void SdPresLayoutTemplateDlg_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } +BitmapEx SdPresLayoutTemplateDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString SdPresLayoutTemplateDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + SvxFieldData* AbstractSdModifyFieldDlg_Impl::GetField() { return m_xDlg->GetField(); @@ -290,6 +399,18 @@ SfxItemSet AbstractSdModifyFieldDlg_Impl::GetItemSet() return m_xDlg->GetItemSet(); } +BitmapEx AbstractSdModifyFieldDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdModifyFieldDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractSdSnapLineDlg_Impl::GetAttr(SfxItemSet& rOutAttrs) { m_xDlg->GetAttr(rOutAttrs); @@ -315,6 +436,18 @@ void AbstractSdSnapLineDlg_Impl::SetText( const OUString& rStr ) m_xDlg->set_title(rStr); } +BitmapEx AbstractSdSnapLineDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdSnapLineDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractSdInsertLayerDlg_Impl::GetAttr( SfxItemSet& rOutAttrs ) { m_xDlg->GetAttr(rOutAttrs); @@ -325,6 +458,18 @@ void AbstractSdInsertLayerDlg_Impl::SetHelpId( const OString& rHelpId ) m_xDlg->set_help_id(rHelpId); } +BitmapEx AbstractSdInsertLayerDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdInsertLayerDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + std::vector<OUString> AbstractSdInsertPagesObjsDlg_Impl::GetList(const sal_uInt16 nType) { return m_xDlg->GetList(nType); @@ -340,6 +485,18 @@ bool AbstractSdInsertPagesObjsDlg_Impl::IsRemoveUnnessesaryMasterPages() const return m_xDlg->IsRemoveUnnessesaryMasterPages(); } +BitmapEx AbstractSdInsertPagesObjsDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdInsertPagesObjsDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractMorphDlg_Impl::SaveSettings() const { m_xDlg->SaveSettings(); @@ -360,16 +517,52 @@ bool AbstractMorphDlg_Impl::IsOrientationFade() const return m_xDlg->IsOrientationFade(); } +BitmapEx AbstractMorphDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractMorphDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractSdStartPresDlg_Impl::GetAttr( SfxItemSet& rOutAttrs ) { m_xDlg->GetAttr(rOutAttrs); } +BitmapEx AbstractSdStartPresDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdStartPresDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractSdPresLayoutDlg_Impl::GetAttr( SfxItemSet& rOutAttrs ) { m_xDlg->GetAttr(rOutAttrs); } +BitmapEx AbstractSdPresLayoutDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdPresLayoutDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + const SfxItemSet* SdAbstractSfxDialog_Impl::GetOutputItemSet() const { return m_xDlg->GetOutputItemSet(); @@ -385,11 +578,35 @@ const GDIMetaFile& AbstractSdVectorizeDlg_Impl::GetGDIMetaFile() const return m_xDlg->GetGDIMetaFile(); } +BitmapEx AbstractSdVectorizeDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdVectorizeDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + void AbstractSdPublishingDlg_Impl::GetParameterSequence( css::uno::Sequence< css::beans::PropertyValue >& rParams ) { m_xDlg->GetParameterSequence( rParams ); } +BitmapEx AbstractSdPublishingDlg_Impl::createScreenshot() const +{ + VclPtr<VirtualDevice> xDialogSurface(VclPtr<VirtualDevice>::Create(DeviceFormat::DEFAULT)); + m_xDlg->getDialog()->draw(*xDialogSurface); + return xDialogSurface->GetBitmapEx(Point(), xDialogSurface->GetOutputSizePixel()); +} + +OString AbstractSdPublishingDlg_Impl::GetScreenshotId() const +{ + return m_xDlg->get_help_id(); +} + //-------------- SdAbstractDialogFactory implementation-------------- VclPtr<AbstractSvxBulletAndPositionDlg> SdAbstractDialogFactory_Impl::CreateSvxBulletAndPositionDlg(weld::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) diff --git a/sd/source/ui/dlg/sddlgfact.hxx b/sd/source/ui/dlg/sddlgfact.hxx index 7b05f8dc7290..2c58cf05b53b 100644 --- a/sd/source/ui/dlg/sddlgfact.hxx +++ b/sd/source/ui/dlg/sddlgfact.hxx @@ -75,6 +75,10 @@ public: { } virtual short Execute() override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractMasterLayoutDialog_Impl : public VclAbstractDialog @@ -84,6 +88,10 @@ private: public: AbstractMasterLayoutDialog_Impl(std::unique_ptr<::sd::MasterLayoutDialog> pDlg); virtual short Execute() override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractBreakDlg_Impl : public VclAbstractDialog @@ -93,6 +101,10 @@ private: public: AbstractBreakDlg_Impl(std::unique_ptr<::sd::BreakDlg> pDlg); virtual short Execute() override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractCopyDlg_Impl : public AbstractCopyDlg @@ -106,6 +118,10 @@ public: } virtual short Execute() override; virtual void GetAttr( SfxItemSet& rOutAttrs ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdCustomShowDlg_Impl : public AbstractSdCustomShowDlg @@ -120,6 +136,10 @@ public: virtual short Execute() override; virtual bool IsModified() const override ; virtual bool IsCustomShow() const override ; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class SdAbstractTabController_Impl : public SfxAbstractTabDialog @@ -136,8 +156,11 @@ public: virtual const SfxItemSet* GetOutputItemSet() const override; virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; virtual void SetInputSet( const SfxItemSet* pInSet ) override; - //From class Window. virtual void SetText( const OUString& rStr ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractBulletDialog_Impl : public SfxAbstractTabDialog @@ -154,8 +177,11 @@ public: virtual const SfxItemSet* GetOutputItemSet() const override; virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; virtual void SetInputSet( const SfxItemSet* pInSet ) override; - //From class Window. virtual void SetText( const OUString& rStr ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class SdPresLayoutTemplateDlg_Impl : public SfxAbstractTabDialog @@ -172,8 +198,11 @@ public: virtual const SfxItemSet* GetOutputItemSet() const override; virtual const sal_uInt16* GetInputRanges( const SfxItemPool& pItem ) override; virtual void SetInputSet( const SfxItemSet* pInSet ) override; - //From class Window. virtual void SetText( const OUString& rStr ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdModifyFieldDlg_Impl : public AbstractSdModifyFieldDlg @@ -188,6 +217,10 @@ public: virtual short Execute() override; virtual SvxFieldData* GetField() override; virtual SfxItemSet GetItemSet() override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdSnapLineDlg_Impl : public AbstractSdSnapLineDlg @@ -204,8 +237,11 @@ public: virtual void HideRadioGroup() override; virtual void HideDeleteBtn() override; virtual void SetInputFields(bool bEnableX, bool bEnableY) override; - //from class Window - virtual void SetText( const OUString& rStr ) override; + virtual void SetText( const OUString& rStr ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdInsertLayerDlg_Impl : public AbstractSdInsertLayerDlg @@ -219,8 +255,11 @@ public: } virtual short Execute() override; virtual void GetAttr( SfxItemSet& rOutAttrs ) override ; - //from class Window virtual void SetHelpId( const OString& rHelpId ) override ; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdInsertPagesObjsDlg_Impl : public AbstractSdInsertPagesObjsDlg @@ -236,6 +275,10 @@ public: virtual std::vector<OUString> GetList ( const sal_uInt16 nType ) override; virtual bool IsLink() override; virtual bool IsRemoveUnnessesaryMasterPages() const override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractMorphDlg_Impl : public AbstractMorphDlg @@ -252,6 +295,10 @@ public: virtual sal_uInt16 GetFadeSteps() const override; virtual bool IsAttributeFade() const override ; virtual bool IsOrientationFade() const override ; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdStartPresDlg_Impl : public AbstractSdStartPresDlg @@ -265,6 +312,10 @@ public: } virtual short Execute() override; virtual void GetAttr( SfxItemSet& rOutAttrs ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdPresLayoutDlg_Impl : public AbstractSdPresLayoutDlg @@ -278,6 +329,10 @@ public: } virtual short Execute() override; virtual void GetAttr(SfxItemSet& rOutAttrs) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class SdAbstractSfxDialog_Impl : public SfxAbstractDialog @@ -305,6 +360,10 @@ public: } virtual short Execute() override; virtual const GDIMetaFile& GetGDIMetaFile() const override ; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractSdPublishingDlg_Impl :public AbstractSdPublishingDlg @@ -318,6 +377,10 @@ public: } virtual short Execute() override; virtual void GetParameterSequence( css::uno::Sequence< css::beans::PropertyValue >& rParams ) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; class AbstractHeaderFooterDialog_Impl :public AbstractHeaderFooterDialog @@ -331,6 +394,10 @@ public: } virtual short Execute() override; virtual bool StartExecuteAsync(AsyncContext &rCtx) override; + + // screenshotting + virtual BitmapEx createScreenshot() const override; + virtual OString GetScreenshotId() const override; }; //AbstractDialogFactory_Impl implementations |