diff options
Diffstat (limited to 'sd/source/ui/view/drviews6.cxx')
-rw-r--r-- | sd/source/ui/view/drviews6.cxx | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sd/source/ui/view/drviews6.cxx b/sd/source/ui/view/drviews6.cxx index 7fa40d53e97e..d34b08ffb694 100644 --- a/sd/source/ui/view/drviews6.cxx +++ b/sd/source/ui/view/drviews6.cxx @@ -87,6 +87,15 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet) { const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrObject* pObj = nullptr; + SvxFontWorkDialog* pDlg = nullptr; + + sal_uInt16 nId = SvxFontWorkChildWindow::GetChildWindowId(); + + if (GetViewFrame()->HasChildWindow(nId)) + { + SfxChildWindow* pWnd = GetViewFrame()->GetChildWindow(nId); + pDlg = pWnd ? static_cast<SvxFontWorkDialog*>(pWnd->GetWindow()) : nullptr; + } if ( rMarkList.GetMarkCount() == 1 ) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); @@ -116,6 +125,9 @@ void DrawViewShell::GetFormTextState(SfxItemSet& rSet) } else { + if ( pDlg ) + pDlg->SetColorList(GetDoc()->GetColorList()); + SfxItemSet aSet( GetDoc()->GetPool() ); mpDrawView->GetAttributes( aSet ); rSet.Set( aSet ); @@ -329,8 +341,17 @@ void DrawViewShell::GetBmpMaskState( SfxItemSet& rSet ) { const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList(); const SdrObject* pObj = nullptr; + sal_uInt16 nId = SvxBmpMaskChildWindow::GetChildWindowId(); bool bEnable = false; + if ( GetViewFrame()->HasChildWindow( nId ) ) + { + SfxChildWindow* pWnd = GetViewFrame()->GetChildWindow(nId); + SvxBmpMask* pDlg = pWnd ? static_cast<SvxBmpMask*>(pWnd->GetWindow()) : nullptr; + if (pDlg && pDlg->NeedsColorList()) + pDlg->SetColorList(GetDoc()->GetColorList()); + } + if ( rMarkList.GetMarkCount() == 1 ) pObj = rMarkList.GetMark(0)->GetMarkedSdrObj(); |