[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-04-08 Thread Rafael Dominguez
 sfx2/inc/sfx2/thumbnailview.hxx  |2 
 sfx2/source/control/templateabstractview.cxx |2 
 sfx2/source/control/templatelocalview.cxx|2 
 sfx2/source/control/templatesearchview.cxx   |2 
 sfx2/source/control/thumbnailview.cxx|  105 ++-
 5 files changed, 63 insertions(+), 50 deletions(-)

New commits:
commit 397ebc0260ec6285e5965af26630610e71b5c3fc
Author: Rafael Dominguez venccsra...@gmail.com
Date:   Sat Mar 30 17:26:03 2013 -0430

Avoid generating filter list several times.

- Only generate the list after applying a new filter function.
- Append item directly to the filtered list if its allowed when appending
a new item to the thumbnailview.

Change-Id: I408785507ef94908d31e4373b407e9d443f72895
Reviewed-on: https://gerrit.libreoffice.org/3259
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 2310060..6d9f30e 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -179,6 +179,8 @@ public:
 
 virtual ~ThumbnailView ();
 
+void AppendItem (ThumbnailViewItem *pItem);
+
 void RemoveItem( sal_uInt16 nItemId );
 
 void Clear();
diff --git a/sfx2/source/control/templateabstractview.cxx 
b/sfx2/source/control/templateabstractview.cxx
index 5c0b563..e28d2e8 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ b/sfx2/source/control/templateabstractview.cxx
@@ -161,7 +161,7 @@ void TemplateAbstractView::insertItem(const 
TemplateItemProperties rTemplate)
 
 pChild-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
-mItemList.push_back(pChild);
+AppendItem(pChild);
 
 CalculateItemPositions();
 Invalidate();
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 7ac7b69..6dd82df 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -262,7 +262,7 @@ sal_uInt16 TemplateLocalView::createRegion(const OUString 
rName)
 pItem-maTitle = aRegionName;
 pItem-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
-mItemList.push_back(pItem);
+AppendItem(pItem);
 
 CalculateItemPositions();
 Invalidate();
diff --git a/sfx2/source/control/templatesearchview.cxx 
b/sfx2/source/control/templatesearchview.cxx
index eaec8dc..c24c567 100644
--- a/sfx2/source/control/templatesearchview.cxx
+++ b/sfx2/source/control/templatesearchview.cxx
@@ -36,7 +36,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nAssocItemId, 
sal_uInt16 nRegionI
 pItem-setPath(rPath);
 pItem-setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
 
-mItemList.push_back(pItem);
+ThumbnailView::AppendItem(pItem);
 
 CalculateItemPositions();
 }
diff --git a/sfx2/source/control/thumbnailview.cxx 
b/sfx2/source/control/thumbnailview.cxx
index 6c64662..725520c 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -81,6 +81,14 @@ ThumbnailView::~ThumbnailView()
 ImplDeleteItems();
 }
 
+void ThumbnailView::AppendItem(ThumbnailViewItem *pItem)
+{
+if (maFilterFunc(pItem))
+mFilteredItemList.push_back(pItem);
+
+mItemList.push_back(pItem);
+}
+
 void ThumbnailView::ImplInit()
 {
 mpScrBar= NULL;
@@ -221,12 +229,10 @@ void ThumbnailView::CalculateItemPositions ()
 return;
 
 SizeaWinSize = GetOutputSizePixel();
-size_t  nItemCount = mItemList.size();
+size_t  nItemCount = mFilteredItemList.size();
 WinBits nStyle = GetStyle();
 ScrollBar*  pDelScrBar = NULL;
 
-mFilteredItemList.clear();
-
 // consider the scrolling
 if ( nStyle  WB_VSCROLL )
 ImplInitScrollBar();
@@ -304,59 +310,35 @@ void ThumbnailView::CalculateItemPositions ()
 size_t nCurCount = 0;
 for ( size_t i = 0; i  nItemCount; i++ )
 {
-ThumbnailViewItem *const pItem = mItemList[i];
+ThumbnailViewItem *const pItem = mFilteredItemList[i];
 
-if (maFilterFunc(pItem))
+if ((nCurCount = nFirstItem)  (nCurCount  nLastItem))
 {
-mFilteredItemList.push_back(pItem);
-if ((nCurCount = nFirstItem)  (nCurCount  nLastItem))
+if( !pItem-isVisible())
 {
-if( !pItem-isVisible())
+if ( ImplHasAccessibleListeners() )
 {
-if ( ImplHasAccessibleListeners() )
-{
-::com::sun::star::uno::Any aOldAny, aNewAny;
-
-aNewAny = pItem-GetAccessible( 
mbIsTransientChildrenDisabled );
-ImplFireAccessibleEvent( 
::com::sun::star::accessibility::AccessibleEventId::CHILD, aOldAny, aNewAny );
-}
-
-pItem-show(true);
+

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-04-08 Thread Rafael Dominguez
 sfx2/inc/sfx2/thumbnailview.hxx   |1 
 sfx2/source/control/thumbnailview.cxx |  198 --
 2 files changed, 189 insertions(+), 10 deletions(-)

New commits:
commit b51875f39c86bd8082c983773756630b53df88af
Author: Rafael Dominguez venccsra...@gmail.com
Date:   Sun Apr 7 14:09:54 2013 -0430

fdo#61390 - Thumbnail navigation by shift-click and shift-keyboard.

Change-Id: I0b107d0918e1914709de31fd52cd11480e7fd419
Reviewed-on: https://gerrit.libreoffice.org/3260
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 6d9f30e..1286385 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -305,6 +305,7 @@ protected:
 
 ValueItemList mItemList;
 ValueItemList mFilteredItemList; /// Cache to store the filtered items
+ValueItemList::iterator mpStartSelRange;
 ScrollBar* mpScrBar;
 Rectangle maItemListRect;
 long mnHeaderHeight;
diff --git a/sfx2/source/control/thumbnailview.cxx 
b/sfx2/source/control/thumbnailview.cxx
index 725520c..8d03d5a 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -10,6 +10,8 @@
 #include sfx2/thumbnailview.hxx
 #include sfx2/thumbnailviewitem.hxx
 
+#include utility
+
 #include thumbnailviewacc.hxx
 
 #include basegfx/color/bcolortools.hxx
@@ -84,7 +86,20 @@ ThumbnailView::~ThumbnailView()
 void ThumbnailView::AppendItem(ThumbnailViewItem *pItem)
 {
 if (maFilterFunc(pItem))
+{
+// Save current start,end range, iterator might get invalidated
+size_t nSelStartPos = 0;
+ThumbnailViewItem *pSelStartItem = NULL;
+
+if (mpStartSelRange != mFilteredItemList.end())
+{
+pSelStartItem = *mpStartSelRange;
+nSelStartPos = mpStartSelRange - mFilteredItemList.begin();
+}
+
 mFilteredItemList.push_back(pItem);
+mpStartSelRange = pSelStartItem != NULL ? mFilteredItemList.begin() + 
nSelStartPos : mFilteredItemList.end();
+}
 
 mItemList.push_back(pItem);
 }
@@ -107,6 +122,7 @@ void ThumbnailView::ImplInit()
 mbHasVisibleItems   = false;
 maFilterFunc = ViewFilterAll();
 maColor = GetSettings().GetStyleSettings().GetFieldColor();
+mpStartSelRange = mFilteredItemList.end();
 
 // Create the processor and process the primitives
 const drawinglayer::geometry::ViewInformation2D aNewViewInfos;
@@ -145,6 +161,8 @@ void ThumbnailView::ImplDeleteItems()
 
 mItemList.clear();
 mFilteredItemList.clear();
+
+mpStartSelRange = mFilteredItemList.end();
 }
 
 void ThumbnailView::ImplInitSettings( bool bFont, bool bForeground, bool 
bBackground )
@@ -398,9 +416,9 @@ size_t ThumbnailView::ImplGetItem( const Point rPos, bool 
bMove ) const
 
 if ( maItemListRect.IsInside( rPos ) )
 {
-for (size_t i = 0; i  mItemList.size(); ++i)
+for (size_t i = 0; i  mFilteredItemList.size(); ++i)
 {
-if (mItemList[i]-isVisible()  
mItemList[i]-getDrawArea().IsInside(rPos))
+if (mFilteredItemList[i]-isVisible()  
mFilteredItemList[i]-getDrawArea().IsInside(rPos))
 return i;
 }
 
@@ -417,7 +435,7 @@ size_t ThumbnailView::ImplGetItem( const Point rPos, bool 
bMove ) const
 
 ThumbnailViewItem* ThumbnailView::ImplGetItem( size_t nPos )
 {
-return ( nPos  mItemList.size() ) ? mItemList[nPos] : NULL;
+return ( nPos  mFilteredItemList.size() ) ? mFilteredItemList[nPos] : 
NULL;
 }
 
 sal_uInt16 ThumbnailView::ImplGetVisibleItemCount() const
@@ -505,39 +523,68 @@ void ThumbnailView::KeyInput( const KeyEvent rKEvt )
 }
 }
 
+bool bValidRange = false;
+bool bHasSelRange = mpStartSelRange != mFilteredItemList.end();
+size_t nNextPos = nLastPos;
 KeyCode aKeyCode = rKEvt.GetKeyCode();
 ThumbnailViewItem* pNext = NULL;
+
+if (aKeyCode.IsShift()  bHasSelRange)
+{
+//If the last elemented selected is the start range position
+//search for the first selected item
+size_t nSelPos = mpStartSelRange - mFilteredItemList.begin();
+
+if (nLastPos == nSelPos)
+{
+while (nLastPos  mFilteredItemList[nLastPos-1]-isSelected())
+--nLastPos;
+}
+}
+
 switch ( aKeyCode.GetCode() )
 {
 case KEY_RIGHT:
 {
-size_t nNextPos = nLastPos;
 if ( bFoundLast  nLastPos  mFilteredItemList.size( ) - 1 )
+{
+bValidRange = true;
 nNextPos = nLastPos + 1;
+}
+
 pNext = mFilteredItemList[nNextPos];
 }
 break;
 case KEY_LEFT:
 {
-size_t nNextPos = nLastPos;
 if ( nLastPos  0 )
+{
+bValidRange = true;
  

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-03-28 Thread Cédric Bosdonnat
 sfx2/inc/sfx2/templateabstractview.hxx   |7 -
 sfx2/inc/sfx2/templatelocalview.hxx  |6 
 sfx2/inc/sfx2/templateremoteview.hxx |2 -
 sfx2/inc/sfx2/templateview.hxx   |   12 +
 sfx2/source/control/templateabstractview.cxx |   27 --
 sfx2/source/control/templatelocalview.cxx|   33 ---
 sfx2/source/control/templateremoteview.cxx   |   11 -
 sfx2/source/control/templateview.cxx |5 
 sfx2/source/doc/templatedlg.cxx  |4 +--
 9 files changed, 39 insertions(+), 68 deletions(-)

New commits:
commit 14fb3c4cdd879c1c6f6e1571b327d0133df74d8c
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Fri Dec 21 15:37:49 2012 +0100

Templates Manager: merged the Double Click Handling into 
TemplateAbstractView

(cherry picked from commit 8a2bfe697bf71c8a2ca3c6ba1ef5e6324d4163aa)

Conflicts:
sfx2/inc/sfx2/templateview.hxx
sfx2/source/control/templateabstractview.cxx
sfx2/source/control/templatelocalview.cxx
sfx2/source/control/templateview.cxx

Change-Id: Iafc1650d57d29fbc24921498f18da6c0e510b37a
Reviewed-on: https://gerrit.libreoffice.org/3087
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/templateabstractview.hxx 
b/sfx2/inc/sfx2/templateabstractview.hxx
index ca51181..a5fef71 100644
--- a/sfx2/inc/sfx2/templateabstractview.hxx
+++ b/sfx2/inc/sfx2/templateabstractview.hxx
@@ -87,7 +87,7 @@ public:
 
 virtual void filterTemplatesByApp (const FILTER_APPLICATION eApp);
 
-virtual void showOverlay (bool bVisible) = 0;
+void showOverlay (bool bVisible);
 
 void setItemDimensions (long ItemWidth, long ThumbnailHeight, long 
DisplayHeight, int itemPadding);
 
@@ -109,7 +109,7 @@ public:
 
 void setOverlayItemStateHdl (const Link aLink) { maOverlayItemStateHdl = 
aLink; }
 
-void setOverlayDblClickHdl (const Link rLink);
+void setOpenHdl (const Link rLink);
 
 void setOverlayCloseHdl (const Link rLink);
 
@@ -127,10 +127,13 @@ protected:
 
 DECL_LINK(OverlayItemStateHdl, const ThumbnailViewItem*);
 
+virtual void OnItemDblClicked(ThumbnailViewItem *pItem);
+
 protected:
 
 TemplateView *mpItemView;
 Link maOverlayItemStateHdl;
+Link maOpenHdl;
 
 bool mbFilteredResults; // Flag keep track if overlay has been 
filtered so folders can get filtered too afterwards
 FILTER_APPLICATION meFilterOption;
diff --git a/sfx2/inc/sfx2/templatelocalview.hxx 
b/sfx2/inc/sfx2/templatelocalview.hxx
index 78cf547..432b008 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -39,8 +39,6 @@ public:
 
 std::vectorOUString getFolderNames ();
 
-virtual void showOverlay (bool bVisible);
-
 std::vectorTemplateItemProperties
 getFilteredItems (const boost::functionbool (const 
TemplateItemProperties)  rFunc) const;
 
@@ -75,10 +73,6 @@ public:
 
 private:
 
-virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem);
-
-private:
-
 SfxDocumentTemplates *mpDocTemplates;
 };
 
diff --git a/sfx2/inc/sfx2/templateremoteview.hxx 
b/sfx2/inc/sfx2/templateremoteview.hxx
index bd1bf5c..b760f00 100644
--- a/sfx2/inc/sfx2/templateremoteview.hxx
+++ b/sfx2/inc/sfx2/templateremoteview.hxx
@@ -25,8 +25,6 @@ public:
 
 virtual ~TemplateRemoteView ();
 
-virtual void showOverlay (bool bVisible);
-
 bool loadRepository (TemplateRepository* pRepository, bool bRefresh);
 
 private:
diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx
index e219905..aaa7334 100644
--- a/sfx2/inc/sfx2/templateview.hxx
+++ b/sfx2/inc/sfx2/templateview.hxx
@@ -36,26 +36,28 @@ public:
 
 void InsertItems (const std::vectorTemplateItemProperties rTemplates);
 
-void setDblClickHdl (const Link rLink) { maDblClickHdl = rLink; }
-
 void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); }
 void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = 
pMasterView; }
 virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
 
+
+// FIXME Kept only during the refactoring
+void setOpenHdl (const Link rLink) { maOpenHdl = rLink; }
+virtual void OnItemDblClicked(ThumbnailViewItem *pItem) { 
maOpenHdl.Call(pItem); }
+
 protected:
 
 virtual void Resize ();
 
-virtual void OnItemDblClicked (ThumbnailViewItem *pItem);
-
 private:
 TemplateAbstractView* mpMasterView;
 
+Link maOpenHdl;
+
 PushButton maAllButton;
 FixedText  maFTName;
 sal_uInt16 mnId;
 OUString maName;
-Link maDblClickHdl;
 };
 
 #endif // TEMPLATEVIEW_HXX
diff --git a/sfx2/source/control/templateabstractview.cxx 
b/sfx2/source/control/templateabstractview.cxx
index 14ab811..43efcbb 100644
--- a/sfx2/source/control/templateabstractview.cxx
+++ 

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-03-28 Thread Rafael Dominguez
 sfx2/inc/sfx2/templatelocalview.hxx   |4 -
 sfx2/source/control/templatelocalview.cxx |   93 +-
 sfx2/source/doc/templatedlg.cxx   |   10 +--
 3 files changed, 61 insertions(+), 46 deletions(-)

New commits:
commit a67bf57cf130d461dcf306ee381e9e4a7ee013a0
Author: Rafael Dominguez venccsra...@gmail.com
Date:   Tue Mar 26 00:30:08 2013 -0430

Syncronize thumbnails ids with SfxDocumentTemplates when moving.

Change-Id: I9ee17e00f769ca16f566b1397d09b76a09273912
(cherry picked from commit dda5fe60ff6dfd61f5f262c61e1d538d20e9c978)
Reviewed-on: https://gerrit.libreoffice.org/3091
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/templatelocalview.hxx 
b/sfx2/inc/sfx2/templatelocalview.hxx
index 3bcacc4..68b7dc7 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -56,9 +56,9 @@ public:
 bool removeTemplate (const sal_uInt16 nItemId, const sal_uInt16 
nSrcItemId);
 
 bool moveTemplate (const ThumbnailViewItem* pItem, const sal_uInt16 
nSrcItem,
-   const sal_uInt16 nTargetItem, bool bCopy);
+   const sal_uInt16 nTargetItem);
 
-bool moveTemplates (const std::setconst 
ThumbnailViewItem*,selection_cmp_fn rItems, const sal_uInt16 nTargetItem, 
bool bCopy);
+bool moveTemplates (const std::setconst 
ThumbnailViewItem*,selection_cmp_fn rItems, const sal_uInt16 nTargetItem);
 
 bool copyFrom (const sal_uInt16 nRegionItemId, const BitmapEx rThumbnail, 
const OUString rPath);
 
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index ab55ca4..429b4dc 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -289,11 +289,8 @@ bool TemplateLocalView::removeTemplate (const sal_uInt16 
nItemId, const sal_uInt
 }
 
 bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const 
sal_uInt16 nSrcItem,
-   const sal_uInt16 nTargetItem, bool 
bCopy)
+   const sal_uInt16 nTargetItem)
 {
-bool bRet = true;
-bool bRefresh = false;
-
 TemplateContainerItem *pTarget = NULL;
 TemplateContainerItem *pSrc = NULL;
 
@@ -313,16 +310,13 @@ bool TemplateLocalView::moveTemplate (const 
ThumbnailViewItem *pItem, const sal_
 
 const TemplateViewItem *pViewItem = static_castconst 
TemplateViewItem*(pItem);
 
-bool bOK;
+bool bCopy = 
!mpDocTemplates-Move(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnDocId);
 
 if (bCopy)
-bOK = 
mpDocTemplates-Copy(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnId-1);
-else
-bOK = 
mpDocTemplates-Move(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnId-1);
-
-if (!bOK)
-return false;
-
+{
+if 
(!mpDocTemplates-Copy(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem-mnDocId))
+return false;
+}
 // move template to destination
 
 TemplateItemProperties aTemplateItem;
@@ -340,37 +334,45 @@ bool TemplateLocalView::moveTemplate (const 
ThumbnailViewItem *pItem, const sal_
 // remove template from region cached data
 
 std::vectorTemplateItemProperties::iterator aIter;
-for (aIter = pSrc-maTemplates.begin(); aIter != 
pSrc-maTemplates.end(); ++aIter)
+for (aIter = pSrc-maTemplates.begin(); aIter != 
pSrc-maTemplates.end();)
 {
-if (aIter-nId == pViewItem-mnId)
+if (aIter-nDocId == pViewItem-mnDocId)
+{
+aIter = pSrc-maTemplates.erase(aIter);
+}
+else
 {
-pSrc-maTemplates.erase(aIter);
+// Keep region document id syncronized with 
SfxDocumentTemplates
+if (aIter-nDocId  pViewItem-mnDocId)
+--aIter-nDocId;
 
-RemoveItem(pViewItem-mnId);
-break;
+++aIter;
 }
 }
-}
 
-bRefresh = true;
-}
-else
-bRet = false;
+// Keep view document id syncronized with SfxDocumentTemplates
+std::vectorThumbnailViewItem*::iterator pItemIter = 
mItemList.begin();
+for (; pItemIter != mItemList.end(); ++pItemIter)
+{
+if (static_castTemplateViewItem*(*pItemIter)-mnDocId  
pViewItem-mnDocId)
+--static_castTemplateViewItem*(*pItemIter)-mnDocId;
+}
+}
 
-if (bRefresh)
-{
 lcl_updateThumbnails(pSrc);
 lcl_updateThumbnails(pTarget);
 
 CalculateItemPositions();
 Invalidate();
+
+return true;
 }
 
-return bRet;
+return false;
 }
 
 bool 

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-03-26 Thread Cédric Bosdonnat
 sfx2/inc/sfx2/thumbnailview.hxx   |1 +
 sfx2/source/control/thumbnailview.cxx |   31 +--
 sfx2/source/doc/templatedlg.cxx   |2 +-
 3 files changed, 31 insertions(+), 3 deletions(-)

New commits:
commit 369cb8e216f9287234d601f4b28e0332a2ec29a5
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Mon Mar 25 16:40:37 2013 +0100

fdo#61390: allow arrow keys to show hidden thumbnail items

Change-Id: I70924b4c9578122a1c5a5b6c8a67889d6d003a2e
(cherry picked from commit cc599e914e7ade9f10da460fc1c77ea07454d7ff)
Reviewed-on: https://gerrit.libreoffice.org/3033
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 95e6b53..9e29c9a 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -277,6 +277,7 @@ protected:
 using Window::ImplInit;
 
 void CalculateItemPositions ();
+void MakeItemVisible( sal_uInt16 nId );
 
 SFX2_DLLPRIVATE void ImplInit();
 SFX2_DLLPRIVATE void ImplInitSettings( bool bFont, bool 
bForeground, bool bBackground );
diff --git a/sfx2/source/control/thumbnailview.cxx 
b/sfx2/source/control/thumbnailview.cxx
index f78a308..08be7cb 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -553,13 +553,40 @@ void ThumbnailView::KeyInput( const KeyEvent rKEvt )
 Control::KeyInput( rKEvt );
 }
 
-if ( pNext  pNext-isVisible() )
+if ( pNext )
 {
 deselectItems();
 SelectItem(pNext-mnId);
+MakeItemVisible(pNext-mnId);
 }
 }
 
+void ThumbnailView::MakeItemVisible( sal_uInt16 nItemId )
+{
+// Get the item row
+size_t nPos = 0;
+bool bFound = false;
+for ( size_t i = 0; !bFound  i  mFilteredItemList.size(); ++i )
+{
+ThumbnailViewItem* pItem = mFilteredItemList[i];
+if ( pItem-mnId == nItemId )
+{
+nPos = i;
+bFound = true;
+}
+}
+sal_uInt16 nRow = nPos / mnCols;
+
+// Move the visible rows as little as possible to include that one
+if ( nRow  mnFirstLine )
+mnFirstLine = nRow;
+else if ( nRow  mnFirstLine + mnVisLines )
+mnFirstLine = nRow - mnVisLines;
+
+CalculateItemPositions();
+Invalidate();
+}
+
 void ThumbnailView::MouseButtonDown( const MouseEvent rMEvt )
 {
 if ( rMEvt.IsLeft() )
@@ -703,11 +730,11 @@ void ThumbnailView::LoseFocus()
 
 void ThumbnailView::Resize()
 {
+Control::Resize();
 CalculateItemPositions();
 
 if ( IsReallyVisible()  IsUpdateMode() )
 Invalidate();
-Control::Resize();
 }
 
 void ThumbnailView::StateChanged( StateChangedType nType )
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index b9d3945..e5e4014 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -331,7 +331,7 @@ void SfxTemplateManagerDlg::Resize()
 Point aViewPos = maView-GetPosPixel();
 aViewPos.setY(nToolbarsHeight);
 aViewPos.setX(0);
-Size aThumbSize(aWinSize.getWidth(), 
maTabControl.GetTabPageSizePixel().getWidth() - aViewPos.getY());
+Size aThumbSize(aWinSize.getWidth(), 
maTabControl.GetTabPageSizePixel().getHeight() - aViewPos.getY());
 maView-SetPosSizePixel(aViewPos, aThumbSize);
 
 if (aWinSize.getHeight()  aViewPos.getY() + aThumbSize.getHeight() + 
PADDING_DLG_BORDER)
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-03-22 Thread Cédric Bosdonnat
 sfx2/inc/sfx2/thumbnailview.hxx  |8 -
 sfx2/source/control/thumbnailview.cxx|  125 +--
 sfx2/source/control/thumbnailviewacc.cxx |2 
 3 files changed, 24 insertions(+), 111 deletions(-)

New commits:
commit e2ce03c2eaf1bdf6a3b736052be8e2ed8ef8c6ca
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Thu Mar 21 11:49:01 2013 +0100

Template Manager: removed some dead selection code

(cherry picked from commit bfd1bcb204ed3ca35df1455a346a0ee7254a1191)

Conflicts:
sfx2/source/control/thumbnailview.cxx

Change-Id: Ib5ebcd928e77a115f4f62a50724656c33ae13c61
Reviewed-on: https://gerrit.libreoffice.org/2911
Reviewed-by: Fridrich Strba fridr...@documentfoundation.org
Tested-by: Fridrich Strba fridr...@documentfoundation.org

diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 8eb9426..efc5e78 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -202,10 +202,7 @@ public:
 
 void SelectItem( sal_uInt16 nItemId );
 
-sal_uInt16 GetSelectItemId() const { return mnSelItemId; }
-
-bool IsItemSelected( sal_uInt16 nItemId ) const
-{ return nItemId == mnSelItemId; }
+bool IsItemSelected( sal_uInt16 nItemId ) const;
 
 void deselectItem (const sal_uInt16 nItemId);
 
@@ -258,8 +255,6 @@ protected:
 
 virtual void DataChanged( const DataChangedEvent rDCEvt );
 
-virtual bool StartDrag( const CommandEvent rCEvt, Region rRegion );
-
 virtual ::com::sun::star::uno::Reference 
::com::sun::star::accessibility::XAccessible  CreateAccessible();
 
 protected:
@@ -310,7 +305,6 @@ protected:
 long mnVisLines;
 long mnLines;
 sal_uInt16 mnScrBarOffset;
-sal_uInt16 mnSelItemId;
 sal_uInt16 mnHighItemId;
 sal_uInt16 mnCols;
 sal_uInt16 mnFirstLine;
diff --git a/sfx2/source/control/thumbnailview.cxx 
b/sfx2/source/control/thumbnailview.cxx
index 57dba07..63ba189 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -92,7 +92,6 @@ void ThumbnailView::ImplInit()
 mnLines = 0;
 mnFirstLine = 0;
 mnScrBarOffset = 1;
-mnSelItemId = 0;
 mnHighItemId= 0;
 mnCols  = 0;
 mnSpacing   = 0;
@@ -589,11 +588,7 @@ void ThumbnailView::GetFocus()
 
 if ( nSelected == -1  mItemList.size( )  0 )
 {
-mItemList[0]-setSelection(true);
-maItemStateHdl.Call(mItemList[0]);
-
-if (IsReallyVisible()  IsUpdateMode())
-Invalidate();
+SelectItem( 1 );
 }
 
 // Tell the accessible object that we got the focus.
@@ -710,10 +705,9 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId )
 }
 
 // reset variables
-if ( (mnHighItemId == nItemId) || (mnSelItemId == nItemId) )
+if ( (mnHighItemId == nItemId) )
 {
 mnHighItemId= 0;
-mnSelItemId = 0;
 }
 
 CalculateItemPositions();
@@ -729,7 +723,6 @@ void ThumbnailView::Clear()
 // reset variables
 mnFirstLine = 0;
 mnHighItemId= 0;
-mnSelItemId = 0;
 
 CalculateItemPositions();
 
@@ -777,19 +770,18 @@ void ThumbnailView::setItemDimensions(long itemWidth, 
long thumbnailHeight, long
 
 void ThumbnailView::SelectItem( sal_uInt16 nItemId )
 {
-size_t nItemPos = 0;
+size_t nItemPos = GetItemPos( nItemId );
+if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
+return;
 
-if ( nItemId )
+ThumbnailViewItem* pItem = mItemList[nItemPos];
+if (!pItem-isSelected())
 {
-nItemPos = GetItemPos( nItemId );
-if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND )
-return;
-}
+mItemList[nItemPos]-setSelection(true);
+maItemStateHdl.Call(mItemList[nItemPos]);
 
-if ( mnSelItemId != nItemId)
-{
-sal_uInt16 nOldItem = mnSelItemId ? mnSelItemId : 1;
-mnSelItemId = nItemId;
+if (IsReallyVisible()  IsUpdateMode())
+Invalidate();
 
 bool bNewOut = IsReallyVisible()  IsUpdateMode();
 
@@ -815,44 +807,8 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId )
 
 if( ImplHasAccessibleListeners() )
 {
-// focus event (deselect)
-if( nOldItem )
-{
-const size_t nPos = GetItemPos( nItemId );
-
-if( nPos != THUMBNAILVIEW_ITEM_NOTFOUND )
-{
-ThumbnailViewAcc* pItemAcc = 
ThumbnailViewAcc::getImplementation(
-mItemList[nPos]-GetAccessible( 
mbIsTransientChildrenDisabled ) );
-
-if( pItemAcc )
-{
-::com::sun::star::uno::Any aOldAny, aNewAny;
-if( !mbIsTransientChildrenDisabled )
-{
-aOldAny = ::com::sun::star::uno::Reference 
::com::sun::star::uno::XInterface (
-

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-03-19 Thread Cédric Bosdonnat
 sfx2/inc/templatedlg.hxx|1 -
 sfx2/source/doc/templatedlg.cxx |   13 -
 sfx2/source/doc/templatedlg.src |6 --
 3 files changed, 4 insertions(+), 16 deletions(-)

New commits:
commit 2c8202b611dcaab72c0ead20339ce4daacca0810
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Tue Mar 19 10:13:16 2013 +0100

Template Manager: fixed TabStops for the toolbars

Change-Id: Iab2dd8ef71fd84e9d147d90e9cad46d69a8fe650
(cherry picked from commit eff94128b8434501a6f9c26a5a47cfd7d408f472)
Reviewed-on: https://gerrit.libreoffice.org/2845
Reviewed-by: Noel Power noel.po...@suse.com
Tested-by: Noel Power noel.po...@suse.com

diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 095292e..0d7eb78 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -128,7 +128,6 @@ private:
 
 TabControl maTabControl;
 TabPage maTabPage;
-Control *mpToolbars;
 
 Edit *mpSearchEdit;
 ToolBox *mpViewBar;
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index f0a16b35..e9f85eb 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -113,11 +113,10 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window 
*parent)
 : ModelessDialog(parent, SfxResId(DLG_TEMPLATE_MANAGER)),
   maTabControl(this,SfxResId(TAB_CONTROL)),
   maTabPage(maTabControl, SfxResId(TAB_TEMPLATE_MANAGER)),
-  mpToolbars( new Control(maTabPage,SfxResId(TOOLBARS))),
   mpSearchEdit(new Edit(maTabPage,WB_HIDE | WB_BORDER)),
-  mpViewBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_VIEW))),
-  mpActionBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_ACTION))),
-  mpTemplateBar( new ToolBox(mpToolbars, SfxResId(TBX_ACTION_TEMPLATES))),
+  mpViewBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_VIEW))),
+  mpActionBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_ACTION))),
+  mpTemplateBar( new ToolBox(maTabPage, SfxResId(TBX_ACTION_TEMPLATES))),
   mpSearchView(new TemplateSearchView(maTabPage)),
   maView(new TemplateLocalView(maTabPage,SfxResId(TEMPLATE_VIEW))),
   mpOnlineView(new TemplateRemoteView(maTabPage, WB_VSCROLL,false)),
@@ -239,7 +238,6 @@ SfxTemplateManagerDlg::~SfxTemplateManagerDlg ()
 delete mpTemplateDefaultMenu;
 delete mpActionMenu;
 delete mpRepositoryMenu;
-delete mpToolbars;
 }
 
 void SfxTemplateManagerDlg::setSaveMode(bool bMode)
@@ -318,9 +316,6 @@ void SfxTemplateManagerDlg::Resize()
 
 long nToolbarsHeight = std::max(std::max(aViewSize.getHeight(), 
aActionSize.getHeight()), aTemplateSize.getHeight());
 
-Size aToolbarsSize (aWinSize.getWidth(), nToolbarsHeight);
-mpToolbars-SetSizePixel(aToolbarsSize);
-
 aActionSize.setWidth(3*aActionSize.getWidth());
 
aViewSize.setWidth(aWinSize.getWidth()-aActionSize.getWidth()-mpViewBar-GetPosPixel().X());
 aTemplateSize.setWidth(aWinSize.getWidth());
@@ -334,7 +329,7 @@ void SfxTemplateManagerDlg::Resize()
 
 // Set view position below toolbox
 Point aViewPos = maView-GetPosPixel();
-aViewPos.setY(aToolbarsSize.getHeight());
+aViewPos.setY(nToolbarsHeight);
 aViewPos.setX(0);
 Size aThumbSize(aWinSize.getWidth(), 
maTabControl.GetTabPageSizePixel().getWidth() - aViewPos.getY());
 maView-SetPosSizePixel(aViewPos, aThumbSize);
diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src
index 6928ef1..60c2857 100644
--- a/sfx2/source/doc/templatedlg.src
+++ b/sfx2/source/doc/templatedlg.src
@@ -106,12 +106,6 @@ TabPage TAB_TEMPLATE_MANAGER
 Size = MAP_APPFONT( 290, 220 );
 Hide = TRUE;
 
-Control TOOLBARS
-{
-Size = MAP_APPFONT( 290 , 20 );
-TabStop = False;
-};
-
 Control TEMPLATE_VIEW
 {
 Pos = MAP_APPFONT( 0, 20 );
___
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits


[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-02-13 Thread Cédric Bosdonnat
 sfx2/inc/sfx2/doctempl.hxx|   15 +++
 sfx2/inc/sfx2/templatelocalview.hxx   |2 
 sfx2/inc/sfx2/templateview.hxx|3 
 sfx2/inc/sfx2/templateviewitem.hxx|4 
 sfx2/inc/sfx2/thumbnailview.hxx   |2 
 sfx2/inc/sfx2/thumbnailviewitem.hxx   |9 ++
 sfx2/source/control/templatelocalview.cxx |   21 
 sfx2/source/control/templateview.cxx  |   10 ++
 sfx2/source/control/templateviewitem.cxx  |4 
 sfx2/source/control/thumbnailview.cxx |9 ++
 sfx2/source/control/thumbnailviewitem.cxx |  128 +-
 sfx2/source/doc/doctempl.cxx  |   55 
 12 files changed, 257 insertions(+), 5 deletions(-)

New commits:
commit 0b1deadc72eca6f782a5bb3a180d6f1d95f52721
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Mon Feb 11 15:30:16 2013 +0100

Templates Manager: UI for renaming templates and folders, fdo#60579

After thinking this was a feature regression, I finally discovered that
the old template manager couldn't rename templates. This commit is
bringing back some previously unused code dropped in an ealier commit.

Even though this is a UI change, no new string is added by this commit.

Conflicts:
sfx2/inc/sfx2/templateview.hxx
sfx2/source/control/templatelocalview.cxx
sfx2/source/control/templateview.cxx

Change-Id: I2e4a89c2e68f7e04b0fca3fc161920505ac715b4
Reviewed-on: https://gerrit.libreoffice.org/2108
Reviewed-by: Miklos Vajna vmik...@suse.cz
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/doctempl.hxx b/sfx2/inc/sfx2/doctempl.hxx
index 507117c..b9ca56d 100644
--- a/sfx2/inc/sfx2/doctempl.hxx
+++ b/sfx2/inc/sfx2/doctempl.hxx
@@ -96,6 +96,21 @@ public:
 sal_BoolInsertDir(const String rText, sal_uInt16 nRegion);
 sal_BoolSetName(const String rName, sal_uInt16 nRegion, 
sal_uInt16 nIdx);
 
+/** Change the name of an entry or a directory
+
+\param rName
+The new name to set
+\param nRegion
+The id of the region to rename or containing the template to rename
+\param nIdx
+The id of the template to rename or USHRT_MAX to rename the region.
+
+\return
+sal_True if the action could be performed, sal_False otherwise
+
+*/
+sal_BoolSetName(const rtl::OUString rName, sal_uInt16 
nRegion, sal_uInt16 nIdx);
+
 sal_BoolCopyTo(sal_uInt16 nRegion, sal_uInt16 nIdx, const 
String rName) const;
 sal_BoolCopyFrom(sal_uInt16 nRegion, sal_uInt16 nIdx, String 
rName);
 
diff --git a/sfx2/inc/sfx2/templatelocalview.hxx 
b/sfx2/inc/sfx2/templatelocalview.hxx
index e11c42b..dbf00ef 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -71,6 +71,8 @@ public:
 
 bool isTemplateNameUnique (const sal_uInt16 nRegionItemId, const OUString 
rName) const;
 
+virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
+
 private:
 
 virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem);
diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx
index 6e81ea4..07b8487 100644
--- a/sfx2/inc/sfx2/templateview.hxx
+++ b/sfx2/inc/sfx2/templateview.hxx
@@ -39,6 +39,8 @@ public:
 void setDblClickHdl (const Link rLink) { maDblClickHdl = rLink; }
 
 void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); }
+void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = 
pMasterView; }
+virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
 
 protected:
 
@@ -47,6 +49,7 @@ protected:
 virtual void OnItemDblClicked (ThumbnailViewItem *pItem);
 
 private:
+TemplateAbstractView* mpMasterView;
 
 ControlmaButtons;
 PushButton maAllButton;
diff --git a/sfx2/inc/sfx2/templateviewitem.hxx 
b/sfx2/inc/sfx2/templateviewitem.hxx
index b19a060..0a3cb3e 100644
--- a/sfx2/inc/sfx2/templateviewitem.hxx
+++ b/sfx2/inc/sfx2/templateviewitem.hxx
@@ -42,6 +42,10 @@ public:
 
 virtual void Paint (drawinglayer::processor2d::BaseProcessor2D *pProcessor,
 const ThumbnailItemAttributes *pAttrs);
+
+sal_uInt16mnRegionId;
+sal_uInt16mnDocId;
+
 private:
 
 rtl::OUString maPath;
diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index 9548bd1..a33e762 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -238,6 +238,8 @@ public:
 
 virtual void Resize();
 
+virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
+
 protected:
 
 virtual void MouseButtonDown( const MouseEvent rMEvt );
diff --git a/sfx2/inc/sfx2/thumbnailviewitem.hxx 
b/sfx2/inc/sfx2/thumbnailviewitem.hxx
index 18b7eae..2acc8de 100644
--- a/sfx2/inc/sfx2/thumbnailviewitem.hxx
+++ 

[Libreoffice-commits] core.git: Branch 'libreoffice-4-0' - sfx2/inc sfx2/source

2013-02-13 Thread Cédric Bosdonnat
 sfx2/inc/sfx2/templatelocalview.hxx   |2 +-
 sfx2/inc/sfx2/templateview.hxx|2 +-
 sfx2/inc/sfx2/thumbnailview.hxx   |2 +-
 sfx2/source/control/templatelocalview.cxx |4 ++--
 sfx2/source/control/templateview.cxx  |5 +++--
 sfx2/source/control/thumbnailview.cxx |3 ++-
 sfx2/source/control/thumbnailviewitem.cxx |4 ++--
 7 files changed, 12 insertions(+), 10 deletions(-)

New commits:
commit 1a6ae8e83df22deca193c58bc940d1dc265eb4b8
Author: Cédric Bosdonnat cedric.bosdon...@free.fr
Date:   Mon Feb 11 18:09:45 2013 +0100

Templates Manager: if the title can't be edited, don't update it in UI

Change-Id: Id16431fb3517c831a5e81ff72fafaa8569f99ef1
Reviewed-on: https://gerrit.libreoffice.org/2109
Reviewed-by: Tor Lillqvist t...@iki.fi
Tested-by: Miklos Vajna vmik...@suse.cz

diff --git a/sfx2/inc/sfx2/templatelocalview.hxx 
b/sfx2/inc/sfx2/templatelocalview.hxx
index dbf00ef..78cf547 100644
--- a/sfx2/inc/sfx2/templatelocalview.hxx
+++ b/sfx2/inc/sfx2/templatelocalview.hxx
@@ -71,7 +71,7 @@ public:
 
 bool isTemplateNameUnique (const sal_uInt16 nRegionItemId, const OUString 
rName) const;
 
-virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
+virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
 
 private:
 
diff --git a/sfx2/inc/sfx2/templateview.hxx b/sfx2/inc/sfx2/templateview.hxx
index 07b8487..3e2a7c8 100644
--- a/sfx2/inc/sfx2/templateview.hxx
+++ b/sfx2/inc/sfx2/templateview.hxx
@@ -40,7 +40,7 @@ public:
 
 void setCloseHdl (const Link rLink) { maAllButton.SetClickHdl(rLink); }
 void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = 
pMasterView; }
-virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
+virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
 
 protected:
 
diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx
index a33e762..8eb9426 100644
--- a/sfx2/inc/sfx2/thumbnailview.hxx
+++ b/sfx2/inc/sfx2/thumbnailview.hxx
@@ -238,7 +238,7 @@ public:
 
 virtual void Resize();
 
-virtual void renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
+virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
 
 protected:
 
diff --git a/sfx2/source/control/templatelocalview.cxx 
b/sfx2/source/control/templatelocalview.cxx
index 2bbf0d0..ca8856e 100644
--- a/sfx2/source/control/templatelocalview.cxx
+++ b/sfx2/source/control/templatelocalview.cxx
@@ -605,7 +605,7 @@ void TemplateLocalView::OnItemDblClicked (ThumbnailViewItem 
*pRegionItem)
 showOverlay(true);
 }
 
-void TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString 
sNewTitle)
+bool TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString 
sNewTitle)
 {
 sal_uInt16 nRegionId = 0;
 sal_uInt16 nDocId = USHRT_MAX;
@@ -620,7 +620,7 @@ void TemplateLocalView::renameItem(ThumbnailViewItem* 
pItem, rtl::OUString sNewT
 {
 nRegionId = pContainerItem-mnId - 1;
 }
-mpDocTemplates-SetName( sNewTitle, nRegionId, nDocId );
+return mpDocTemplates-SetName( sNewTitle, nRegionId, nDocId );
 }
 
 static void lcl_updateThumbnails (TemplateContainerItem *pItem)
diff --git a/sfx2/source/control/templateview.cxx 
b/sfx2/source/control/templateview.cxx
index 90e86ec..615465d 100644
--- a/sfx2/source/control/templateview.cxx
+++ b/sfx2/source/control/templateview.cxx
@@ -105,10 +105,11 @@ void TemplateView::OnItemDblClicked(ThumbnailViewItem 
*pItem)
 maDblClickHdl.Call(pItem);
 }
 
-void TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString 
sNewTitle)
+bool TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString 
sNewTitle)
 {
 if (mpMasterView)
-mpMasterView-renameItem(pItem, sNewTitle);
+return mpMasterView-renameItem(pItem, sNewTitle);
+return false;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/control/thumbnailview.cxx 
b/sfx2/source/control/thumbnailview.cxx
index 9a29381..c996f0f 100644
--- a/sfx2/source/control/thumbnailview.cxx
+++ b/sfx2/source/control/thumbnailview.cxx
@@ -980,9 +980,10 @@ void ThumbnailView::sortItems (const boost::functionbool 
(const ThumbnailViewIt
 Invalidate();
 }
 
-void ThumbnailView::renameItem(ThumbnailViewItem*, rtl::OUString)
+bool ThumbnailView::renameItem(ThumbnailViewItem*, rtl::OUString)
 {
 // Do nothing by default
+return false;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sfx2/source/control/thumbnailviewitem.cxx 
b/sfx2/source/control/thumbnailviewitem.cxx
index c228bab..2a83bc1 100644
--- a/sfx2/source/control/thumbnailviewitem.cxx
+++ b/sfx2/source/control/thumbnailviewitem.cxx
@@ -187,8 +187,8 @@ void ThumbnailViewItem::updateTitleEditSize()
 
 void ThumbnailViewItem::setTitle (const rtl::OUString rTitle)
 {
-mrParent.renameItem(this, rTitle);
-