diff options
Diffstat (limited to 'sfx2/source/control/templatelocalview.cxx')
-rw-r--r-- | sfx2/source/control/templatelocalview.cxx | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index c1916a44656a..0ba60c0d758b 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -426,94 +426,6 @@ bool TemplateLocalView::removeTemplate (const sal_uInt16 nItemId, const sal_uInt return true; } -bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_uInt16 nSrcItem, - const sal_uInt16 nTargetItem) -{ - TemplateContainerItem *pTarget = nullptr; - TemplateContainerItem *pSrc = nullptr; - - for (auto const & pRegion : maRegions) - { - if (pRegion->mnId == nTargetItem) - pTarget = pRegion.get(); - else if (pRegion->mnId == nSrcItem) - pSrc = pRegion.get(); - } - - if (pTarget && pSrc) - { - sal_uInt16 nSrcRegionId = pSrc->mnRegionId; - sal_uInt16 nTargetRegion = pTarget->mnRegionId; - sal_uInt16 nTargetIdx = mpDocTemplates->GetCount(nTargetRegion); // Next Idx - - const TemplateViewItem *pViewItem = static_cast<const TemplateViewItem*>(pItem); - - bool bCopy = !mpDocTemplates->Move(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem->mnDocId); - - if (bCopy) - { - OUString sQuery = SfxResId(STR_MSG_QUERY_COPY).replaceFirst("$1", pViewItem->maTitle).replaceFirst("$2", - getRegionName(nTargetRegion)); - - std::unique_ptr<weld::MessageDialog> xQueryDlg(Application::CreateMessageDialog(GetDrawingArea(), VclMessageType::Question, VclButtonsType::YesNo, sQuery)); - if (xQueryDlg->run() != RET_YES) - return false; - - if (!mpDocTemplates->Copy(nTargetRegion,nTargetIdx,nSrcRegionId,pViewItem->mnDocId)) - return false; - } - // move template to destination - - TemplateItemProperties aTemplateItem; - aTemplateItem.nId = nTargetIdx + 1; - aTemplateItem.nDocId = nTargetIdx; - aTemplateItem.nRegionId = nTargetRegion; - aTemplateItem.aName = pViewItem->maTitle; - aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx); - aTemplateItem.aRegionName = pViewItem->maHelpText; - aTemplateItem.aThumbnail = pViewItem->maPreview1; - - pTarget->maTemplates.push_back(aTemplateItem); - - if (!bCopy) - { - // remove template from region cached data - - std::vector<TemplateItemProperties>::iterator aIter; - for (aIter = pSrc->maTemplates.begin(); aIter != pSrc->maTemplates.end();) - { - if (aIter->nDocId == pViewItem->mnDocId) - { - aIter = pSrc->maTemplates.erase(aIter); - } - else - { - // Keep region document id synchronized with SfxDocumentTemplates - if (aIter->nDocId > pViewItem->mnDocId) - --aIter->nDocId; - - ++aIter; - } - } - - // Keep view document id synchronized with SfxDocumentTemplates - for (auto const& item : mItemList) - { - auto pTemplateViewItem = static_cast<TemplateViewItem*>(item.get()); - if (pTemplateViewItem->mnDocId > pViewItem->mnDocId) - --pTemplateViewItem->mnDocId; - } - } - - CalculateItemPositions(); - Invalidate(); - - return true; - } - - return false; -} - void TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, selection_cmp_fn> &rItems, const sal_uInt16 nTargetItem) { |