summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-08-21 06:24:19 +0200
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2012-08-21 07:05:46 +0200
commita873be622198c8a9ac59452e64d919d363e32d72 (patch)
tree354ca07c1fc62b176242e7044b34041e0dcc49ed /sfx2
parent21a4d3cafa0f959613991b0b6777c58557ec56c1 (diff)
template manager: setFontAttribute on TextLayouterDevice is needed
or you could have some weird values initialised much earlier (remember, that TextLayouterDevice shares its device) Change-Id: Ia8e44e578dc1bff6bdc97a3007db51e20692593d
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/inc/sfx2/templateviewitem.hxx3
-rw-r--r--sfx2/inc/sfx2/thumbnailviewitem.hxx3
-rw-r--r--sfx2/source/control/templatelocalview.cxx2
-rw-r--r--sfx2/source/control/templateviewitem.cxx8
-rw-r--r--sfx2/source/control/thumbnailview.cxx2
-rw-r--r--sfx2/source/control/thumbnailviewitem.cxx6
6 files changed, 17 insertions, 7 deletions
diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx
index a64b15d0faba..992af40f1dea 100644
--- a/sfx2/inc/sfx2/templateviewitem.hxx
+++ b/sfx2/inc/sfx2/templateviewitem.hxx
@@ -41,7 +41,8 @@ public:
const rtl::OUString& getSubTitle () const { return maSubTitle; }
virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLenght);
+ const long nPadding, sal_uInt32 nMaxTextLenght,
+ const ThumbnailItemAttributes *pAttrs);
virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs);
diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx
index aab7fe3d260d..91a6884da043 100644
--- a/sfx2/inc/sfx2/thumbnailviewitem.hxx
+++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx
@@ -104,7 +104,8 @@ public:
const Rectangle& getDrawArea () const { return maDrawArea; }
virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLenght);
+ const long nPadding, sal_uInt32 nMaxTextLenght,
+ const ThumbnailItemAttributes *pAttrs);
const Point& getTextPos () const { return maTextPos; }
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index 79e382f13dee..b2302605a287 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -733,7 +733,7 @@ IMPL_LINK(TemplateLocalView, ChangeNameHdl, TemplateView*, pView)
{
mItemList[i]->maTitle = pView->getName();
mItemList[i]->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,
- mnItemPadding,mpItemAttrs->nMaxTextLenght);
+ mnItemPadding,mpItemAttrs->nMaxTextLenght,mpItemAttrs);
Invalidate();
break;
}
diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx
index 2b2b4abbcead..4ef6aa1e8876 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -37,15 +37,19 @@ TemplateViewItem::~TemplateViewItem ()
}
void TemplateViewItem::calculateItemsPosition(const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLenght)
+ const long nPadding, sal_uInt32 nMaxTextLenght,
+ const ThumbnailItemAttributes *pAttrs)
{
- ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLenght);
+ ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLenght, pAttrs);
if (!maSubTitle.isEmpty())
{
Size aRectSize = maDrawArea.GetSize();
drawinglayer::primitive2d::TextLayouterDevice aTextDev;
+ aTextDev.setFontAttribute(pAttrs->aFontAttr,
+ pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(),
+ com::sun::star::lang::Locale() );
long nSpace = (nDisplayHeight + nPadding - 2*aTextDev.getTextHeight()) / 3;
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 6e221bb850c1..589766dd38db 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -331,7 +331,7 @@ void ThumbnailView::CalculateItemPositions ()
}
pItem->setDrawArea(Rectangle( Point(x,y), Size(mnItemWidth, mnItemHeight) ));
- pItem->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,mnItemPadding,mpItemAttrs->nMaxTextLenght);
+ pItem->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,mnItemPadding,mpItemAttrs->nMaxTextLenght,mpItemAttrs);
if ( !((nCurCount+1) % mnCols) )
{
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index 6eb68320e8ad..77e8592bd5a4 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -118,9 +118,13 @@ void ThumbnailViewItem::setDrawArea (const Rectangle &area)
}
void ThumbnailViewItem::calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
- const long nPadding, sal_uInt32 nMaxTextLenght)
+ const long nPadding, sal_uInt32 nMaxTextLenght,
+ const ThumbnailItemAttributes *pAttrs)
{
drawinglayer::primitive2d::TextLayouterDevice aTextDev;
+ aTextDev.setFontAttribute(pAttrs->aFontAttr,
+ pAttrs->aFontSize.getX(), pAttrs->aFontSize.getY(),
+ com::sun::star::lang::Locale() );
Size aRectSize = maDrawArea.GetSize();
Size aImageSize = maPreview1.GetSizePixel();