sfx2/inc/sfx2/templatelocalview.hxx | 2 + sfx2/source/control/templatelocalview.cxx | 15 +++++++-- sfx2/source/control/thumbnailview.cxx | 42 ++++++++++++++++--------- sfx2/source/control/thumbnailviewacc.cxx | 2 - sfx2/source/doc/templatedlg.cxx | 50 +++++++++++++++++++++--------- sfx2/source/doc/templatedlg.src | 12 +++++++ 6 files changed, 91 insertions(+), 32 deletions(-)
New commits: commit ff7a40c588bc37e5d6bcaf197ff46d86bdbd93a7 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 22:26:28 2013 -0430 fdo#61389 - Display Properties, Set as default actions in save mode. It dosent make sense to display delete action since we are saving a template same for edit. Change-Id: I5532d3a7a7f5e6200419c2b7159c4d6fe40d16ea diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index d589454..9793d3c 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -308,6 +308,14 @@ void SfxTemplateManagerDlg::setSaveMode(bool bMode) mpViewBar->ShowItem(TBI_TEMPLATE_SAVE); mpViewBar->HideItem(TBI_TEMPLATE_IMPORT); mpViewBar->HideItem(TBI_TEMPLATE_REPOSITORY); + + mpTemplateBar->ShowItem(TBI_TEMPLATE_SAVE); + mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES); + mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT); + mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT); + mpTemplateBar->HideItem(TBI_TEMPLATE_MOVE); + mpTemplateBar->HideItem(TBI_TEMPLATE_EXPORT); + mpTemplateBar->HideItem(TBI_TEMPLATE_DELETE); } else { @@ -858,16 +866,22 @@ void SfxTemplateManagerDlg::OnTemplateState (const ThumbnailViewItem *pItem) if (pItem->isSelected()) { - if (!mbIsSaveMode) + if (maSelTemplates.empty()) { - if (maSelTemplates.empty()) + mpViewBar->Show(false); + mpTemplateBar->Show(); + } + else if (maSelTemplates.size() != 1 || !bInSelection) + { + if (!mbIsSaveMode) { - mpViewBar->Show(false); - mpTemplateBar->Show(); + mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT); + mpTemplateBar->HideItem(TBI_TEMPLATE_PROPERTIES); + mpTemplateBar->HideItem(TBI_TEMPLATE_DEFAULT); } - else if (maSelTemplates.size() != 1 || !bInSelection) + else { - mpTemplateBar->HideItem(TBI_TEMPLATE_EDIT); + mpTemplateBar->HideItem(TBI_TEMPLATE_SAVE); mpTemplateBar->HideItem(TBI_TEMPLATE_PROPERTIES); mpTemplateBar->HideItem(TBI_TEMPLATE_DEFAULT); } @@ -882,16 +896,22 @@ void SfxTemplateManagerDlg::OnTemplateState (const ThumbnailViewItem *pItem) { maSelTemplates.erase(pItem); - if (!mbIsSaveMode) + if (maSelTemplates.empty()) + { + mpTemplateBar->Show(false); + mpViewBar->Show(); + } + else if (maSelTemplates.size() == 1) { - if (maSelTemplates.empty()) + if (!mbIsSaveMode) { - mpTemplateBar->Show(false); - mpViewBar->Show(); + mpTemplateBar->ShowItem(TBI_TEMPLATE_EDIT); + mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES); + mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT); } - else if (maSelTemplates.size() == 1) + else { - mpTemplateBar->ShowItem(TBI_TEMPLATE_EDIT); + mpTemplateBar->ShowItem(TBI_TEMPLATE_SAVE); mpTemplateBar->ShowItem(TBI_TEMPLATE_PROPERTIES); mpTemplateBar->ShowItem(TBI_TEMPLATE_DEFAULT); } diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index 1761118..27c7145 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -229,6 +229,18 @@ TabPage TAB_TEMPLATE_MANAGER { ToolBoxItem { + Identifier = TBI_TEMPLATE_SAVE; + Hide = TRUE; + Text [ en-US ] = "Save"; + + ItemImage = Image + { + ImageBitmap = Bitmap { File = "actionview028.png" ; }; + }; + }; + + ToolBoxItem + { Identifier = TBI_TEMPLATE_EDIT; Text [ en-US ] = "Edit"; commit ebebaf709af8bdfaf65cb7747c38fadc9ca02259 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 21:46:11 2013 -0430 Display correct region name in error messages. Change-Id: I1e3eddf9be2a75faabf0b0be91f30d7e8d43d3e4 diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index bd1b431..6cefaf1 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -50,6 +50,8 @@ public: OUString getRegionName(const sal_uInt16 nRegionId) const; + OUString getRegionItemName(const sal_uInt16 nItemId) const; + std::vector<OUString> getFolderNames (); std::vector<TemplateItemProperties> diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index b07359e..5defbbf 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -194,6 +194,17 @@ OUString TemplateLocalView::getRegionName(const sal_uInt16 nRegionId) const return mpDocTemplates->GetRegionName(nRegionId); } +OUString TemplateLocalView::getRegionItemName(const sal_uInt16 nItemId) const +{ + for (size_t i = 0; i < maRegions.size(); ++i) + { + if (maRegions[i]->mnId == nItemId) + return maRegions[i]->maTitle; + } + + return OUString(); +} + std::vector<OUString> TemplateLocalView::getFolderNames() { size_t n = maRegions.size(); diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index b53aee3..d589454 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -1490,7 +1490,7 @@ void SfxTemplateManagerDlg::localMoveTo(sal_uInt16 nMenuId) aTemplateList = aTemplateList + "\n" + (*pIter)->maTitle; } - OUString aDst = maView->GetItemText(nItemId); + OUString aDst = maView->getRegionItemName(nItemId); OUString aMsg(SfxResId(STR_MSG_ERROR_LOCAL_MOVE).toString()); aMsg = aMsg.replaceFirst("$1",aDst); ErrorBox(this, WB_OK,aMsg.replaceFirst( "$2",aTemplateList)).Execute(); @@ -1546,7 +1546,7 @@ void SfxTemplateManagerDlg::remoteMoveTo(const sal_uInt16 nMenuId) { OUString aMsg(SfxResId(STR_MSG_ERROR_REMOTE_MOVE).toString()); aMsg = aMsg.replaceFirst("$1",mpOnlineView->getCurRegionName()); - aMsg = aMsg.replaceFirst("$2",maView->GetItemText(nItemId)); + aMsg = aMsg.replaceFirst("$2",maView->getRegionItemName(nItemId)); ErrorBox(this,WB_OK,aMsg.replaceFirst("$1",aTemplateList)).Execute(); } } @@ -1600,7 +1600,7 @@ void SfxTemplateManagerDlg::localSearchMoveTo(sal_uInt16 nMenuId) if (!aTemplateList.isEmpty()) { - OUString aDst = maView->GetItemText(nItemId); + OUString aDst = maView->getRegionItemName(nItemId); OUString aMsg(SfxResId(STR_MSG_ERROR_LOCAL_MOVE).toString()); aMsg = aMsg.replaceFirst("$1",aDst); ErrorBox(this, WB_OK,aMsg.replaceFirst( "$2",aTemplateList)).Execute(); commit e93001816144dbc6edcbaffdb076c8a3d5cf05e1 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 21:17:51 2013 -0430 Fetch thumbnails position and id from filter array instead. Change-Id: I5d49bf90e9eab402f2c6e58ca46302e2a2c72c84 diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index fd4ae27..f2643a6 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -967,8 +967,20 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId ) if ( nPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - if ( nPos < mItemList.size() ) { - ValueItemList::iterator it = mItemList.begin(); + if ( nPos < mFilteredItemList.size() ) { + + // delete item from the thumbnail list + for (size_t i = 0, n = mItemList.size(); i < n; ++i) + { + if (mItemList[i]->mnId == nItemId) + { + mItemList.erase(mItemList.begin()+i); + break; + } + } + + // delete item from the filter item list + ValueItemList::iterator it = mFilteredItemList.begin(); ::std::advance( it, nPos ); if ((*it)->isSelected()) @@ -978,7 +990,8 @@ void ThumbnailView::RemoveItem( sal_uInt16 nItemId ) } delete *it; - mItemList.erase( it ); + mFilteredItemList.erase( it ); + mpStartSelRange = mFilteredItemList.end(); } // reset variables @@ -1022,8 +1035,8 @@ void ThumbnailView::updateItems (const std::vector<ThumbnailViewItem*> &items) size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const { - for ( size_t i = 0, n = mItemList.size(); i < n; ++i ) { - if ( mItemList[i]->mnId == nItemId ) { + for ( size_t i = 0, n = mFilteredItemList.size(); i < n; ++i ) { + if ( mFilteredItemList[i]->mnId == nItemId ) { return i; } } @@ -1032,7 +1045,7 @@ size_t ThumbnailView::GetItemPos( sal_uInt16 nItemId ) const sal_uInt16 ThumbnailView::GetItemId( size_t nPos ) const { - return ( nPos < mItemList.size() ) ? mItemList[nPos]->mnId : 0 ; + return ( nPos < mFilteredItemList.size() ) ? mFilteredItemList[nPos]->mnId : 0 ; } sal_uInt16 ThumbnailView::GetItemId( const Point& rPos ) const @@ -1069,11 +1082,11 @@ void ThumbnailView::SelectItem( sal_uInt16 nItemId ) if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; if (!pItem->isSelected()) { - mItemList[nItemPos]->setSelection(true); - maItemStateHdl.Call(mItemList[nItemPos]); + pItem->setSelection(true); + maItemStateHdl.Call(pItem); if (IsReallyVisible() && IsUpdateMode()) Invalidate(); @@ -1134,11 +1147,11 @@ void ThumbnailView::DeselectItem( sal_uInt16 nItemId ) if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; if (pItem->isSelected()) { - mItemList[nItemPos]->setSelection(false); - maItemStateHdl.Call(mItemList[nItemPos]); + pItem->setSelection(false); + maItemStateHdl.Call(pItem); if (IsReallyVisible() && IsUpdateMode()) Invalidate(); @@ -1153,7 +1166,7 @@ bool ThumbnailView::IsItemSelected( sal_uInt16 nItemId ) const if ( nItemPos == THUMBNAILVIEW_ITEM_NOTFOUND ) return false; - ThumbnailViewItem* pItem = mItemList[nItemPos]; + ThumbnailViewItem* pItem = mFilteredItemList[nItemPos]; return pItem->isSelected(); } @@ -1179,7 +1192,7 @@ OUString ThumbnailView::GetItemText( sal_uInt16 nItemId ) const size_t nPos = GetItemPos( nItemId ); if ( nPos != THUMBNAILVIEW_ITEM_NOTFOUND ) - return mItemList[nPos]->maTitle; + return mFilteredItemList[nPos]->maTitle; return OUString(); } diff --git a/sfx2/source/control/thumbnailviewacc.cxx b/sfx2/source/control/thumbnailviewacc.cxx index 2d21a5b..fc43115 100644 --- a/sfx2/source/control/thumbnailviewacc.cxx +++ b/sfx2/source/control/thumbnailviewacc.cxx @@ -348,7 +348,7 @@ uno::Reference< accessibility::XAccessible > SAL_CALL ThumbnailViewAcc::getAcces if( THUMBNAILVIEW_ITEM_NONEITEM != nItemPos ) { - ThumbnailViewItem *const pItem = mpParent->mItemList[nItemPos]; + ThumbnailViewItem *const pItem = mpParent->mFilteredItemList[nItemPos]; xRet = pItem->GetAccessible( mbIsTransientChildrenDisabled ); } } commit d14e60248e56e5811fca3828b527a2ef2180bf98 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 21:16:55 2013 -0430 Update template item path when moving it to another folder. Change-Id: I0ea9bf77b2393240e5074000a3692a4eaac11cf0 diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index 28b51cd..b07359e 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -398,7 +398,7 @@ bool TemplateLocalView::moveTemplate (const ThumbnailViewItem *pItem, const sal_ aTemplateItem.nDocId = nTargetIdx; aTemplateItem.nRegionId = nTargetRegion; aTemplateItem.aName = pViewItem->maTitle; - aTemplateItem.aPath = pViewItem->getPath(); + aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx); aTemplateItem.aThumbnail = pViewItem->maPreview1; pTarget->maTemplates.push_back(aTemplateItem); @@ -495,7 +495,7 @@ bool TemplateLocalView::moveTemplates(const std::set<const ThumbnailViewItem*, s aTemplateItem.nDocId = nTargetIdx; aTemplateItem.nRegionId = nTargetRegion; aTemplateItem.aName = pViewItem->maTitle; - aTemplateItem.aPath = pViewItem->getPath(); + aTemplateItem.aPath = mpDocTemplates->GetPath(nTargetRegion,nTargetIdx); aTemplateItem.aThumbnail = pViewItem->maPreview1; pTarget->maTemplates.push_back(aTemplateItem); commit 0dcf76e78f4e94d956af7148243fbbec155f598d Author: Rafael Dominguez <venccsra...@gmail.com> Date: Sun Apr 7 18:08:24 2013 -0430 Mark thumbnailview item as unselected when updating filter. Change-Id: I10dd5ee79bf5c39bba4873633b3bf4438c703be0 diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index 051d828..fd4ae27 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -1231,6 +1231,7 @@ void ThumbnailView::filterItems (const boost::function<bool (const ThumbnailView } pItem->show(false); + pItem->setSelection(false); maItemStateHdl.Call(pItem); } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits