diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-31 09:15:14 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2015-07-31 09:19:03 +0200 |
commit | 6c3ca675509101732d3d878d6ceb6226026cd9ac (patch) | |
tree | 1ee6143dc46dbb4acc9c4e2b64fcfffa638ef49e /sw/source | |
parent | b697b1b68e7f335f9ab25d081764c75e515ae733 (diff) |
tdf#88986 sw: add missing XPropertyList pool items on TextFrame insertion
Regression from commit 6e61ecd09679a66060f932835622821d39e92f01 (Merge
back branch alg_writerframes to trunk, 2014-03-19), the problem was
while SwFrameShell::Execute() was modified to put the various pool items
related to fill types (colors, gradients, etc) to the item set of the
dialog, the same was missing in SwTextShell::ExecInsert(), so colors
were missing on inserting a new frame, but not when editing an existing
one.
Change-Id: Id009f914c1c3b6509e31a4887e32a00624678cf4
Diffstat (limited to 'sw/source')
-rw-r--r-- | sw/source/core/draw/drawdoc.cxx | 8 | ||||
-rw-r--r-- | sw/source/uibase/shells/frmsh.cxx | 6 | ||||
-rw-r--r-- | sw/source/uibase/shells/textsh.cxx | 7 |
3 files changed, 16 insertions, 5 deletions
diff --git a/sw/source/core/draw/drawdoc.cxx b/sw/source/core/draw/drawdoc.cxx index e4fe12ee0c0b..10130c2dfb0b 100644 --- a/sw/source/core/draw/drawdoc.cxx +++ b/sw/source/core/draw/drawdoc.cxx @@ -145,4 +145,12 @@ uno::Reference< uno::XInterface > SwDrawModel::createUnoModel() return xModel; } +void SwDrawModel::PutAreaListItems(SfxItemSet& rSet) const +{ + rSet.Put(SvxColorListItem(GetColorList(), SID_COLOR_TABLE)); + rSet.Put(SvxGradientListItem(GetGradientList(), SID_GRADIENT_LIST)); + rSet.Put(SvxHatchListItem(GetHatchList(), SID_HATCH_LIST)); + rSet.Put(SvxBitmapListItem(GetBitmapList(), SID_BITMAP_LIST)); +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/uibase/shells/frmsh.cxx b/sw/source/uibase/shells/frmsh.cxx index f9ea90dee7d9..9442579a774a 100644 --- a/sw/source/uibase/shells/frmsh.cxx +++ b/sw/source/uibase/shells/frmsh.cxx @@ -415,11 +415,7 @@ void SwFrameShell::Execute(SfxRequest &rReq) //UUUU create needed items for XPropertyList entries from the DrawModel so that // the Area TabPage can access them const SwDrawModel* pDrawModel = rSh.GetView().GetDocShell()->GetDoc()->getIDocumentDrawModelAccess().GetDrawModel(); - - aSet.Put(SvxColorListItem(pDrawModel->GetColorList(), SID_COLOR_TABLE)); - aSet.Put(SvxGradientListItem(pDrawModel->GetGradientList(), SID_GRADIENT_LIST)); - aSet.Put(SvxHatchListItem(pDrawModel->GetHatchList(), SID_HATCH_LIST)); - aSet.Put(SvxBitmapListItem(pDrawModel->GetBitmapList(), SID_BITMAP_LIST)); + pDrawModel->PutAreaListItems(aSet); const SwViewOption* pVOpt = rSh.GetViewOptions(); if(nSel & nsSelectionType::SEL_OLE) diff --git a/sw/source/uibase/shells/textsh.cxx b/sw/source/uibase/shells/textsh.cxx index cde79a064a83..ccc47988075c 100644 --- a/sw/source/uibase/shells/textsh.cxx +++ b/sw/source/uibase/shells/textsh.cxx @@ -114,6 +114,8 @@ using namespace ::com::sun::star; #include <table.hrc> #include <frmui.hrc> #include <unomid.h> +#include <IDocumentDrawModelAccess.hxx> +#include <drawdoc.hxx> #include <boost/scoped_ptr.hpp> SFX_IMPL_INTERFACE(SwTextShell, SwBaseShell) @@ -578,11 +580,16 @@ void SwTextShell::ExecInsert(SfxRequest &rReq) SID_ATTR_PAGE_SIZE, SID_ATTR_PAGE_SIZE, FN_SET_FRM_NAME, FN_SET_FRM_NAME, SID_HTML_MODE, SID_HTML_MODE, + SID_COLOR_TABLE, SID_BITMAP_LIST, 0 }; SfxItemSet aSet(GetPool(), aFrmAttrRange ); aSet.Put(SfxUInt16Item(SID_HTML_MODE, ::GetHtmlMode(GetView().GetDocShell()))); + + // For the Area tab page. + GetShell().GetDoc()->getIDocumentDrawModelAccess().GetDrawModel()->PutAreaListItems(aSet); + const SwRect &rPg = GetShell().GetAnyCurRect(RECT_PAGE); SwFormatFrmSize aFrmSize(ATT_VAR_SIZE, rPg.Width(), rPg.Height()); aFrmSize.SetWhich(GetPool().GetWhich(SID_ATTR_PAGE_SIZE)); |