[Libreoffice-commits] .: 5 commits - sfx2/inc sfx2/source
Rafael Dominguez
rdominguez at kemper.freedesktop.org
Sun Aug 12 19:57:04 PDT 2012
sfx2/inc/sfx2/templateabstractview.hxx | 16 ++++++
sfx2/inc/sfx2/templatelocalview.hxx | 4 -
sfx2/inc/sfx2/templatelocalviewitem.hxx | 2
sfx2/inc/sfx2/templateonlineview.hxx | 2
sfx2/inc/sfx2/templateviewitem.hxx | 3 -
sfx2/inc/sfx2/thumbnailviewitem.hxx | 5 -
sfx2/source/control/templateabstractview.cxx | 12 ++++
sfx2/source/control/templatelocalview.cxx | 41 +++++++--------
sfx2/source/control/templatelocalviewitem.cxx | 5 -
sfx2/source/control/templateonlineview.cxx | 17 ------
sfx2/source/control/templateviewitem.cxx | 15 ++---
sfx2/source/control/thumbnailview.cxx | 16 ++++--
sfx2/source/control/thumbnailviewitem.cxx | 19 ++-----
sfx2/source/doc/templatedlg.cxx | 69 +++++++++++++++++---------
sfx2/source/doc/templatedlg.src | 5 +
15 files changed, 135 insertions(+), 96 deletions(-)
New commits:
commit e51dc25f456db8a2f0130b12ee3d5a90d2fd27a2
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Aug 12 21:51:18 2012 -0430
Check correct area when selecting a template by clicking its name.
Change-Id: Idfb4509327c2c9c52f5c736d513d35e3270d91b1
diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx b/sfx2/inc/sfx2/thumbnailviewitem.hxx
index cb389b9..3b1aa95 100644
--- a/sfx2/inc/sfx2/thumbnailviewitem.hxx
+++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx
@@ -106,8 +106,6 @@ public:
void setSelectClickHdl (const Link &link);
- bool isInsideTitle (const Point &pt) const;
-
virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs);
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index 89946b8..c9b4a13 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -566,7 +566,11 @@ void ThumbnailView::MouseButtonDown( const MouseEvent& rMEvt )
}
else
{
- if (pItem->isInsideTitle(rMEvt.GetPosPixel()))
+ Rectangle aRect(pItem->getDrawArea());
+ aRect.setY(aRect.getY()+mnItemPadding+mnThumbnailHeight);
+ aRect.SetSize(Size(mnItemWidth,mnDisplayHeight+mnItemPadding));
+
+ if (aRect.IsInside(rMEvt.GetPosPixel()))
{
pItem->setSelection(!pItem->isSelected());
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index dd79548..9db5cbd 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -156,14 +156,6 @@ void ThumbnailViewItem::setSelectClickHdl (const Link &link)
maClickHdl = link;
}
-bool ThumbnailViewItem::isInsideTitle (const Point &pt) const
-{
- Rectangle aRect(Point(maTextPos.X(),mpSelectBox->GetPosPixel().Y()),
- Point(maDrawArea.Right(),maDrawArea.Bottom()));
-
- return aRect.IsInside(pt);
-}
-
void ThumbnailViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs)
{
commit 3b709149e605c90eb16743b9b6907294a6cb198e
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Aug 12 21:38:24 2012 -0430
Perform dbl click action only if its inside the thumbnail area.
Change-Id: Ib60f5882fbe89e697ef0755d87474a84ce8d0fe7
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index df23f94..89946b8 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -580,7 +580,13 @@ void ThumbnailView::MouseButtonDown( const MouseEvent& rMEvt )
}
}
else if ( rMEvt.GetClicks() == 2 )
- OnItemDblClicked(pItem);
+ {
+ Rectangle aRect(pItem->getDrawArea());
+ aRect.SetSize(Size(mnItemWidth,mnThumbnailHeight));
+
+ if (!mbSelectionMode && aRect.IsInside(rMEvt.GetPosPixel()))
+ OnItemDblClicked(pItem);
+ }
}
return;
commit a8b2083877894ffb19be0c95ae2aeb4373c0161a
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Aug 12 20:20:34 2012 -0430
Improve thumbnail items position calculation and size.
Change-Id: I7b22d4d858d82bd1e12ead3b723aad43118cf938
diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx
index 1555ebb..eff8da5 100644
--- a/sfx2/inc/sfx2/templateabstractview.hxx
+++ b/sfx2/inc/sfx2/templateabstractview.hxx
@@ -12,6 +12,18 @@
#include <sfx2/thumbnailview.hxx>
+//template thumbnail item defines
+#define TEMPLATE_ITEM_MAX_WIDTH 192
+#define TEMPLATE_ITEM_MAX_HEIGHT 160
+#define TEMPLATE_ITEM_PADDING 5
+#define TEMPLATE_ITEM_SPACE 30
+#define TEMPLATE_ITEM_MAX_TEXT_LENGTH 20
+#define TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT 128
+
+//template thumbnail image defines
+#define TEMPLATE_THUMBNAIL_MAX_HEIGHT 128 - 2*TEMPLATE_ITEM_PADDING
+#define TEMPLATE_THUMBNAIL_MAX_WIDTH TEMPLATE_ITEM_MAX_WIDTH - 2*TEMPLATE_ITEM_PADDING
+
class TemplateView;
class SfxDocumentTemplates;
@@ -74,6 +86,8 @@ public:
virtual void showOverlay (bool bVisible) = 0;
+ void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding);
+
sal_uInt16 getOverlayRegionId () const;
const OUString& getOverlayName () const;
diff --git a/sfx2/inc/sfx2/templatelocalviewitem.hxx b/sfx2/inc/sfx2/templatelocalviewitem.hxx
index 2f75159..80330b2 100644
--- a/sfx2/inc/sfx2/templatelocalviewitem.hxx
+++ b/sfx2/inc/sfx2/templatelocalviewitem.hxx
@@ -26,8 +26,6 @@ public:
virtual ~TemplateLocalViewItem ();
- virtual void calculateItemsPosition (sal_uInt32 nMaxTextLenght);
-
const Point& getPrev2Pos () const { return maPrev2Pos; }
virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
diff --git a/sfx2/inc/sfx2/templateonlineview.hxx b/sfx2/inc/sfx2/templateonlineview.hxx
index 78f6233..d64f947 100644
--- a/sfx2/inc/sfx2/templateonlineview.hxx
+++ b/sfx2/inc/sfx2/templateonlineview.hxx
@@ -46,8 +46,6 @@ public:
void syncRepositories () const;
- void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding);
-
private:
DECL_LINK(ChangeNameHdl, TemplateView*);
diff --git a/sfx2/inc/sfx2/templateviewitem.hxx b/sfx2/inc/sfx2/templateviewitem.hxx
index 74b53c0..a64b15d 100644
--- a/sfx2/inc/sfx2/templateviewitem.hxx
+++ b/sfx2/inc/sfx2/templateviewitem.hxx
@@ -40,7 +40,8 @@ public:
const rtl::OUString& getSubTitle () const { return maSubTitle; }
- virtual void calculateItemsPosition (sal_uInt32 nMaxTextLength);
+ virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
+ const long nPadding, sal_uInt32 nMaxTextLenght);
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 e6719c9..cb389b9 100644
--- a/sfx2/inc/sfx2/thumbnailviewitem.hxx
+++ b/sfx2/inc/sfx2/thumbnailviewitem.hxx
@@ -95,7 +95,8 @@ public:
const Rectangle& getDrawArea () const { return maDrawArea; }
- virtual void calculateItemsPosition (sal_uInt32 nMaxTextLenght);
+ virtual void calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
+ const long nPadding, sal_uInt32 nMaxTextLenght);
const Point& getTextPos () const { return maTextPos; }
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx
index cb42286..7483f80 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -75,6 +75,13 @@ TemplateAbstractView::~TemplateAbstractView ()
delete mpItemView;
}
+void TemplateAbstractView::setItemDimensions(long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding)
+{
+ ThumbnailView::setItemDimensions(ItemWidth,ThumbnailHeight,DisplayHeight,itemPadding);
+
+ mpItemView->setItemDimensions(ItemWidth,ThumbnailHeight,DisplayHeight,itemPadding);
+}
+
sal_uInt16 TemplateAbstractView::getOverlayRegionId() const
{
return mpItemView->getId();
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index 02168ce..53624b9 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -26,12 +26,6 @@
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#define ITEM_MAX_WIDTH 192
-#define ITEM_MAX_HEIGHT 192
-#define ITEM_PADDING 5
-#define THUMBNAIL_MAX_HEIGHT 128 - 2*ITEM_PADDING
-#define THUMBNAIL_MAX_WIDTH ITEM_MAX_WIDTH - 2*ITEM_PADDING
-
void lcl_updateThumbnails (TemplateLocalViewItem *pItem);
class FolderFilter_Application
@@ -108,10 +102,6 @@ TemplateLocalView::TemplateLocalView ( Window* pParent, const ResId& rResId, boo
mpDocTemplates(new SfxDocumentTemplates)
{
mpItemView->SetColor(Color(COL_WHITE));
- mpItemView->setItemDimensions(ITEM_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT,
- ITEM_MAX_HEIGHT-THUMBNAIL_MAX_HEIGHT,
- ITEM_PADDING);
-
mpItemView->setChangeNameHdl(LINK(this,TemplateLocalView,ChangeNameHdl));
}
@@ -159,7 +149,9 @@ void TemplateLocalView::Populate ()
aProperties.aName = aName;
aProperties.aPath = aURL;
aProperties.aType = aType;
- aProperties.aThumbnail = TemplateAbstractView::fetchThumbnail(aURL,THUMBNAIL_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT);
+ aProperties.aThumbnail = TemplateAbstractView::fetchThumbnail(aURL,
+ TEMPLATE_THUMBNAIL_MAX_WIDTH,
+ TEMPLATE_THUMBNAIL_MAX_HEIGHT);
pItem->maTemplates.push_back(aProperties);
}
@@ -600,8 +592,8 @@ bool TemplateLocalView::copyFrom (TemplateLocalViewItem *pItem, const rtl::OUStr
aTemplate.nRegionId = nRegionId;
aTemplate.aName = aPath;
aTemplate.aThumbnail = TemplateAbstractView::fetchThumbnail(rPath,
- THUMBNAIL_MAX_WIDTH,
- THUMBNAIL_MAX_HEIGHT);
+ TEMPLATE_THUMBNAIL_MAX_WIDTH,
+ TEMPLATE_THUMBNAIL_MAX_HEIGHT);
aTemplate.aPath = rPath;
aTemplate.aType = SvFileInformationManager::GetDescription(INetURLObject(rPath));
@@ -678,7 +670,8 @@ IMPL_LINK(TemplateLocalView, ChangeNameHdl, TemplateView*, pView)
if (mItemList[i]->mnId == nItemId)
{
mItemList[i]->maTitle = pView->getName();
- mItemList[i]->calculateItemsPosition(mpItemAttrs->nMaxTextLenght);
+ mItemList[i]->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,
+ mnItemPadding,mpItemAttrs->nMaxTextLenght);
Invalidate();
break;
}
@@ -698,14 +691,14 @@ void lcl_updateThumbnails (TemplateLocalViewItem *pItem)
if (i == 0)
{
pItem->maPreview1 = TemplateAbstractView::scaleImg(pItem->maTemplates[i].aThumbnail,
- THUMBNAIL_MAX_WIDTH*0.75,
- THUMBNAIL_MAX_HEIGHT*0.75);
+ TEMPLATE_THUMBNAIL_MAX_WIDTH*0.75,
+ TEMPLATE_THUMBNAIL_MAX_HEIGHT*0.75);
}
else
{
pItem->maPreview2 = TemplateAbstractView::scaleImg(pItem->maTemplates[i].aThumbnail,
- THUMBNAIL_MAX_WIDTH*0.75,
- THUMBNAIL_MAX_HEIGHT*0.75);
+ TEMPLATE_THUMBNAIL_MAX_WIDTH*0.75,
+ TEMPLATE_THUMBNAIL_MAX_HEIGHT*0.75);
}
}
}
diff --git a/sfx2/source/control/templatelocalviewitem.cxx b/sfx2/source/control/templatelocalviewitem.cxx
index 32f1e2e..765b544 100644
--- a/sfx2/source/control/templatelocalviewitem.cxx
+++ b/sfx2/source/control/templatelocalviewitem.cxx
@@ -34,11 +34,6 @@ TemplateLocalViewItem::~TemplateLocalViewItem ()
{
}
-void TemplateLocalViewItem::calculateItemsPosition (sal_uInt32 nMaxTextLenght)
-{
- ThumbnailViewItem::calculateItemsPosition(nMaxTextLenght);
-}
-
void TemplateLocalViewItem::Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
const ThumbnailItemAttributes *pAttrs)
{
diff --git a/sfx2/source/control/templateonlineview.cxx b/sfx2/source/control/templateonlineview.cxx
index de74ab5..c608a11 100644
--- a/sfx2/source/control/templateonlineview.cxx
+++ b/sfx2/source/control/templateonlineview.cxx
@@ -26,12 +26,6 @@
#include <com/sun/star/ucb/XContentAccess.hpp>
#include <com/sun/star/ucb/XDynamicResultSet.hpp>
-#define ITEM_MAX_WIDTH 192
-#define ITEM_MAX_HEIGHT 192
-#define ITEM_PADDING 5
-#define THUMBNAIL_MAX_HEIGHT 128 - 2*ITEM_PADDING
-#define THUMBNAIL_MAX_WIDTH ITEM_MAX_WIDTH - 2*ITEM_PADDING
-
using namespace com::sun::star;
using namespace com::sun::star::lang;
using namespace com::sun::star::task;
@@ -214,8 +208,8 @@ bool TemplateOnlineView::loadRepository (const sal_uInt16 nRepositoryId, bool bR
aTemplateItem.nRegionId = pItem->mnId-1;
aTemplateItem.aPath = sRealURL;
aTemplateItem.aThumbnail = TemplateAbstractView::fetchThumbnail(sRealURL,
- THUMBNAIL_MAX_WIDTH,
- THUMBNAIL_MAX_HEIGHT);
+ TEMPLATE_THUMBNAIL_MAX_WIDTH,
+ TEMPLATE_THUMBNAIL_MAX_HEIGHT);
// pData->mbIsRemote = xRow->getBoolean( ROW_IS_REMOTE ) && !xRow->wasNull();
// pData->mbIsRemoveable = xRow->getBoolean( ROW_IS_REMOVEABLE ) && !xRow->wasNull();
aTemplateItem.aName = xRow->getString( ROW_TITLE );
@@ -322,13 +316,6 @@ void TemplateOnlineView::syncRepositories() const
}
}
-void TemplateOnlineView::setItemDimensions(long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding)
-{
- ThumbnailView::setItemDimensions(ItemWidth,ThumbnailHeight,DisplayHeight,itemPadding);
-
- mpItemView->setItemDimensions(ItemWidth,ThumbnailHeight,DisplayHeight,itemPadding);
-}
-
IMPL_LINK (TemplateOnlineView, ChangeNameHdl, TemplateView*, pView)
{
bool bRet = false;
diff --git a/sfx2/source/control/templateviewitem.cxx b/sfx2/source/control/templateviewitem.cxx
index 4b559d3..a3f835e 100644
--- a/sfx2/source/control/templateviewitem.cxx
+++ b/sfx2/source/control/templateviewitem.cxx
@@ -35,27 +35,26 @@ TemplateViewItem::~TemplateViewItem ()
{
}
-void TemplateViewItem::calculateItemsPosition(sal_uInt32 nMaxTextLength)
+void TemplateViewItem::calculateItemsPosition(const long nThumbnailHeight, const long nDisplayHeight,
+ const long nPadding, sal_uInt32 nMaxTextLenght)
{
- ThumbnailViewItem::calculateItemsPosition(nMaxTextLength);
+ ThumbnailViewItem::calculateItemsPosition(nThumbnailHeight,nDisplayHeight,nPadding,nMaxTextLenght);
if (!maSubTitle.isEmpty())
{
Size aRectSize = maDrawArea.GetSize();
- Size aImageSize = maPreview1.GetSizePixel();
- aRectSize.Height() -= aImageSize.getHeight();
drawinglayer::primitive2d::TextLayouterDevice aTextDev;
- long nSpace = (aRectSize.getHeight() - 2*aTextDev.getTextHeight()) / 3;
+ long nSpace = (nDisplayHeight + nPadding - 2*aTextDev.getTextHeight()) / 3;
// Set title position
- maTextPos.setY(maPrev1Pos.getY() + aImageSize.getHeight() + nSpace);
+ maTextPos.setY(maDrawArea.getY() + nThumbnailHeight + nPadding + nSpace + aTextDev.getTextHeight());
// Set subtitle position
- maSubTitlePos.setY(maTextPos.getY() + nSpace);
+ maSubTitlePos.setY(maTextPos.getY() + nSpace + aTextDev.getTextHeight());
maSubTitlePos.setX(maDrawArea.Left() +
- (aRectSize.Width() - aTextDev.getTextWidth(maSubTitle,0,nMaxTextLength)*SUBTITLE_SCALE_FACTOR)/2);
+ (aRectSize.Width() - aTextDev.getTextWidth(maSubTitle,0,nMaxTextLenght)*SUBTITLE_SCALE_FACTOR)/2);
}
}
diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx
index fe886a8..df23f94 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -337,7 +337,7 @@ void ThumbnailView::CalculateItemPositions ()
pItem->show(true);
pItem->setDrawArea(Rectangle( Point(x,y), Size(mnItemWidth, mnItemHeight) ));
- pItem->calculateItemsPosition(mpItemAttrs->nMaxTextLenght);
+ pItem->calculateItemsPosition(mnThumbnailHeight,mnDisplayHeight,mnItemPadding,mpItemAttrs->nMaxTextLenght);
if ( !((nCurCount+1) % mnCols) )
{
diff --git a/sfx2/source/control/thumbnailviewitem.cxx b/sfx2/source/control/thumbnailviewitem.cxx
index dad7702..dd79548 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -116,7 +116,8 @@ void ThumbnailViewItem::setDrawArea (const Rectangle &area)
maDrawArea = area;
}
-void ThumbnailViewItem::calculateItemsPosition (sal_uInt32 nMaxTextLenght)
+void ThumbnailViewItem::calculateItemsPosition (const long nThumbnailHeight, const long nDisplayHeight,
+ const long nPadding, sal_uInt32 nMaxTextLenght)
{
drawinglayer::primitive2d::TextLayouterDevice aTextDev;
@@ -125,13 +126,13 @@ void ThumbnailViewItem::calculateItemsPosition (sal_uInt32 nMaxTextLenght)
// Calculate thumbnail position
Point aPos = maDrawArea.TopLeft();
- aPos.X() = maDrawArea.Left() + (aRectSize.Width()-aImageSize.Width())/2;
- aPos.Y() = maDrawArea.Top() + (aRectSize.Height()-aImageSize.Height())/2;
+ aPos.X() = maDrawArea.getX() + (aRectSize.Width()-aImageSize.Width())/2;
+ aPos.Y() = maDrawArea.getY() + nPadding + (nThumbnailHeight-aImageSize.Height())/2;
maPrev1Pos = aPos;
// Calculate text position
- aPos.Y() += aImageSize.Height();
- aPos.Y() = aPos.Y() + aTextDev.getTextHeight() + (maDrawArea.Bottom() - aPos.Y() - aTextDev.getTextHeight())/2;
+ aPos.Y() = maDrawArea.getY() + nThumbnailHeight + nPadding;
+ aPos.Y() = aPos.Y() + aTextDev.getTextHeight() + (nDisplayHeight - aTextDev.getTextHeight())/2;
aPos.X() = maDrawArea.Left() + (aRectSize.Width() - aTextDev.getTextWidth(maTitle,0,nMaxTextLenght))/2;
maTextPos = aPos;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 35acaea..d93162a 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -50,13 +50,6 @@
#include "doc.hrc"
#include "templatedlg.hrc"
-#define ITEM_MAX_WIDTH 192
-#define ITEM_MAX_HEIGHT 192
-#define ITEM_PADDING 5
-#define ITEM_SPACE 30
-#define ITEM_MAX_TEXT_LENGTH 20
-#define THUMBNAIL_MAX_HEIGHT 128
-
#define INIT_FOLDER_COLS 3
#define INIT_FOLDER_LINES 2
@@ -142,7 +135,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
// Calculate thumbnail view minimum size
Size aThumbSize = maView->CalcWindowSizePixel(INIT_FOLDER_COLS,INIT_FOLDER_LINES,
- ITEM_MAX_WIDTH,ITEM_MAX_HEIGHT,ITEM_SPACE);
+ TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_MAX_HEIGHT,TEMPLATE_ITEM_SPACE);
if (aWinSize.getWidth() < aThumbSize.getWidth() + 2*PADDING_DLG_BORDER)
aWinSize.setWidth(aThumbSize.getWidth() + 2*PADDING_DLG_BORDER);
@@ -200,11 +193,11 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
maView->SetStyle(WB_VSCROLL);
maView->SetSizePixel(aThumbSize);
- maView->setItemMaxTextLength(ITEM_MAX_TEXT_LENGTH);
+ maView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH);
- maView->setItemDimensions(ITEM_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT,
- ITEM_MAX_HEIGHT-THUMBNAIL_MAX_HEIGHT,
- ITEM_PADDING);
+ maView->setItemDimensions(TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_MAX_HEIGHT-TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_PADDING);
maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl));
maView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
@@ -213,11 +206,11 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
// Set online view position and dimensions
mpOnlineView->SetPosSizePixel(aViewPos,aThumbSize);
- mpOnlineView->setItemMaxTextLength(ITEM_MAX_TEXT_LENGTH);
+ mpOnlineView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH);
- mpOnlineView->setItemDimensions(ITEM_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT,
- ITEM_MAX_HEIGHT-THUMBNAIL_MAX_HEIGHT,
- ITEM_PADDING);
+ mpOnlineView->setItemDimensions(TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_MAX_HEIGHT-TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_PADDING);
mpOnlineView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
mpOnlineView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl));
@@ -225,11 +218,11 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
mpOnlineView->setOverlayChangeNameHdl(LINK(this,SfxTemplateManagerDlg,RepositoryChangeNameHdl));
mpSearchView->SetSizePixel(aThumbSize);
- mpSearchView->setItemMaxTextLength(ITEM_MAX_TEXT_LENGTH);
+ mpSearchView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH);
- mpSearchView->setItemDimensions(ITEM_MAX_WIDTH,THUMBNAIL_MAX_HEIGHT,
- ITEM_MAX_HEIGHT-THUMBNAIL_MAX_HEIGHT,
- ITEM_PADDING);
+ mpSearchView->setItemDimensions(TEMPLATE_ITEM_MAX_WIDTH,TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_MAX_HEIGHT-TEMPLATE_ITEM_THUMBNAIL_MAX_HEIGHT,
+ TEMPLATE_ITEM_PADDING);
mpSearchView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
commit 74d2421afc86c72d07a4f9d1f9824f41461900bb
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Aug 12 18:19:06 2012 -0430
Display an error msg when importing a template fails.
Change-Id: I87b6365bc95ce8243e38dcbfedc3892c888a8e90
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index 4291b61..35acaea 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -773,10 +773,26 @@ void SfxTemplateManagerDlg::OnTemplateImport ()
std::set<const ThumbnailViewItem*>::const_iterator pIter;
for (pIter = maSelFolders.begin(); pIter != maSelFolders.end(); ++pIter)
{
+ OUString aTemplateList;
TemplateLocalViewItem *pFolder = (TemplateLocalViewItem*)(*pIter);
for (size_t i = 0, n = aFiles.getLength(); i < n; ++i)
- maView->copyFrom(pFolder,aFiles[i]);
+ {
+ if(!maView->copyFrom(pFolder,aFiles[i]))
+ {
+ if (aTemplateList.isEmpty())
+ aTemplateList = aFiles[i];
+ else
+ aTemplateList = aTemplateList + "\n" + aFiles[i];
+ }
+ }
+
+ if (!aTemplateList.isEmpty())
+ {
+ OUString aMsg(SfxResId(STR_MSG_ERROR_IMPORT).toString());
+ aMsg = aMsg.replaceFirst("$1",pFolder->maTitle);
+ ErrorBox(this,WB_OK,aMsg.replaceFirst("$2",aTemplateList));
+ }
}
maView->Invalidate(INVALIDATE_NOERASE);
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 9024851..60d0580 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -60,6 +60,11 @@ String STR_MSG_ERROR_EXPORT
Text [ en-US ] = "Error exporting the following templates:\n$1";
};
+String STR_MSG_ERROR_IMPORT
+{
+ Text [ en-US ] = "Error importing the following templates to $1:\n$2";
+};
+
String STR_MSG_ERROR_DELETE_TEMPLATE
{
Text [ en-US ] = "The following templates cannot be deleted:\n$1";
commit 2b5ce6190066ed030cc221c4cfa236a8e4e4747e
Author: Rafael Dominguez <venccsralph at gmail.com>
Date: Sun Aug 12 17:14:16 2012 -0430
Display error msg when moving a template from a repository fails.
Change-Id: I5f483bcb0e216a6337e0bf70399916bd2da3faec
diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx
index 24edcd7..1555ebb 100644
--- a/sfx2/inc/sfx2/templateabstractview.hxx
+++ b/sfx2/inc/sfx2/templateabstractview.hxx
@@ -76,6 +76,8 @@ public:
sal_uInt16 getOverlayRegionId () const;
+ const OUString& getOverlayName () const;
+
// Check if the overlay is visible or not.
bool isOverlayVisible () const;
diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx
index f3d4ec6..d595196 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -51,9 +51,9 @@ public:
bool moveTemplates (std::set<const ThumbnailViewItem*> &rItems, const sal_uInt16 nTargetItem, bool bCopy);
- void copyFrom (const sal_uInt16 nRegionItemId, const BitmapEx &rThumbnail, const OUString &rPath);
+ bool copyFrom (const sal_uInt16 nRegionItemId, const BitmapEx &rThumbnail, const OUString &rPath);
- void copyFrom (TemplateLocalViewItem *pItem, const rtl::OUString &rPath);
+ bool copyFrom(TemplateLocalViewItem *pItem, const rtl::OUString &rPath);
bool exportTo (const sal_uInt16 nItemId, const sal_uInt16 nRegionItemId, const OUString &rName);
diff --git a/sfx2/source/control/templateabstractview.cxx b/sfx2/source/control/templateabstractview.cxx
index 4ce28f6..cb42286 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -80,6 +80,11 @@ sal_uInt16 TemplateAbstractView::getOverlayRegionId() const
return mpItemView->getId();
}
+const OUString &TemplateAbstractView::getOverlayName() const
+{
+ return mpItemView->getName();
+}
+
bool TemplateAbstractView::isOverlayVisible () const
{
return mpItemView->IsVisible();
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx
index e4c07c7..02168ce 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -528,7 +528,7 @@ bool TemplateLocalView::moveTemplates(std::set<const ThumbnailViewItem *> &rItem
return ret;
}
-void TemplateLocalView::copyFrom(const sal_uInt16 nRegionItemId, const BitmapEx &rThumbnail,
+bool TemplateLocalView::copyFrom(const sal_uInt16 nRegionItemId, const BitmapEx &rThumbnail,
const OUString &rPath)
{
sal_uInt16 nRegionId = nRegionItemId - 1;
@@ -568,14 +568,18 @@ void TemplateLocalView::copyFrom(const sal_uInt16 nRegionItemId, const BitmapEx
pItem->maTemplates.push_back(aTemplate);
lcl_updateThumbnails(pItem);
+
+ return true;
}
break;
}
}
+
+ return false;
}
-void TemplateLocalView::copyFrom (TemplateLocalViewItem *pItem, const rtl::OUString &rPath)
+bool TemplateLocalView::copyFrom (TemplateLocalViewItem *pItem, const rtl::OUString &rPath)
{
sal_uInt16 nId = 0;
sal_uInt16 nDocId = 0;
@@ -606,7 +610,11 @@ void TemplateLocalView::copyFrom (TemplateLocalViewItem *pItem, const rtl::OUStr
lcl_updateThumbnails(pItem);
CalculateItemPositions();
+
+ return true;
}
+
+ return false;
}
bool TemplateLocalView::exportTo(const sal_uInt16 nItemId, const sal_uInt16 nRegionItemId, const OUString &rName)
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index b0461e7..4291b61 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -1243,16 +1243,32 @@ void SfxTemplateManagerDlg::remoteMoveTo(const sal_uInt16 nMenuId)
if (nItemId)
{
+ OUString aTemplateList;
+
std::set<const ThumbnailViewItem*>::const_iterator aIter;
for (aIter = maSelTemplates.begin(); aIter != maSelTemplates.end(); ++aIter)
{
const TemplateSearchViewItem *pItem =
static_cast<const TemplateSearchViewItem*>(*aIter);
- maView->copyFrom(nItemId,pItem->maPreview1,pItem->getPath());
+ if(!maView->copyFrom(nItemId,pItem->maPreview1,pItem->getPath()))
+ {
+ if (aTemplateList.isEmpty())
+ aTemplateList = pItem->maTitle;
+ else
+ aTemplateList = aTemplateList + "\n" + pItem->maTitle;
+ }
}
maView->Invalidate(INVALIDATE_NOERASE);
+
+ if (!aTemplateList.isEmpty())
+ {
+ OUString aMsg(SfxResId(STR_MSG_ERROR_REMOTE_MOVE).toString());
+ aMsg = aMsg.replaceFirst("$1",mpOnlineView->getOverlayName());
+ aMsg = aMsg.replaceFirst("$2",maView->GetItemText(nItemId));
+ ErrorBox(this,WB_OK,aMsg.replaceFirst("$1",aTemplateList)).Execute();
+ }
}
}
More information about the Libreoffice-commits
mailing list