summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sfx2/recentdocsview.hxx5
-rw-r--r--sfx2/source/control/recentdocsview.cxx16
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();