sfx2/inc/sfx2/templatefolderview.hxx | 6 ++- sfx2/inc/sfx2/thumbnailview.hxx | 2 - sfx2/inc/templatedlg.hxx | 2 + sfx2/source/control/templatefolderview.cxx | 28 +++++++++++----- sfx2/source/control/templatesearchview.cxx | 2 - sfx2/source/control/templateview.cxx | 2 - sfx2/source/control/thumbnailview.cxx | 4 +- sfx2/source/doc/templatedlg.cxx | 50 ++++++++++++++++++++++------- sfx2/source/doc/templatedlg.hrc | 4 +- sfx2/source/doc/templatedlg.src | 12 ++++-- 10 files changed, 77 insertions(+), 35 deletions(-)
New commits: commit f8f2296a510612381fc86273d0380133d5929bf0 Author: Rafael Dominguez <[email protected]> Date: Sun Jul 8 19:53:25 2012 -0430 Change OnFolderSelected function name to OnItemSelected. Change-Id: I9a7437e4a11db4c40a4be88c3a3270f0bc813a52 diff --git a/sfx2/inc/sfx2/thumbnailview.hxx b/sfx2/inc/sfx2/thumbnailview.hxx index 18ca2f8..4a45370 100644 --- a/sfx2/inc/sfx2/thumbnailview.hxx +++ b/sfx2/inc/sfx2/thumbnailview.hxx @@ -315,7 +315,7 @@ protected: DECL_DLLPRIVATE_LINK( ImplScrollHdl, ScrollBar* ); DECL_DLLPRIVATE_LINK( ImplTimerHdl, void* ); - DECL_LINK(OnFolderSelected, ThumbnailViewItem*); + DECL_LINK(OnItemSelected, ThumbnailViewItem*); protected: diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index de9c866..1db2f77 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -311,7 +311,7 @@ void TemplateFolderView::Populate () TemplateFolderViewItem* pItem = new TemplateFolderViewItem( *this, this ); pItem->mnId = i+1; pItem->maText = aRegionName; - pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected)); + pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); sal_uInt16 nEntries = mpDocTemplates->GetCount(i); @@ -456,7 +456,7 @@ sal_uInt16 TemplateFolderView::createRegion(const rtl::OUString &rName) TemplateFolderViewItem* pItem = new TemplateFolderViewItem( *this, this ); pItem->mnId = nRegionId+1; pItem->maText = aRegionName; - pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected)); + pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); mItemList.push_back(pItem); diff --git a/sfx2/source/control/templatesearchview.cxx b/sfx2/source/control/templatesearchview.cxx index fa6eabc..5bf2f73 100644 --- a/sfx2/source/control/templatesearchview.cxx +++ b/sfx2/source/control/templatesearchview.cxx @@ -44,7 +44,7 @@ void TemplateSearchView::AppendItem(sal_uInt16 nItemId, sal_uInt16 nRegionId, sa pItem->maPreview1 = rImage; pItem->maText = rStr; pItem->setPath(rPath); - pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected)); + pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); mItemList.push_back(pItem); diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx index a83a568..b804341 100644 --- a/sfx2/source/control/templateview.cxx +++ b/sfx2/source/control/templateview.cxx @@ -119,7 +119,7 @@ void TemplateView::InsertItems (const std::vector<TemplateItemProperties> &rTemp pItem->setPath(pCur->aPath); pItem->setFileType(pCur->aType); pItem->maPreview1 = pCur->aThumbnail; - pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected)); + pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); mItemList.push_back(pItem); } diff --git a/sfx2/source/control/thumbnailview.cxx b/sfx2/source/control/thumbnailview.cxx index b8a962c..d64edf1 100644 --- a/sfx2/source/control/thumbnailview.cxx +++ b/sfx2/source/control/thumbnailview.cxx @@ -540,7 +540,7 @@ void ThumbnailView::ImplEndTracking(const Point& /*rPos*/, bool const /*bCancel* //FIXME TODO } -IMPL_LINK (ThumbnailView, OnFolderSelected, ThumbnailViewItem*, pItem) +IMPL_LINK (ThumbnailView, OnItemSelected, ThumbnailViewItem*, pItem) { maItemStateHdl.Call(pItem); return 0; @@ -804,7 +804,7 @@ void ThumbnailView::InsertItem( sal_uInt16 nItemId, const BitmapEx& rImage, pItem->mnId = nItemId; pItem->maPreview1 = rImage; pItem->maText = rText; - pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnFolderSelected)); + pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected)); ImplInsertItem( pItem, nPos ); } commit fa10ab03bb9f3e796eaa8880d00d116cad9a4225 Author: Rafael Dominguez <[email protected]> Date: Sun Jul 8 19:12:33 2012 -0430 Add an option in toolbar to delete folders when you select them. Change-Id: Iff10ff99340d9680b924c11956dc036a5f2dac4f diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx index e3187c4..c969a2a 100644 --- a/sfx2/inc/sfx2/templatefolderview.hxx +++ b/sfx2/inc/sfx2/templatefolderview.hxx @@ -62,6 +62,8 @@ public: sal_uInt16 createRegion (const rtl::OUString &rName); + bool removeRegion (const sal_uInt16 nItemId); + bool removeTemplate (const sal_uInt16 nItemId); bool moveTemplates (std::set<const ThumbnailViewItem*> &rItems, const sal_uInt16 nTargetItem, bool bCopy); diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 9c5abfb..435b436 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -72,6 +72,7 @@ private: void OnTemplateEdit (); void OnTemplateProperties (); void OnTemplateDelete (); + void OnFolderDelete (); void centerTopButtons (); diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index 63ea12a..de9c866 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -468,6 +468,18 @@ sal_uInt16 TemplateFolderView::createRegion(const rtl::OUString &rName) return true; } +bool TemplateFolderView::removeRegion(const sal_uInt16 nItemId) +{ + sal_uInt16 nRegionId = nItemId - 1; + + if (!mpDocTemplates->Delete(nRegionId,USHRT_MAX)) + return false; + + RemoveItem(nItemId); + + return true; +} + bool TemplateFolderView::removeTemplate (const sal_uInt16 nItemId) { sal_uInt16 nRegionId = mpItemView->getRegionId(); diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 0e7fe29..decb401 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -310,6 +310,9 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,TBXViewHdl) case TBI_TEMPLATE_IMPORT: OnTemplateImport(); break; + case TBI_TEMPLATE_FOLDER_DEL: + OnFolderDelete(); + break; default: break; } @@ -418,7 +421,10 @@ IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pIt if (pItem->isSelected()) { if (maSelFolders.empty()) + { mpViewBar->EnableItem(TBI_TEMPLATE_IMPORT,true); + mpViewBar->ShowItem(TBI_TEMPLATE_FOLDER_DEL); + } maSelFolders.insert(pItem); } @@ -427,7 +433,10 @@ IMPL_LINK(SfxTemplateManagerDlg, TVFolderStateHdl, const ThumbnailViewItem*, pIt maSelFolders.erase(pItem); if (maSelFolders.empty()) + { mpViewBar->EnableItem(TBI_TEMPLATE_IMPORT,false); + mpViewBar->HideItem(TBI_TEMPLATE_FOLDER_DEL); + } } return 0; @@ -762,6 +771,18 @@ void SfxTemplateManagerDlg::OnTemplateDelete () } } +void SfxTemplateManagerDlg::OnFolderDelete() +{ + std::set<const ThumbnailViewItem*>::const_iterator pIter; + for (pIter = maSelFolders.begin(); pIter != maSelFolders.end();) + { + if (maView->removeRegion((*pIter)->mnId)) + maSelFolders.erase(pIter++); + else + ++pIter; + } +} + void SfxTemplateManagerDlg::centerTopButtons() { Point aFirstBtnPos = aButtonAll.GetPosPixel(); diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc index cf94cd3..509b925 100644 --- a/sfx2/source/doc/templatedlg.hrc +++ b/sfx2/source/doc/templatedlg.hrc @@ -38,6 +38,8 @@ #define BTN_TEMPLATE_CLOSE 24 +#define TBI_TEMPLATE_FOLDER_DEL 25 + #define STR_CREATE_TEXT 260 #define STR_CREATE_SHEET 261 #define STR_CREATE_PRESENT 262 diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index c634932..f32e26c 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -195,6 +195,13 @@ ModalDialog DLG_TEMPLATE_MANAGER ImageBitmap = Bitmap { File = "import.png" ; }; }; }; + + ToolBoxItem + { + Identifier = TBI_TEMPLATE_FOLDER_DEL; + Hide = TRUE; + Text [ en-US ] = "Delete"; + }; }; }; commit babc18065fa5185bd0208ce48636b4f6a492ebe5 Author: Rafael Dominguez <[email protected]> Date: Sun Jul 8 16:35:25 2012 -0430 Remove "No folder" option from move menu. - We dont support having folders and template files mixed, so we cant move them to the same folders as templates. Change-Id: I07a519e63fef358d915a1d2c8484c6c2d8940642 diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index e9d57cb..0e7fe29 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -395,7 +395,6 @@ IMPL_LINK(SfxTemplateManagerDlg, TBXDropdownHdl, ToolBox*, pBox) pMoveMenu->InsertSeparator(); pMoveMenu->InsertItem(MNI_MOVE_NEW,SfxResId(STR_MOVE_NEW).toString()); - pMoveMenu->InsertItem(MNI_MOVE_DELETE,SfxResId(STR_MOVE_DELETE).toString()); pMoveMenu->Execute(pBox,pBox->GetItemRect(TBI_TEMPLATE_MOVE), POPUPMENU_EXECUTE_DOWN); @@ -530,17 +529,6 @@ IMPL_LINK(SfxTemplateManagerDlg, MoveMenuSelectHdl, Menu*, pMenu) } } } - else if (nMenuId == MNI_MOVE_DELETE) - { - std::set<const ThumbnailViewItem*>::const_iterator pIter; - for (pIter = maSelTemplates.begin(); pIter != maSelTemplates.end();) - { - if (maView->removeTemplate((*pIter)->mnId)) - maSelTemplates.erase(pIter++); - else - ++pIter; - } - } else { // Try to move the template, if isnt possible try to copy it. diff --git a/sfx2/source/doc/templatedlg.hrc b/sfx2/source/doc/templatedlg.hrc index 8a46b11..cf94cd3 100644 --- a/sfx2/source/doc/templatedlg.hrc +++ b/sfx2/source/doc/templatedlg.hrc @@ -46,11 +46,9 @@ #define STR_ACTION_SORT_NAME 264 #define MNI_MOVE_NEW 265 -#define MNI_MOVE_DELETE 266 #define MNI_MOVE_FOLDER_BASE 267 #define STR_MOVE_NEW 268 -#define STR_MOVE_DELETE 270 #define STR_INPUT_NEW 271 #define IMG_ONLINE_REPOSITORY 100 diff --git a/sfx2/source/doc/templatedlg.src b/sfx2/source/doc/templatedlg.src index f9ce918..c634932 100644 --- a/sfx2/source/doc/templatedlg.src +++ b/sfx2/source/doc/templatedlg.src @@ -40,11 +40,6 @@ String STR_MOVE_NEW Text [ en-US ] = "New folder"; }; -String STR_MOVE_DELETE -{ - Text [ en-US ] = "No folder"; -}; - String STR_INPUT_NEW { Text [ en-US ] = "Enter folder name:"; commit 0088d0362381596f64e4218e1aa8af54b3db36e5 Author: Rafael Dominguez <[email protected]> Date: Sun Jul 8 16:02:24 2012 -0430 Hide template toolbar when we close overlay and templates are selected. Change-Id: I8ccff40fcb7d214ce368d5c3dc9577f76c1b2929 diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index ed607da..e9d57cb 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -272,7 +272,13 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewDrawsHdl) void SfxTemplateManagerDlg::MouseButtonDown( const MouseEvent& rMEvt ) { if (!maView->GetActiveClipRegion().IsInside(rMEvt.GetPosPixel()) && maView->isOverlayVisible()) + { + maSelTemplates.clear(); + mpTemplateBar->Hide(); + mpViewBar->Show(); + maView->showOverlay(false); + } } IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl) @@ -281,9 +287,12 @@ IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl) return 0; } - IMPL_LINK_NOARG(SfxTemplateManagerDlg, CloseOverlayHdl) { + maSelTemplates.clear(); + mpTemplateBar->Hide(); + mpViewBar->Show(); + maView->showOverlay(false); return 0; } commit 7c98ed8f2673c02d3f424e56b7a6f5d887ad89f0 Author: Rafael Dominguez <[email protected]> Date: Sun Jul 8 13:07:11 2012 -0430 Handle close overlay action in template dialog instead of folder view. Change-Id: I1f79afff5ea8a9dec5b8534a73500224135e213b diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx index af12962..e3187c4 100644 --- a/sfx2/inc/sfx2/templatefolderview.hxx +++ b/sfx2/inc/sfx2/templatefolderview.hxx @@ -48,6 +48,8 @@ public: void setOverlayDblClickHdl (const Link &rLink); + void setOverlayCloseHdl (const Link &rLink); + void filterTemplatesByApp (const FILTER_APPLICATION &eApp); std::vector<TemplateItemProperties> @@ -78,8 +80,6 @@ private: DECL_LINK(ChangeNameHdl, TemplateView*); - DECL_LINK(OverlayCloseHdl, void*); - private: bool mbFilteredResults; // Flag keep track if overlay has been filtered so folders can get filtered too afterwards diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index 7b528ae..9c5abfb 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -48,6 +48,7 @@ private: virtual void MouseButtonDown( const MouseEvent& rMEvt ); DECL_LINK(CloseHdl, void*); + DECL_LINK(CloseOverlayHdl, void*); DECL_LINK(OnClickSelectionMode, ImageButton*); diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index 91f0fbb..63ea12a 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -287,7 +287,6 @@ TemplateFolderView::TemplateFolderView ( Window* pParent, const ResId& rResId, b mpItemView->setItemStateHdl(LINK(this,TemplateFolderView,TVTemplateStateHdl)); mpItemView->setChangeNameHdl(LINK(this,TemplateFolderView,ChangeNameHdl)); - mpItemView->setCloseHdl(LINK(this,TemplateFolderView,OverlayCloseHdl)); } TemplateFolderView::~TemplateFolderView() @@ -394,6 +393,11 @@ void TemplateFolderView::setOverlayDblClickHdl(const Link &rLink) mpItemView->setDblClickHdl(rLink); } +void TemplateFolderView::setOverlayCloseHdl(const Link &rLink) +{ + mpItemView->setCloseHdl(rLink); +} + void TemplateFolderView::filterTemplatesByApp (const FILTER_APPLICATION &eApp) { meFilterOption = eApp; @@ -690,12 +694,6 @@ IMPL_LINK(TemplateFolderView, ChangeNameHdl, TemplateView*, pView) return true; } -IMPL_LINK_NOARG(TemplateFolderView, OverlayCloseHdl) -{ - showOverlay(false); - return 0; -} - void lcl_updateThumbnails (TemplateFolderViewItem *pItem) { // Update folder thumbnails diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 2b08cf2..ed607da 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -186,6 +186,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl)); maView->setTemplateStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); maView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); + maView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl)); mpSearchView->SetSizePixel(aThumbSize); mpSearchView->setItemMaxTextLength(ITEM_MAX_TEXT_LENGTH); @@ -280,6 +281,13 @@ IMPL_LINK_NOARG (SfxTemplateManagerDlg, CloseHdl) return 0; } + +IMPL_LINK_NOARG(SfxTemplateManagerDlg, CloseOverlayHdl) +{ + maView->showOverlay(false); + return 0; +} + IMPL_LINK (SfxTemplateManagerDlg, OnClickSelectionMode, ImageButton*, pButton) { maView->setSelectionMode(pButton->GetState() == STATE_CHECK); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
