diff options
-rw-r--r-- | include/sfx2/recentdocsview.hxx | 5 | ||||
-rw-r--r-- | sfx2/source/control/recentdocsview.cxx | 16 |
2 files changed, 20 insertions, 1 deletions
diff --git a/include/sfx2/recentdocsview.hxx b/include/sfx2/recentdocsview.hxx index dd5ce9e67e24..38f1a53f9d68 100644 --- a/include/sfx2/recentdocsview.hxx +++ b/include/sfx2/recentdocsview.hxx @@ -49,6 +49,7 @@ public: void SetThumbnailSize(long thumbnailSize); long GetThumbnailSize() const; + void SetFilter(APPLICATION_FILTER filter); static bool isFilteredExtension(APPLICATION_FILTER filter, const OUString &rExt); static BitmapEx getDefaultThumbnail(const OUString &rURL); @@ -58,6 +59,10 @@ public: protected: virtual void OnItemDblClicked(ThumbnailViewItem *pItem); + bool isUnfilteredFile(const OUString &rURL) const; + + APPLICATION_FILTER mFilter; + long mnItemMaxSize; long mnTextHeight; long mnItemPadding; diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx index 73c585fde1af..ae235f7bdc73 100644 --- a/sfx2/source/control/recentdocsview.cxx +++ b/sfx2/source/control/recentdocsview.cxx @@ -95,6 +95,12 @@ bool RecentDocsView::isFilteredExtension(APPLICATION_FILTER filter, const OUStri return bRet; } +bool RecentDocsView::isUnfilteredFile(const OUString &rURL) const +{ + INetURLObject aUrl(rURL); + return isFilteredExtension(mFilter, aUrl.getExtension()); +} + BitmapEx RecentDocsView::getDefaultThumbnail(const OUString &rURL) { BitmapEx aImg; @@ -149,7 +155,10 @@ void RecentDocsView::loadRecentDocs() a >>= aTitle; } - insertItem(aURL, aTitle); + if( isUnfilteredFile(aURL) ) + { + insertItem(aURL, aTitle); + } } CalculateItemPositions(); @@ -214,6 +223,11 @@ long RecentDocsView::GetThumbnailSize() const return mnItemMaxSize; } +void RecentDocsView::SetFilter(APPLICATION_FILTER filter) +{ + mFilter = filter; +} + Size RecentDocsView::GetOptimalSize() const { return Window::GetOptimalSize(); |