sfx2/inc/sfx2/templateabstractview.hxx | 3 + sfx2/inc/sfx2/templatelocalview.hxx | 2 + sfx2/inc/sfx2/templateremoteview.hxx | 2 + sfx2/source/control/templatelocalview.cxx | 5 ++ sfx2/source/control/templateremoteview.cxx | 5 ++ sfx2/source/doc/templatedlg.cxx | 52 ++++++++++++++++++++++++++--- 6 files changed, 65 insertions(+), 4 deletions(-)
New commits: commit b6ec9b44fd7d4f6064f6eb407a75b1fcdb030ebf Author: Rafael Dominguez <venccsra...@gmail.com> Date: Wed Mar 27 16:59:50 2013 -0430 Display create template folder only when its allowed. Change-Id: I892cfd88907ac4588e882e3a89c4feb200ce6744 Reviewed-on: https://gerrit.libreoffice.org/3246 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/inc/sfx2/templateabstractview.hxx b/sfx2/inc/sfx2/templateabstractview.hxx index 4eeafa0..1df856d 100644 --- a/sfx2/inc/sfx2/templateabstractview.hxx +++ b/sfx2/inc/sfx2/templateabstractview.hxx @@ -94,6 +94,9 @@ public: virtual void showRegion (ThumbnailViewItem *pItem) = 0; + // Return if we can have regions inside the current region + virtual bool isNestedRegionAllowed () const = 0; + sal_uInt16 getCurRegionId () const; const OUString& getCurRegionName () const; diff --git a/sfx2/inc/sfx2/templatelocalview.hxx b/sfx2/inc/sfx2/templatelocalview.hxx index 9dccf51..762dbf5 100644 --- a/sfx2/inc/sfx2/templatelocalview.hxx +++ b/sfx2/inc/sfx2/templatelocalview.hxx @@ -55,6 +55,8 @@ public: sal_uInt16 createRegion (const OUString &rName); + virtual bool isNestedRegionAllowed () const; + bool removeRegion (const sal_uInt16 nItemId); bool removeTemplate (const sal_uInt16 nItemId, const sal_uInt16 nSrcItemId); diff --git a/sfx2/inc/sfx2/templateremoteview.hxx b/sfx2/inc/sfx2/templateremoteview.hxx index 3319022..0a89803 100644 --- a/sfx2/inc/sfx2/templateremoteview.hxx +++ b/sfx2/inc/sfx2/templateremoteview.hxx @@ -31,6 +31,8 @@ public: bool loadRepository (TemplateRepository* pRepository, bool bRefresh); + virtual bool isNestedRegionAllowed () const; + private: com::sun::star::uno::Reference< com::sun::star::ucb::XCommandEnvironment > m_xCmdEnv; diff --git a/sfx2/source/control/templatelocalview.cxx b/sfx2/source/control/templatelocalview.cxx index e7eaa98..dd472f2 100644 --- a/sfx2/source/control/templatelocalview.cxx +++ b/sfx2/source/control/templatelocalview.cxx @@ -258,6 +258,11 @@ sal_uInt16 TemplateLocalView::createRegion(const OUString &rName) return pItem->mnId; } +bool TemplateLocalView::isNestedRegionAllowed() const +{ + return !mnCurRegionId; +} + bool TemplateLocalView::removeRegion(const sal_uInt16 nItemId) { sal_uInt16 nRegionId = USHRT_MAX; diff --git a/sfx2/source/control/templateremoteview.cxx b/sfx2/source/control/templateremoteview.cxx index a8d88f5..8fd2e87 100644 --- a/sfx2/source/control/templateremoteview.cxx +++ b/sfx2/source/control/templateremoteview.cxx @@ -190,4 +190,9 @@ bool TemplateRemoteView::loadRepository (TemplateRepository* pItem, bool bRefres return true; } +bool TemplateRemoteView::isNestedRegionAllowed() const +{ + return true; +} + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ commit e40a7ee5768af7c65e0cea5cc619df313b749c74 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Wed Mar 27 13:43:52 2013 -0430 Update search results when changing template type in Template Manager. Change-Id: I52f79b5963e331332f02974dc739d631b9c359eb Reviewed-on: https://gerrit.libreoffice.org/3245 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index f4465dd..99d083d 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -332,6 +332,10 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg,ActivatePageHdl) break; } mpCurView->filterItems(ViewFilter_Application(eFilter)); + + if (mpSearchView->IsVisible()) + SearchUpdateHdl(NULL); + return 0; } commit de1da2122210c8bc4649071e231bbb0bd53e31d3 Author: Rafael Dominguez <venccsra...@gmail.com> Date: Wed Mar 27 13:38:57 2013 -0430 Filter search results by type and keyword in Template Manager. Change-Id: I612b0b87340a50f0e5ec69ec4e8b2beba13cab36 Reviewed-on: https://gerrit.libreoffice.org/3244 Reviewed-by: Miklos Vajna <vmik...@suse.cz> Tested-by: Miklos Vajna <vmik...@suse.cz> diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx index 825147a..f4465dd 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -85,18 +85,41 @@ class SearchView_Keyword { public: - SearchView_Keyword (const OUString &rKeyword) - : maKeyword(rKeyword) + SearchView_Keyword (const OUString &rKeyword, FILTER_APPLICATION App) + : maKeyword(rKeyword), meApp(App) {} bool operator() (const TemplateItemProperties &rItem) { - return rItem.aName.matchIgnoreAsciiCase(maKeyword); + bool bRet = true; + + INetURLObject aUrl(rItem.aPath); + OUString aExt = aUrl.getExtension(); + + if (meApp == FILTER_APP_WRITER) + { + bRet = aExt == "ott" || aExt == "stw" || aExt == "oth" || aExt == "dot" || aExt == "dotx"; + } + else if (meApp == FILTER_APP_CALC) + { + bRet = aExt == "ots" || aExt == "stc" || aExt == "xlt" || aExt == "xltm" || aExt == "xltx"; + } + else if (meApp == FILTER_APP_IMPRESS) + { + bRet = aExt == "otp" || aExt == "sti" || aExt == "pot" || aExt == "potm" || aExt == "potx"; + } + else if (meApp == FILTER_APP_DRAW) + { + bRet = aExt == "otg" || aExt == "std"; + } + + return bRet && rItem.aName.matchIgnoreAsciiCase(maKeyword); } private: OUString maKeyword; + FILTER_APPLICATION meApp; }; /*** @@ -664,8 +687,25 @@ IMPL_LINK_NOARG(SfxTemplateManagerDlg, SearchUpdateHdl) bool bDisplayFolder = !mpCurView->isNonRootRegionVisible(); + FILTER_APPLICATION eFilter = FILTER_APP_NONE; + switch (maTabControl.GetCurPageId()) + { + case FILTER_DOCS: + eFilter = FILTER_APP_WRITER; + break; + case FILTER_PRESENTATIONS: + eFilter = FILTER_APP_IMPRESS; + break; + case FILTER_SHEETS: + eFilter = FILTER_APP_CALC; + break; + case FILTER_DRAWS: + eFilter = FILTER_APP_DRAW; + break; + } + std::vector<TemplateItemProperties> aItems = - maView->getFilteredItems(SearchView_Keyword(aKeyword)); + maView->getFilteredItems(SearchView_Keyword(aKeyword,eFilter)); for (size_t i = 0; i < aItems.size(); ++i) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits