Kaydet (Commit) 14fb3c4c authored tarafından Cédric Bosdonnat's avatar Cédric Bosdonnat Kaydeden (comit) Miklos Vajna

Templates Manager: merged the Double Click Handling into TemplateAbstractView

(cherry picked from commit 8a2bfe69)

Conflicts:
	sfx2/inc/sfx2/templateview.hxx
	sfx2/source/control/templateabstractview.cxx
	sfx2/source/control/templatelocalview.cxx
	sfx2/source/control/templateview.cxx

Change-Id: Iafc1650d57d29fbc24921498f18da6c0e510b37a
Reviewed-on: https://gerrit.libreoffice.org/3087Reviewed-by: 's avatarMiklos Vajna <vmiklos@suse.cz>
Tested-by: 's avatarMiklos Vajna <vmiklos@suse.cz>
üst 39e36720
...@@ -87,7 +87,7 @@ public: ...@@ -87,7 +87,7 @@ public:
virtual void filterTemplatesByApp (const FILTER_APPLICATION &eApp); virtual void filterTemplatesByApp (const FILTER_APPLICATION &eApp);
virtual void showOverlay (bool bVisible) = 0; void showOverlay (bool bVisible);
void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding); void setItemDimensions (long ItemWidth, long ThumbnailHeight, long DisplayHeight, int itemPadding);
...@@ -109,7 +109,7 @@ public: ...@@ -109,7 +109,7 @@ public:
void setOverlayItemStateHdl (const Link &aLink) { maOverlayItemStateHdl = aLink; } void setOverlayItemStateHdl (const Link &aLink) { maOverlayItemStateHdl = aLink; }
void setOverlayDblClickHdl (const Link &rLink); void setOpenHdl (const Link &rLink);
void setOverlayCloseHdl (const Link &rLink); void setOverlayCloseHdl (const Link &rLink);
...@@ -127,10 +127,13 @@ protected: ...@@ -127,10 +127,13 @@ protected:
DECL_LINK(OverlayItemStateHdl, const ThumbnailViewItem*); DECL_LINK(OverlayItemStateHdl, const ThumbnailViewItem*);
virtual void OnItemDblClicked(ThumbnailViewItem *pItem);
protected: protected:
TemplateView *mpItemView; TemplateView *mpItemView;
Link maOverlayItemStateHdl; Link maOverlayItemStateHdl;
Link maOpenHdl;
bool mbFilteredResults; // Flag keep track if overlay has been filtered so folders can get filtered too afterwards bool mbFilteredResults; // Flag keep track if overlay has been filtered so folders can get filtered too afterwards
FILTER_APPLICATION meFilterOption; FILTER_APPLICATION meFilterOption;
......
...@@ -39,8 +39,6 @@ public: ...@@ -39,8 +39,6 @@ public:
std::vector<OUString> getFolderNames (); std::vector<OUString> getFolderNames ();
virtual void showOverlay (bool bVisible);
std::vector<TemplateItemProperties> std::vector<TemplateItemProperties>
getFilteredItems (const boost::function<bool (const TemplateItemProperties&) > &rFunc) const; getFilteredItems (const boost::function<bool (const TemplateItemProperties&) > &rFunc) const;
...@@ -73,10 +71,6 @@ public: ...@@ -73,10 +71,6 @@ public:
virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
private:
virtual void OnItemDblClicked (ThumbnailViewItem *pRegionItem);
private: private:
SfxDocumentTemplates *mpDocTemplates; SfxDocumentTemplates *mpDocTemplates;
......
...@@ -25,8 +25,6 @@ public: ...@@ -25,8 +25,6 @@ public:
virtual ~TemplateRemoteView (); virtual ~TemplateRemoteView ();
virtual void showOverlay (bool bVisible);
bool loadRepository (TemplateRepository* pRepository, bool bRefresh); bool loadRepository (TemplateRepository* pRepository, bool bRefresh);
private: private:
......
...@@ -36,26 +36,28 @@ public: ...@@ -36,26 +36,28 @@ public:
void InsertItems (const std::vector<TemplateItemProperties> &rTemplates); void InsertItems (const std::vector<TemplateItemProperties> &rTemplates);
void setDblClickHdl (const Link &rLink) { maDblClickHdl = rLink; }
void setCloseHdl (const Link &rLink) { maAllButton.SetClickHdl(rLink); } void setCloseHdl (const Link &rLink) { maAllButton.SetClickHdl(rLink); }
void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = pMasterView; } void setMasterView(TemplateAbstractView* pMasterView) { mpMasterView = pMasterView; }
virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle); virtual bool renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle);
// FIXME Kept only during the refactoring
void setOpenHdl (const Link &rLink) { maOpenHdl = rLink; }
virtual void OnItemDblClicked(ThumbnailViewItem *pItem) { maOpenHdl.Call(pItem); }
protected: protected:
virtual void Resize (); virtual void Resize ();
virtual void OnItemDblClicked (ThumbnailViewItem *pItem);
private: private:
TemplateAbstractView* mpMasterView; TemplateAbstractView* mpMasterView;
Link maOpenHdl;
PushButton maAllButton; PushButton maAllButton;
FixedText maFTName; FixedText maFTName;
sal_uInt16 mnId; sal_uInt16 mnId;
OUString maName; OUString maName;
Link maDblClickHdl;
}; };
#endif // TEMPLATEVIEW_HXX #endif // TEMPLATEVIEW_HXX
......
...@@ -217,9 +217,10 @@ void TemplateAbstractView::filterTemplatesByKeyword(const OUString &rKeyword) ...@@ -217,9 +217,10 @@ void TemplateAbstractView::filterTemplatesByKeyword(const OUString &rKeyword)
mpItemView->filterItems(ViewFilter_Keyword(rKeyword)); mpItemView->filterItems(ViewFilter_Keyword(rKeyword));
} }
void TemplateAbstractView::setOverlayDblClickHdl(const Link &rLink) void TemplateAbstractView::setOpenHdl(const Link &rLink)
{ {
mpItemView->setDblClickHdl(rLink); maOpenHdl = rLink;
mpItemView->setOpenHdl(rLink);
} }
void TemplateAbstractView::setOverlayCloseHdl(const Link &rLink) void TemplateAbstractView::setOverlayCloseHdl(const Link &rLink)
...@@ -395,4 +396,26 @@ IMPL_LINK(TemplateAbstractView, OverlayItemStateHdl, const ThumbnailViewItem*, p ...@@ -395,4 +396,26 @@ IMPL_LINK(TemplateAbstractView, OverlayItemStateHdl, const ThumbnailViewItem*, p
return 0; return 0;
} }
void TemplateAbstractView::OnItemDblClicked (ThumbnailViewItem *pItem)
{
TemplateContainerItem* pContainerItem = dynamic_cast<TemplateContainerItem*>(pItem);
if ( pContainerItem )
{
// Fill templates
sal_uInt16 nRegionId = pContainerItem->mnId-1;
mpItemView->setId(nRegionId);
mpItemView->setName(pContainerItem->maTitle);
mpItemView->InsertItems(pContainerItem->maTemplates);
mpItemView->filterItems(ViewFilter_Application(meFilterOption));
showOverlay(true);
}
else
{
maOpenHdl.Call(pItem);
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -123,26 +123,6 @@ std::vector<OUString> TemplateLocalView::getFolderNames() ...@@ -123,26 +123,6 @@ std::vector<OUString> TemplateLocalView::getFolderNames()
return ret; return ret;
} }
void TemplateLocalView::showOverlay (bool bVisible)
{
mpItemView->Show(bVisible);
// Clear items is the overlay is closed.
if (!bVisible)
{
// Check if the folder view needs to be filtered
if (mbFilteredResults)
{
filterItems(ViewFilter_Application(meFilterOption));
mbFilteredResults = false;
meFilterOption = FILTER_APP_NONE;
}
mpItemView->Clear();
}
}
std::vector<TemplateItemProperties> std::vector<TemplateItemProperties>
TemplateLocalView::getFilteredItems(const boost::function<bool (const TemplateItemProperties&) > &rFunc) const TemplateLocalView::getFilteredItems(const boost::function<bool (const TemplateItemProperties&) > &rFunc) const
{ {
...@@ -591,19 +571,6 @@ bool TemplateLocalView::isTemplateNameUnique(const sal_uInt16 nRegionItemId, con ...@@ -591,19 +571,6 @@ bool TemplateLocalView::isTemplateNameUnique(const sal_uInt16 nRegionItemId, con
return true; return true;
} }
void TemplateLocalView::OnItemDblClicked (ThumbnailViewItem *pRegionItem)
{
// Fill templates
sal_uInt16 nRegionId = pRegionItem->mnId-1;
mpItemView->setId(nRegionId);
mpItemView->setName(mpDocTemplates->GetRegionName(nRegionId));
mpItemView->InsertItems(static_cast<TemplateContainerItem*>(pRegionItem)->maTemplates);
mpItemView->filterItems(ViewFilter_Application(meFilterOption));
showOverlay(true);
}
bool TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) bool TemplateLocalView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle)
{ {
......
...@@ -60,17 +60,6 @@ TemplateRemoteView::~TemplateRemoteView () ...@@ -60,17 +60,6 @@ TemplateRemoteView::~TemplateRemoteView ()
{ {
} }
void TemplateRemoteView::showOverlay (bool bVisible)
{
mpItemView->Show(bVisible);
// Clear items is the overlay is closed.
if (!bVisible)
{
mpItemView->Clear();
}
}
bool TemplateRemoteView::loadRepository (TemplateRepository* pItem, bool bRefresh) bool TemplateRemoteView::loadRepository (TemplateRepository* pItem, bool bRefresh)
{ {
if (!pItem) if (!pItem)
......
...@@ -94,11 +94,6 @@ void TemplateView::Resize() ...@@ -94,11 +94,6 @@ void TemplateView::Resize()
ThumbnailView::Resize(); ThumbnailView::Resize();
} }
void TemplateView::OnItemDblClicked(ThumbnailViewItem *pItem)
{
maDblClickHdl.Call(pItem);
}
bool TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle) bool TemplateView::renameItem(ThumbnailViewItem* pItem, rtl::OUString sNewTitle)
{ {
if (mpMasterView) if (mpMasterView)
......
...@@ -172,7 +172,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) ...@@ -172,7 +172,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl)); maView->setItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVFolderStateHdl));
maView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); maView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
maView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); maView->setOpenHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl));
maView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl)); maView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl));
// Set online view position and dimensions // Set online view position and dimensions
...@@ -183,7 +183,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent) ...@@ -183,7 +183,7 @@ SfxTemplateManagerDlg::SfxTemplateManagerDlg (Window *parent)
TEMPLATE_ITEM_PADDING); TEMPLATE_ITEM_PADDING);
mpOnlineView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl)); mpOnlineView->setOverlayItemStateHdl(LINK(this,SfxTemplateManagerDlg,TVTemplateStateHdl));
mpOnlineView->setOverlayDblClickHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl)); mpOnlineView->setOpenHdl(LINK(this,SfxTemplateManagerDlg,OpenTemplateHdl));
mpOnlineView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl)); mpOnlineView->setOverlayCloseHdl(LINK(this,SfxTemplateManagerDlg,CloseOverlayHdl));
mpSearchView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH); mpSearchView->setItemMaxTextLength(TEMPLATE_ITEM_MAX_TEXT_LENGTH);
......
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