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
{
public:
sal_uInt16 mnRegionId;
BitmapEx maPreview2;
BitmapEx maPreview3;
BitmapEx maPreview4;
......
......@@ -42,6 +42,8 @@ public:
virtual void showRegion (ThumbnailViewItem *pItem);
sal_uInt16 getCurRegionItemId () const;
sal_uInt16 getRegionId (size_t pos) const;
std::vector<OUString> getFolderNames ();
......
......@@ -192,6 +192,8 @@ public:
sal_uInt16 GetItemId( const Point& rPos ) const;
sal_uInt16 getNextItemId () const;
long GetItemWidth() const { return mnItemWidth; }
long GetItemHeight() const { return mnItemHeight; }
......
......@@ -375,7 +375,7 @@ void TemplateAbstractView::OnItemDblClicked (ThumbnailViewItem *pItem)
{
// Fill templates
mnCurRegionId = pContainerItem->mnId-1;
mnCurRegionId = pContainerItem->mnRegionId+1;
maCurRegionName = pContainerItem->maTitle;
maFTName.SetText(maCurRegionName);
showRegion(pItem);
......
......@@ -896,6 +896,11 @@ sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const
return 0;
}
sal_uInt16 ThumbnailView::getNextItemId() const
{
return mItemList.empty() ? 1 : mItemList.back()->mnId + 1;
}
void ThumbnailView::setItemMaxTextLength(sal_uInt32 nLength)
{
mpItemAttrs->nMaxTextLenght = nLength;
......
......@@ -925,7 +925,7 @@ void SfxTemplateManagerDlg::OnTemplateExport()
// export templates from the current view
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();
for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end(); ++pIter, ++i)
......@@ -1087,10 +1087,12 @@ void SfxTemplateManagerDlg::OnTemplateDelete ()
}
else
{
sal_uInt16 nRegionItemId = maView->getCurRegionItemId();
std::set<const ThumbnailViewItem*,selection_cmp_fn>::const_iterator pIter;
for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();)
{
if (maView->removeTemplate((*pIter)->mnId,maView->getCurRegionId()+1))
if (maView->removeTemplate((*pIter)->mnId,nRegionItemId))
maSelTemplates.erase(pIter++);
else
{
......@@ -1159,11 +1161,11 @@ void SfxTemplateManagerDlg::OnFolderDelete()
OUString aFolderList;
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))
maSelFolders.erase(pIter++);
else
if (!maView->removeRegion((*pIter)->mnId))
{
if (aFolderList.isEmpty())
aFolderList = (*pIter)->maTitle;
......@@ -1174,12 +1176,6 @@ void SfxTemplateManagerDlg::OnFolderDelete()
}
}
if (maSelFolders.empty())
{
mpViewBar->HideItem(TBI_TEMPLATE_IMPORT);
mpViewBar->HideItem(TBI_TEMPLATE_FOLDER_DEL);
}
if (!aFolderList.isEmpty())
{
OUString aMsg( SfxResId(STR_MSG_ERROR_DELETE_FOLDER).toString() );
......@@ -1371,7 +1367,7 @@ void SfxTemplateManagerDlg::localMoveTo(sal_uInt16 nMenuId)
OUString aTemplateList;
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())
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