Kaydet (Commit) 036c783b authored tarafından Rafael Dominguez's avatar Rafael Dominguez Kaydeden (comit) Bosdonnat Cedric

Separate template region ids from thumbnail ids.

- Update all actions to use the new system.

Change-Id: I22da25a4bbba4604f5df42f440e6532076d39457
Reviewed-on: https://gerrit.libreoffice.org/3075Reviewed-by: 's avatarBosdonnat Cedric <cedric.bosdonnat@free.fr>
Tested-by: 's avatarBosdonnat Cedric <cedric.bosdonnat@free.fr>
üst 4653d73c
...@@ -17,6 +17,7 @@ class TemplateContainerItem : public ThumbnailViewItem ...@@ -17,6 +17,7 @@ class TemplateContainerItem : public ThumbnailViewItem
{ {
public: public:
sal_uInt16 mnRegionId;
BitmapEx maPreview2; BitmapEx maPreview2;
BitmapEx maPreview3; BitmapEx maPreview3;
BitmapEx maPreview4; BitmapEx maPreview4;
......
...@@ -42,6 +42,8 @@ public: ...@@ -42,6 +42,8 @@ public:
virtual void showRegion (ThumbnailViewItem *pItem); virtual void showRegion (ThumbnailViewItem *pItem);
sal_uInt16 getCurRegionItemId () const;
sal_uInt16 getRegionId (size_t pos) const; sal_uInt16 getRegionId (size_t pos) const;
std::vector<OUString> getFolderNames (); std::vector<OUString> getFolderNames ();
......
...@@ -192,6 +192,8 @@ public: ...@@ -192,6 +192,8 @@ public:
sal_uInt16 GetItemId( const Point& rPos ) const; sal_uInt16 GetItemId( const Point& rPos ) const;
sal_uInt16 getNextItemId () const;
long GetItemWidth() const { return mnItemWidth; } long GetItemWidth() const { return mnItemWidth; }
long GetItemHeight() const { return mnItemHeight; } long GetItemHeight() const { return mnItemHeight; }
......
...@@ -375,7 +375,7 @@ void TemplateAbstractView::OnItemDblClicked (ThumbnailViewItem *pItem) ...@@ -375,7 +375,7 @@ void TemplateAbstractView::OnItemDblClicked (ThumbnailViewItem *pItem)
{ {
// Fill templates // Fill templates
mnCurRegionId = pContainerItem->mnId-1; mnCurRegionId = pContainerItem->mnRegionId+1;
maCurRegionName = pContainerItem->maTitle; maCurRegionName = pContainerItem->maTitle;
maFTName.SetText(maCurRegionName); maFTName.SetText(maCurRegionName);
showRegion(pItem); showRegion(pItem);
......
...@@ -896,6 +896,11 @@ sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const ...@@ -896,6 +896,11 @@ sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const
return 0; return 0;
} }
sal_uInt16 ThumbnailView::getNextItemId() const
{
return mItemList.empty() ? 1 : mItemList.back()->mnId + 1;
}
void ThumbnailView::setItemMaxTextLength(sal_uInt32 nLength) void ThumbnailView::setItemMaxTextLength(sal_uInt32 nLength)
{ {
mpItemAttrs->nMaxTextLenght = nLength; mpItemAttrs->nMaxTextLenght = nLength;
......
...@@ -925,7 +925,7 @@ void SfxTemplateManagerDlg::OnTemplateExport() ...@@ -925,7 +925,7 @@ void SfxTemplateManagerDlg::OnTemplateExport()
// export templates from the current view // export templates from the current view
sal_uInt16 i = 1; sal_uInt16 i = 1;
sal_uInt16 nRegionItemId = maView->getCurRegionId() + 1; sal_uInt16 nRegionItemId = maView->getCurRegionItemId();
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter = maSelTemplates.begin(); std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter = maSelTemplates.begin();
for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter, ++i) for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter, ++i)
...@@ -1087,10 +1087,12 @@ void SfxTemplateManagerDlg::OnTemplateDelete () ...@@ -1087,10 +1087,12 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
} }
else else
{ {
sal_uInt16 nRegionItemId = maView->getCurRegionItemId();
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter; std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();) for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();)
{ {
if (maView->removeTemplate((*pIter)->mnId,maView->getCurRegionId()+1)) if (maView->removeTemplate((*pIter)->mnId,nRegionItemId))
maSelTemplates.erase(pIter++); maSelTemplates.erase(pIter++);
else else
{ {
...@@ -1159,11 +1161,11 @@ void SfxTemplateManagerDlg::OnFolderDelete() ...@@ -1159,11 +1161,11 @@ void SfxTemplateManagerDlg::OnFolderDelete()
OUString aFolderList; OUString aFolderList;
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter; std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = maSelFolders.begin(); pIter != maSelFolders.end();) std::set<const ThumbnailViewItem*,selection_cmp_fn> aSelFolders = maSelFolders; //Copy to avoid invalidating an iterator
for (pIter = aSelFolders.begin(); pIter != aSelFolders.end(); ++pIter)
{ {
if (maView->removeRegion((*pIter)->mnId)) if (!maView->removeRegion((*pIter)->mnId))
maSelFolders.erase(pIter++);
else
{ {
if (aFolderList.isEmpty()) if (aFolderList.isEmpty())
aFolderList = (*pIter)->maTitle; aFolderList = (*pIter)->maTitle;
...@@ -1174,12 +1176,6 @@ void SfxTemplateManagerDlg::OnFolderDelete() ...@@ -1174,12 +1176,6 @@ void SfxTemplateManagerDlg::OnFolderDelete()
} }
} }
if (maSelFolders.empty())
{
mpViewBar->HideItem(TBI_TEMPLATE_IMPORT);
mpViewBar->HideItem(TBI_TEMPLATE_FOLDER_DEL);
}
if (!aFolderList.isEmpty()) if (!aFolderList.isEmpty())
{ {
OUString aMsg( SfxResId(STR_MSG_ERROR_DELETE_FOLDER).toString() ); OUString aMsg( SfxResId(STR_MSG_ERROR_DELETE_FOLDER).toString() );
...@@ -1371,7 +1367,7 @@ void SfxTemplateManagerDlg::localMoveTo(sal_uInt16 nMenuId) ...@@ -1371,7 +1367,7 @@ void SfxTemplateManagerDlg::localMoveTo(sal_uInt16 nMenuId)
OUString aTemplateList; OUString aTemplateList;
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter; std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = maSelFolders.begin(); pIter != maSelFolders.end(); ++pIter) for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter)
{ {
if (aTemplateList.isEmpty()) if (aTemplateList.isEmpty())
aTemplateList = (*pIter)->maTitle; aTemplateList = (*pIter)->maTitle;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment