sfx2/inc/sfx2/templatefolderview.hxx | 5 +++++ sfx2/inc/templatedlg.hxx | 2 ++ sfx2/source/control/templatefolderview.cxx | 17 ++++++++++++++--- sfx2/source/doc/templatedlg.cxx | 6 ++++++ 4 files changed, 27 insertions(+), 3 deletions(-)
New commits: commit 114dde47903b7c174eca934690c1372d4be52330 Author: Rafael Dominguez <[email protected]> Date: Mon Jun 18 23:40:59 2012 -0430 Close overlay when clicking outside. Change-Id: Iee39a99e89881aeaeaca93adfcfce9b51eeaec78 diff --git a/sfx2/inc/sfx2/templatefolderview.hxx b/sfx2/inc/sfx2/templatefolderview.hxx index a6aec17..b5b967f 100644 --- a/sfx2/inc/sfx2/templatefolderview.hxx +++ b/sfx2/inc/sfx2/templatefolderview.hxx @@ -25,6 +25,11 @@ public: // Fill view with template folders thumbnails void Populate (); + // Check if the overlay is visible or not. + bool isOverlayVisible () const; + + void showOverlay (bool bVisible); + private: virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem); diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx index bb13fe0..ee98e2e 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -31,6 +31,8 @@ public: private: + virtual void MouseButtonDown( const MouseEvent& rMEvt ); + DECL_LINK(OnClickSelectionMode, ImageButton*); private: diff --git a/sfx2/source/control/templatefolderview.cxx b/sfx2/source/control/templatefolderview.cxx index 8106cb3..c2165f5 100644 --- a/sfx2/source/control/templatefolderview.cxx +++ b/sfx2/source/control/templatefolderview.cxx @@ -189,11 +189,22 @@ void TemplateFolderView::Populate () Invalidate(); } -void TemplateFolderView::OnItemDblClicked (ThumbnailViewItem *pRegionItem) +bool TemplateFolderView::isOverlayVisible () const +{ + return mpItemView->IsVisible(); +} + +void TemplateFolderView::showOverlay (bool bVisible) { - // Clear previous items - mpItemView->Clear(); + mpItemView->Show(bVisible); + // Clear items is the overlay is closed. + if (!bVisible) + mpItemView->Clear(); +} + +void TemplateFolderView::OnItemDblClicked (ThumbnailViewItem *pRegionItem) +{ // Fill templates sal_uInt16 nRegionId = pRegionItem->mnId-1; const SfxDocumentTemplates* pTemplates = mpMgr->GetTemplates(); diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index a7d5c32..6fab400 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -69,6 +69,12 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,ViewDrawsHdl) return 0; } +void SfxTemplateManagerDlg::MouseButtonDown( const MouseEvent& rMEvt ) +{ + if (!maView->GetActiveClipRegion().IsInside(rMEvt.GetPosPixel()) && maView->isOverlayVisible()) + maView->showOverlay(false); +} + 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
