Resolves: tdf#99464 set what parent the dialogs are dialogs for

With nullptr a parent is searched for and assigned (unless NoParent is
set which means no parent)

since...

commit dd46727b99
Author: Caolán McNamara <caolanm@redhat.com>
Date:   Tue Apr 5 15:27:38 2016 +0100

    Resolves; tdf#87120 no keyboard navigation inside floating windows

    lets try and treat these the same as we do normal toplevels
    like dialogs if they popup with GrabFocus.

    This way focus can be set on widgets inside the floating windows, and
    so keyboard traversal of widgets etc all works.

I believe an active menu is allowed as a parent (which I'll investigate and see
if we can fix or revert that if necessary), but its good practice to explicitly
set the right parent rather than depending on what happens to be on top anyway.

Change-Id: I744f6d9bc133058a4a9db94d6c27d2e36e22179e
This commit is contained in:
Caolán McNamara
2016-05-11 20:54:17 +01:00
parent 58a64174a8
commit a7a96078ff
19 changed files with 94 additions and 87 deletions

View File

@@ -167,25 +167,25 @@ public:
static SdAbstractDialogFactory* Create();
virtual VclAbstractDialog* CreateBreakDlg(vcl::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) = 0;
virtual AbstractCopyDlg* CreateCopyDlg( const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView ) = 0;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( SdDrawDocument& rDrawDoc ) = 0;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell ) = 0;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true ) = 0;
virtual AbstractAssistentDlg* CreateAssistentDlg( bool bAutoPilot) = 0;
virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) = 0;
virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr ) = 0;
virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) = 0;
virtual AbstractMorphDlg* CreateMorphDlg( vcl::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( const SfxItemSet* pAttr, ::sd::View* pView = nullptr ) = 0;
virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( const SfxItemSet* pAttr ) = 0;
virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pWindow, const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView ) = 0;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg(vcl::Window* pWindow, SdDrawDocument& rDrawDoc) = 0;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) = 0;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true) = 0;
virtual AbstractAssistentDlg* CreateAssistentDlg(bool bAutoPilot) = 0;
virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg(vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet) = 0;
virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) = 0;
virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr) = 0;
virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName) = 0;
virtual AbstractMorphDlg* CreateMorphDlg(vcl::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) = 0;
virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = nullptr) = 0;
virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg(vcl::Window* pWindow, const SfxItemSet* pAttr) = 0;
virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( vcl::Window* pWindow, const SfxItemSet& rInAttrs,
const std::vector<OUString> &rPageNames, SdCustomShowList* pCSList ) = 0;
virtual VclAbstractDialog* CreateRemoteDialog( vcl::Window* pWindow ) = 0;
virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, vcl::Window* pParent, const SdResId& DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ) = 0;
virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, vcl::Window* pWindow, const SfxItemSet& rInAttrs) = 0;
virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) = 0;
virtual SfxAbstractDialog* CreatSdActionDialog( const SfxItemSet* pAttr, ::sd::View* pView ) = 0;
virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg(vcl::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView) = 0;
virtual SfxAbstractDialog* CreatSdActionDialog(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) = 0;
virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( vcl::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ) = 0;
virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( vcl::Window* pWindow, DocumentType eDocType) = 0;

View File

@@ -352,61 +352,61 @@ void AbstractSdPublishingDlg_Impl::GetParameterSequence( css::uno::Sequence< css
//-------------- SdAbstractDialogFactory implementation--------------
VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateBreakDlg(
vcl::Window* pWindow,
vcl::Window* pParent,
::sd::DrawView* pDrView,
::sd::DrawDocShell* pShell,
sal_uLong nSumActionCount,
sal_uLong nObjCount )
{
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::BreakDlg>::Create( pWindow, pDrView, pShell, nSumActionCount, nObjCount ) );
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::BreakDlg>::Create( pParent, pDrView, pShell, nSumActionCount, nObjCount ) );
}
AbstractCopyDlg * SdAbstractDialogFactory_Impl::CreateCopyDlg(
AbstractCopyDlg * SdAbstractDialogFactory_Impl::CreateCopyDlg(vcl::Window* pParent,
const SfxItemSet& rInAttrs,
const rtl::Reference<XColorList> &pColTab,
::sd::View* pView )
{
return new AbstractCopyDlg_Impl( VclPtr< ::sd::CopyDlg>::Create( nullptr, rInAttrs, pColTab, pView ) );
return new AbstractCopyDlg_Impl( VclPtr< ::sd::CopyDlg>::Create( pParent, rInAttrs, pColTab, pView ) );
}
AbstractSdCustomShowDlg * SdAbstractDialogFactory_Impl::CreateSdCustomShowDlg( SdDrawDocument& rDrawDoc )
AbstractSdCustomShowDlg * SdAbstractDialogFactory_Impl::CreateSdCustomShowDlg(vcl::Window* pParent, SdDrawDocument& rDrawDoc )
{
return new AbstractSdCustomShowDlg_Impl( VclPtr<SdCustomShowDlg>::Create( nullptr, rDrawDoc ) );
return new AbstractSdCustomShowDlg_Impl( VclPtr<SdCustomShowDlg>::Create(pParent, rDrawDoc) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabCharDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell )
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabCharDialog(vcl::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell )
{
return new SdAbstractTabDialog_Impl( VclPtr<SdCharDlg>::Create( nullptr, pAttr, pDocShell ) );
return new SdAbstractTabDialog_Impl( VclPtr<SdCharDlg>::Create(pParent, pAttr, pDocShell) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabPageDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage )
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabPageDialog(vcl::Window* pParent, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage )
{
return new SdAbstractTabDialog_Impl( VclPtr<SdPageDlg>::Create( pDocShell, nullptr, pAttr, bAreaPage ) );
return new SdAbstractTabDialog_Impl( VclPtr<SdPageDlg>::Create( pDocShell, pParent, pAttr, bAreaPage ) );
}
AbstractAssistentDlg * SdAbstractDialogFactory_Impl::CreateAssistentDlg( bool bAutoPilot)
AbstractAssistentDlg * SdAbstractDialogFactory_Impl::CreateAssistentDlg(bool bAutoPilot)
{
return new AbstractAssistentDlg_Impl( VclPtr<AssistentDlg>::Create( nullptr, bAutoPilot ) );
}
AbstractSdModifyFieldDlg * SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet )
AbstractSdModifyFieldDlg * SdAbstractDialogFactory_Impl::CreateSdModifyFieldDlg( vcl::Window* pParent, const SvxFieldData* pInField, const SfxItemSet& rSet )
{
return new AbstractSdModifyFieldDlg_Impl( VclPtr<SdModifyFieldDlg>::Create( pWindow, pInField, rSet ) );
return new AbstractSdModifyFieldDlg_Impl( VclPtr<SdModifyFieldDlg>::Create( pParent, pInField, rSet ) );
}
AbstractSdSnapLineDlg * SdAbstractDialogFactory_Impl::CreateSdSnapLineDlg( const SfxItemSet& rInAttrs, ::sd::View* pView)
AbstractSdSnapLineDlg * SdAbstractDialogFactory_Impl::CreateSdSnapLineDlg( vcl::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView)
{
return new AbstractSdSnapLineDlg_Impl( VclPtr<SdSnapLineDlg>::Create( nullptr, rInAttrs, pView ) );
return new AbstractSdSnapLineDlg_Impl( VclPtr<SdSnapLineDlg>::Create( pParent, rInAttrs, pView ) );
}
AbstractSdInsertLayerDlg * SdAbstractDialogFactory_Impl::CreateSdInsertLayerDlg( const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr )
AbstractSdInsertLayerDlg * SdAbstractDialogFactory_Impl::CreateSdInsertLayerDlg( vcl::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr )
{
return new AbstractSdInsertLayerDlg_Impl( VclPtr<SdInsertLayerDlg>::Create( nullptr, rInAttrs, bDeletable, aStr ) );
return new AbstractSdInsertLayerDlg_Impl( VclPtr<SdInsertLayerDlg>::Create( pParent, rInAttrs, bDeletable, aStr ) );
}
AbstractSdInsertPagesObjsDlg * SdAbstractDialogFactory_Impl::CreateSdInsertPagesObjsDlg( const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName )
AbstractSdInsertPagesObjsDlg * SdAbstractDialogFactory_Impl::CreateSdInsertPagesObjsDlg( vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName )
{
return new AbstractSdInsertPagesObjsDlg_Impl( VclPtr<SdInsertPagesObjsDlg>::Create( nullptr, pDoc, pSfxMedium, rFileName ) );
return new AbstractSdInsertPagesObjsDlg_Impl( VclPtr<SdInsertPagesObjsDlg>::Create( pParent, pDoc, pSfxMedium, rFileName ) );
}
AbstractMorphDlg * SdAbstractDialogFactory_Impl::CreateMorphDlg( vcl::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2)
@@ -414,25 +414,25 @@ AbstractMorphDlg * SdAbstractDialogFactory_Impl::CreateMorphDlg( vcl::Window* pP
return new AbstractMorphDlg_Impl( VclPtr< ::sd::MorphDlg>::Create( pParent, pObj1, pObj2 ) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdOutlineBulletTabDlg( const SfxItemSet* pAttr, ::sd::View* pView )
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdOutlineBulletTabDlg(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView )
{
return new AbstractBulletDialog_Impl( VclPtr< ::sd::OutlineBulletDlg>::Create( nullptr, pAttr, pView ) );
return new AbstractBulletDialog_Impl( VclPtr< ::sd::OutlineBulletDlg>::Create( pParent, pAttr, pView ) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdParagraphTabDlg( const SfxItemSet* pAttr )
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdParagraphTabDlg(vcl::Window* pParent, const SfxItemSet* pAttr )
{
return new SdAbstractTabDialog_Impl( VclPtr<SdParagraphDlg>::Create( nullptr, pAttr ) );
return new SdAbstractTabDialog_Impl( VclPtr<SdParagraphDlg>::Create( pParent, pAttr ) );
}
AbstractSdStartPresDlg * SdAbstractDialogFactory_Impl::CreateSdStartPresentationDlg( vcl::Window* pWindow, const SfxItemSet& rInAttrs,
AbstractSdStartPresDlg * SdAbstractDialogFactory_Impl::CreateSdStartPresentationDlg( vcl::Window* pParent, const SfxItemSet& rInAttrs,
const std::vector<OUString> &rPageNames, SdCustomShowList* pCSList )
{
return new AbstractSdStartPresDlg_Impl( VclPtr<SdStartPresentationDlg>::Create( pWindow, rInAttrs, rPageNames, pCSList ) );
return new AbstractSdStartPresDlg_Impl( VclPtr<SdStartPresentationDlg>::Create( pParent, rInAttrs, rPageNames, pCSList ) );
}
VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateRemoteDialog( vcl::Window* pWindow )
VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateRemoteDialog( vcl::Window* pParent )
{
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::RemoteDialog>::Create( pWindow ) );
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::RemoteDialog>::Create( pParent ) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, vcl::Window* pParent, const SdResId& DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool )
@@ -440,19 +440,19 @@ SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdPresLayoutTemplate
return new SdPresLayoutTemplateDlg_Impl( VclPtr<SdPresLayoutTemplateDlg>::Create( pDocSh, pParent, DlgId, rStyleBase, ePO, pSSPool ) );
}
AbstractSdPresLayoutDlg * SdAbstractDialogFactory_Impl::CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, vcl::Window* pWindow, const SfxItemSet& rInAttrs)
AbstractSdPresLayoutDlg * SdAbstractDialogFactory_Impl::CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, vcl::Window* pParent, const SfxItemSet& rInAttrs)
{
return new AbstractSdPresLayoutDlg_Impl( VclPtr<SdPresLayoutDlg>::Create( pDocShell, pWindow, rInAttrs ) );
return new AbstractSdPresLayoutDlg_Impl( VclPtr<SdPresLayoutDlg>::Create( pDocShell, pParent, rInAttrs ) );
}
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabTemplateDlg( const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView )
SfxAbstractTabDialog * SdAbstractDialogFactory_Impl::CreateSdTabTemplateDlg(vcl::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView )
{
return new SdAbstractTabDialog_Impl( VclPtr<SdTabTemplateDlg>::Create( nullptr, pDocShell, rStyleBase, pModel, pView ) );
return new SdAbstractTabDialog_Impl( VclPtr<SdTabTemplateDlg>::Create( pParent, pDocShell, rStyleBase, pModel, pView ) );
}
SfxAbstractDialog* SdAbstractDialogFactory_Impl::CreatSdActionDialog( const SfxItemSet* pAttr, ::sd::View* pView )
SfxAbstractDialog* SdAbstractDialogFactory_Impl::CreatSdActionDialog(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView )
{
return new SdAbstractSfxDialog_Impl( VclPtr<SdActionDlg>::Create( nullptr, pAttr, pView ) );
return new SdAbstractSfxDialog_Impl( VclPtr<SdActionDlg>::Create( pParent, pAttr, pView ) );
}
AbstractSdVectorizeDlg * SdAbstractDialogFactory_Impl::CreateSdVectorizeDlg( vcl::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell )
@@ -460,9 +460,9 @@ AbstractSdVectorizeDlg * SdAbstractDialogFactory_Impl::CreateSdVectorizeDlg( vc
return new AbstractSdVectorizeDlg_Impl( VclPtr<SdVectorizeDlg>::Create( pParent, rBmp, pDocShell ) );
}
AbstractSdPublishingDlg * SdAbstractDialogFactory_Impl::CreateSdPublishingDlg( vcl::Window* pWindow, DocumentType eDocType)
AbstractSdPublishingDlg * SdAbstractDialogFactory_Impl::CreateSdPublishingDlg( vcl::Window* pParent, DocumentType eDocType)
{
return new AbstractSdPublishingDlg_Impl( VclPtr<SdPublishingDlg>::Create( pWindow, eDocType ) );
return new AbstractSdPublishingDlg_Impl( VclPtr<SdPublishingDlg>::Create( pParent, eDocType ) );
}
// Factories for TabPages
@@ -498,9 +498,9 @@ AbstractHeaderFooterDialog* SdAbstractDialogFactory_Impl::CreateHeaderFooterDial
return new AbstractHeaderFooterDialog_Impl( VclPtr< ::sd::HeaderFooterDialog>::Create( pViewShell, pParent, pDoc, pCurrentPage ));
}
VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateSdPhotoAlbumDialog( vcl::Window* pWindow, SdDrawDocument* pDoc )
VclAbstractDialog * SdAbstractDialogFactory_Impl::CreateSdPhotoAlbumDialog( vcl::Window* pParent, SdDrawDocument* pDoc )
{
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::SdPhotoAlbumDialog>::Create( pWindow, pDoc ) );
return new SdVclAbstractDialog_Impl( VclPtr< ::sd::SdPhotoAlbumDialog>::Create( pParent, pDoc ) );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -227,30 +227,30 @@ class SdAbstractDialogFactory_Impl : public SdAbstractDialogFactory
public:
virtual ~SdAbstractDialogFactory_Impl() {}
virtual VclAbstractDialog* CreateBreakDlg(vcl::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount ) override;
virtual AbstractCopyDlg* CreateCopyDlg( const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView ) override;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg( SdDrawDocument& rDrawDoc ) override;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell ) override;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog( const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true ) override;
virtual AbstractAssistentDlg* CreateAssistentDlg( bool bAutoPilot) override;
virtual VclAbstractDialog* CreateBreakDlg(vcl::Window* pWindow, ::sd::DrawView* pDrView, ::sd::DrawDocShell* pShell, sal_uLong nSumActionCount, sal_uLong nObjCount) override;
virtual AbstractCopyDlg* CreateCopyDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, const rtl::Reference<XColorList> &pColTab, ::sd::View* pView) override;
virtual AbstractSdCustomShowDlg* CreateSdCustomShowDlg(vcl::Window* pParent, SdDrawDocument& rDrawDoc) override;
virtual SfxAbstractTabDialog* CreateSdTabCharDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell) override;
virtual SfxAbstractTabDialog* CreateSdTabPageDialog(vcl::Window* pWindow, const SfxItemSet* pAttr, SfxObjectShell* pDocShell, bool bAreaPage = true) override;
virtual AbstractAssistentDlg* CreateAssistentDlg(bool bAutoPilot) override;
virtual AbstractSdModifyFieldDlg* CreateSdModifyFieldDlg( vcl::Window* pWindow, const SvxFieldData* pInField, const SfxItemSet& rSet ) override;
virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg( const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg( const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr ) override;
virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg( const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
virtual AbstractMorphDlg* CreateMorphDlg( vcl::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) override;
virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg ( const SfxItemSet* pAttr, ::sd::View* pView = nullptr ) override;
virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg ( const SfxItemSet* pAttr ) override;
virtual AbstractSdSnapLineDlg* CreateSdSnapLineDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, ::sd::View* pView) override;
virtual AbstractSdInsertLayerDlg* CreateSdInsertLayerDlg(vcl::Window* pParent, const SfxItemSet& rInAttrs, bool bDeletable, const OUString& aStr) override;
virtual AbstractSdInsertPagesObjsDlg* CreateSdInsertPagesObjsDlg(vcl::Window* pParent, const SdDrawDocument* pDoc, SfxMedium* pSfxMedium, const OUString& rFileName ) override;
virtual AbstractMorphDlg* CreateMorphDlg(vcl::Window* pParent, const SdrObject* pObj1, const SdrObject* pObj2) override;
virtual SfxAbstractTabDialog* CreateSdOutlineBulletTabDlg(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView = nullptr) override;
virtual SfxAbstractTabDialog* CreateSdParagraphTabDlg(vcl::Window* pParent, const SfxItemSet* pAttr) override;
virtual AbstractSdStartPresDlg* CreateSdStartPresentationDlg( vcl::Window* pWindow, const SfxItemSet& rInAttrs,
const std::vector<OUString> &rPageNames, SdCustomShowList* pCSList ) override;
virtual VclAbstractDialog* CreateRemoteDialog( vcl::Window* pWindow ) override; // ad for RemoteDialog
virtual SfxAbstractTabDialog* CreateSdPresLayoutTemplateDlg( SfxObjectShell* pDocSh, vcl::Window* pParent, const SdResId& DlgId, SfxStyleSheetBase& rStyleBase, PresentationObjects ePO, SfxStyleSheetBasePool* pSSPool ) override;
virtual AbstractSdPresLayoutDlg* CreateSdPresLayoutDlg( ::sd::DrawDocShell* pDocShell, vcl::Window* pWindow, const SfxItemSet& rInAttrs) override;
virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg( const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) override;
virtual SfxAbstractDialog* CreatSdActionDialog( const SfxItemSet* pAttr, ::sd::View* pView ) override;
virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg( vcl::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell ) override;
virtual AbstractSdPublishingDlg* CreateSdPublishingDlg( vcl::Window* pWindow, DocumentType eDocType) override;
virtual SfxAbstractTabDialog* CreateSdTabTemplateDlg(vcl::Window* pParent, const SfxObjectShell* pDocShell, SfxStyleSheetBase& rStyleBase, SdrModel* pModel, SdrView* pView ) override;
virtual SfxAbstractDialog* CreatSdActionDialog(vcl::Window* pParent, const SfxItemSet* pAttr, ::sd::View* pView) override;
virtual AbstractSdVectorizeDlg* CreateSdVectorizeDlg(vcl::Window* pParent, const Bitmap& rBmp, ::sd::DrawDocShell* pDocShell) override;
virtual AbstractSdPublishingDlg* CreateSdPublishingDlg(vcl::Window* pWindow, DocumentType eDocType) override;
virtual VclAbstractDialog* CreateSdPhotoAlbumDialog( vcl::Window* pWindow, SdDrawDocument* pDoc) override;
virtual VclAbstractDialog* CreateSdPhotoAlbumDialog(vcl::Window* pWindow, SdDrawDocument* pDoc) override;
virtual VclAbstractDialog* CreateMasterLayoutDialog( vcl::Window* pParent,
SdDrawDocument* pDoc,

View File

@@ -30,6 +30,7 @@
#include <sfx2/bindings.hxx>
#include <sfx2/request.hxx>
#include "View.hxx"
#include "Window.hxx"
#include "drawview.hxx"
#include "drawdoc.hxx"
#include "DrawViewShell.hxx"
@@ -95,7 +96,7 @@ void FuChar::DoExecute( SfxRequest& rReq )
}
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdTabCharDialog( &aNewAttr, mpDoc->GetDocSh() ) : nullptr);
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdTabCharDialog(mpViewShell->GetActiveWindow(), &aNewAttr, mpDoc->GetDocSh() ) : nullptr);
sal_uInt16 nResult = RET_CANCEL;
if( pDlg )
{

View File

@@ -26,6 +26,7 @@
#include "strings.hrc"
#include "ViewShell.hxx"
#include "View.hxx"
#include "Window.hxx"
#include "drawdoc.hxx"
#include "DrawDocShell.hxx"
#include <vcl/wrkwin.hxx>
@@ -101,7 +102,7 @@ void FuCopy::DoExecute( SfxRequest& rReq )
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
if( pFact )
{
std::unique_ptr<AbstractCopyDlg> pDlg(pFact->CreateCopyDlg(aSet, mpDoc->GetColorList(), mpView ));
std::unique_ptr<AbstractCopyDlg> pDlg(pFact->CreateCopyDlg(mpViewShell->GetActiveWindow(), aSet, mpDoc->GetColorList(), mpView ));
if (!pDlg)
return;

View File

@@ -24,6 +24,7 @@
#include "app.hrc"
#include "sdresid.hxx"
#include "ViewShell.hxx"
#include "Window.hxx"
#include "drawdoc.hxx"
#include "sdpage.hxx"
#include <vcl/msgbox.hxx>
@@ -56,7 +57,7 @@ rtl::Reference<FuPoor> FuCustomShowDlg::Create( ViewShell* pViewSh, ::sd::Window
void FuCustomShowDlg::DoExecute( SfxRequest& )
{
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdCustomShowDlg> pDlg(pFact ? pFact->CreateSdCustomShowDlg( *mpDoc ) : nullptr);
std::unique_ptr<AbstractSdCustomShowDlg> pDlg(pFact ? pFact->CreateSdCustomShowDlg(mpViewShell->GetActiveWindow(), *mpDoc) : nullptr);
if( pDlg )
{
sal_uInt16 nRet = pDlg->Execute();

View File

@@ -327,7 +327,7 @@ bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
mpDocSh->SetWaitCursor( false );
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg( mpDoc, pMedium, aFile ) : nullptr);
std::unique_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg(mpViewShell->GetActiveWindow(), mpDoc, pMedium, aFile) : nullptr);
if( !pDlg )
return false;
@@ -419,7 +419,7 @@ bool FuInsertFile::InsSDDinDrMode(SfxMedium* pMedium)
void FuInsertFile::InsTextOrRTFinDrMode(SfxMedium* pMedium)
{
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg( mpDoc, nullptr, aFile ) : nullptr);
std::unique_ptr<AbstractSdInsertPagesObjsDlg> pDlg(pFact ? pFact->CreateSdInsertPagesObjsDlg(mpViewShell->GetActiveWindow(), mpDoc, nullptr, aFile) : nullptr);
if( !pDlg )
return;

View File

@@ -40,6 +40,7 @@
#include "unoaprms.hxx"
#include "sdundogr.hxx"
#include "View.hxx"
#include "Window.hxx"
#include "sdabstdlg.hxx"
#include "sdresid.hxx"
#include <tools/helpers.hxx>
@@ -445,7 +446,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
aSet.Put(SfxBoolItem(ATTR_ACTION_PLAYFULL, false));
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractDialog> pDlg(pFact ? pFact->CreatSdActionDialog( &aSet, mpView ) : nullptr);
std::unique_ptr<SfxAbstractDialog> pDlg(pFact ? pFact->CreatSdActionDialog(mpViewShell->GetActiveWindow(), &aSet, mpView) : nullptr);
short nResult = pDlg ? pDlg->Execute() : static_cast<short>(RET_CANCEL);

View File

@@ -81,7 +81,7 @@ void FuOutlineBullet::DoExecute( SfxRequest& rReq )
// create and execute dialog
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdOutlineBulletTabDlg( &aNewAttr, mpView ) : nullptr);
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdOutlineBulletTabDlg(mpViewShell->GetActiveWindow(), &aNewAttr, mpView) : nullptr);
if( pDlg )
{
if ( pPageItem )

View File

@@ -336,7 +336,7 @@ const SfxItemSet* FuPage::ExecuteDialog( vcl::Window* pParent )
{
// create the dialog
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractTabDialog> pDlg( pFact ? pFact->CreateSdTabPageDialog(&aMergedAttr, mpDocSh, mbDisplayBackgroundTabPage ) : nullptr );
std::unique_ptr<SfxAbstractTabDialog> pDlg( pFact ? pFact->CreateSdTabPageDialog(mpViewShell->GetActiveWindow(), &aMergedAttr, mpDocSh, mbDisplayBackgroundTabPage) : nullptr );
if( pDlg.get() && pDlg->Execute() == RET_OK )
pTempSet.reset( new SfxItemSet(*pDlg->GetOutputItemSet()) );
}

View File

@@ -31,6 +31,7 @@
#include "app.hrc"
#include "View.hxx"
#include "ViewShell.hxx"
#include "Window.hxx"
#include "drawdoc.hxx"
#include "sdabstdlg.hxx"
#include "sdattr.hrc"
@@ -90,7 +91,7 @@ void FuParagraph::DoExecute( SfxRequest& rReq )
}
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdParagraphTabDlg( &aNewAttr ) : nullptr);
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdParagraphTabDlg(mpViewShell->GetActiveWindow(), &aNewAttr) : nullptr);
if (!pDlg)
return;

View File

@@ -139,7 +139,7 @@ void FuPresentationObjects::DoExecute( SfxRequest& )
SfxStyleSheetBase& rStyleSheet = *pStyleSheet;
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdPresLayoutTemplateDlg( mpDocSh, nullptr, SdResId( nDlgId ), rStyleSheet, ePO, pStyleSheetPool ) : nullptr);
std::unique_ptr<SfxAbstractTabDialog> pDlg(pFact ? pFact->CreateSdPresLayoutTemplateDlg( mpDocSh, mpViewShell->GetActiveWindow(), SdResId( nDlgId ), rStyleSheet, ePO, pStyleSheetPool ) : nullptr);
if( pDlg && (pDlg->Execute() == RET_OK) )
{
const SfxItemSet* pOutSet = pDlg->GetOutputItemSet();

View File

@@ -110,7 +110,7 @@ void FuSnapLine::DoExecute( SfxRequest& rReq )
aNewAttr.Put(SfxInt32Item(ATTR_SNAPLINE_Y, aLinePos.Y()));
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdSnapLineDlg> pDlg(pFact ? pFact->CreateSdSnapLineDlg( aNewAttr, mpView ) : nullptr);
std::unique_ptr<AbstractSdSnapLineDlg> pDlg(pFact ? pFact->CreateSdSnapLineDlg(mpViewShell->GetActiveWindow(), aNewAttr, mpView) : nullptr);
OSL_ASSERT(pDlg);
if (!pDlg)
return;

View File

@@ -305,7 +305,7 @@ void FuTemplate::DoExecute( SfxRequest& rReq )
if (eFamily == SD_STYLE_FAMILY_GRAPHICS)
{
pStdDlg.reset(pFact ? pFact->CreateSdTabTemplateDlg( mpDoc->GetDocSh(), *pStyleSheet, mpDoc, mpView ) : nullptr);
pStdDlg.reset(pFact ? pFact->CreateSdTabTemplateDlg(mpViewShell->GetActiveWindow(), mpDoc->GetDocSh(), *pStyleSheet, mpDoc, mpView) : nullptr);
}
else if (eFamily == SD_STYLE_FAMILY_PSEUDO)
{
@@ -369,7 +369,7 @@ void FuTemplate::DoExecute( SfxRequest& rReq )
if( !bOldDocInOtherLanguage )
{
pPresDlg.reset(pFact ? pFact->CreateSdPresLayoutTemplateDlg( mpDocSh, nullptr, SdResId(nDlgId), *pStyleSheet, ePO, pSSPool ) : nullptr);
pPresDlg.reset(pFact ? pFact->CreateSdPresLayoutTemplateDlg( mpDocSh, mpViewShell->GetActiveWindow(), SdResId(nDlgId), *pStyleSheet, ePO, pSSPool ) : nullptr);
}
}
else if (eFamily == SD_STYLE_FAMILY_CELL)

View File

@@ -1416,7 +1416,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
aNewAttr.Put( SdAttrLayerThisPage() );
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdInsertLayerDlg> pDlg(pFact ? pFact->CreateSdInsertLayerDlg(aNewAttr, true, SD_RESSTR(STR_INSERTLAYER)) : nullptr);
std::unique_ptr<AbstractSdInsertLayerDlg> pDlg(pFact ? pFact->CreateSdInsertLayerDlg(GetActiveWindow(), aNewAttr, true, SD_RESSTR(STR_INSERTLAYER)) : nullptr);
if( pDlg )
{
pDlg->SetHelpId( SD_MOD()->GetSlotPool()->GetSlot( SID_INSERTLAYER )->GetCommand() );
@@ -1584,7 +1584,7 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
aNewAttr.Put( SdAttrLayerThisPage() );
SdAbstractDialogFactory* pFact = SdAbstractDialogFactory::Create();
std::unique_ptr<AbstractSdInsertLayerDlg> pDlg(pFact ? pFact->CreateSdInsertLayerDlg(aNewAttr, bDelete, SD_RESSTR(STR_MODIFYLAYER)) : nullptr);
std::unique_ptr<AbstractSdInsertLayerDlg> pDlg(pFact ? pFact->CreateSdInsertLayerDlg(GetActiveWindow(), aNewAttr, bDelete, SD_RESSTR(STR_MODIFYLAYER)) : nullptr);
if( pDlg )
{
pDlg->SetHelpId( SD_MOD()->GetSlotPool()->GetSlot( SID_MODIFYLAYER )->GetCommand() );

View File

@@ -396,7 +396,7 @@ public:
/// @param nSlot
/// Identifies optional Slot by which the creation of the Template (Style) dialog is triggered.
/// Currently used, if nRegion == SfxStyleFamily::Page in order to activate certain dialog pane
virtual SfxAbstractApplyTabDialog* CreateTemplateDialog(
virtual SfxAbstractApplyTabDialog* CreateTemplateDialog(vcl::Window* pParent,
SfxStyleSheetBase& rBase,
SfxStyleFamily nRegion,
const OString& sPage = OString(),

View File

@@ -935,14 +935,15 @@ SfxAbstractTabDialog* SwAbstractDialogFactory_Impl::CreateFrameTabDialog(const O
}
SfxAbstractApplyTabDialog* SwAbstractDialogFactory_Impl::CreateTemplateDialog(
vcl::Window *pParent,
SfxStyleSheetBase& rBase,
SfxStyleFamily nRegion,
const OString& sPage,
SwWrtShell* pActShell,
bool bNew )
{
VclPtr<SfxTabDialog> pDlg = VclPtr<SwTemplateDlg>::Create( nullptr, rBase, nRegion, sPage, pActShell, bNew );
return new AbstractApplyTabDialog_Impl( pDlg );
VclPtr<SfxTabDialog> pDlg = VclPtr<SwTemplateDlg>::Create(pParent, rBase, nRegion, sPage, pActShell, bNew);
return new AbstractApplyTabDialog_Impl(pDlg);
}
AbstractGlossaryDlg* SwAbstractDialogFactory_Impl::CreateGlossaryDlg(SfxViewFrame* pViewFrame,

View File

@@ -434,6 +434,7 @@ public:
const OString& sDefPage = OString(),
const OUString* pFormatStr = nullptr) override;
virtual SfxAbstractApplyTabDialog* CreateTemplateDialog(
vcl::Window *pParent,
SfxStyleSheetBase& rBase,
SfxStyleFamily nRegion,
const OString& sPage = OString(),

View File

@@ -793,7 +793,7 @@ sal_uInt16 SwDocShell::Edit(
SW_MOD()->PutItem(SfxUInt16Item(SID_ATTR_METRIC, static_cast< sal_uInt16 >(eMetric)));
SwAbstractDialogFactory* pFact = SwAbstractDialogFactory::Create();
assert( pFact );
std::unique_ptr<SfxAbstractApplyTabDialog> pDlg(pFact->CreateTemplateDialog(
std::unique_ptr<SfxAbstractApplyTabDialog> pDlg(pFact->CreateTemplateDialog(&GetView()->GetViewFrame()->GetWindow(),
*(xTmp.get()), nFamily, sPage,
pActShell ? pActShell : m_pWrtShell, bNew));
assert( pDlg );