summaryrefslogtreecommitdiff
path: root/sd/source/ui
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-10-08 14:31:24 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-10-09 13:15:08 +0200
commitdc78b82db539401cc7e63d96f4727e1e884b86cb (patch)
tree6421310e52bf4daa2719c6f16d107cfd3823f6d9 /sd/source/ui
parent9bb0219e8284a99dd1caf6aa50cd9a5b85e8f7a3 (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/ui')
-rw-r--r--sd/source/ui/dlg/sddlgfact.cxx217
-rw-r--r--sd/source/ui/dlg/sddlgfact.hxx79
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