summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorKrisztian Pinter <pin.terminator@gmail.com>2013-08-11 18:29:58 +0200
committerJan Holesovsky <kendy@suse.cz>2013-08-13 18:35:03 +0200
commit85e4d35f1926b8568dfcbe9571ebdc9879fa52b4 (patch)
tree9309a169e3754458fcc6115d8fdabcfe5a73a36a /sfx2
parent2ace414bd8350a682ad6d482413e50bfa05893f5 (diff)
startcenter: Improve thumbnails in RecentDocsView
Change-Id: Ib33e20996267f3e178079174fde014aa28638fcf
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/control/recentdocsview.cxx60
-rw-r--r--sfx2/source/control/recentdocsviewitem.cxx16
2 files changed, 66 insertions, 10 deletions
diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx
index 2aea3f7a49c4..73c585fde1af 100644
--- a/sfx2/source/control/recentdocsview.cxx
+++ b/sfx2/source/control/recentdocsview.cxx
@@ -21,6 +21,8 @@
#include <sfx2/templateabstractview.hxx>
#include <sfx2/app.hxx>
+#include <sfx2/sfx.hrc>
+#include <sfx2/sfxresid.hxx>
#include <unotools/historyoptions.hxx>
#include <vcl/builder.hxx>
#include <vcl/svapp.hxx>
@@ -59,6 +61,64 @@ RecentDocsView::~RecentDocsView()
{
}
+bool RecentDocsView::isFilteredExtension(APPLICATION_FILTER filter, const OUString &rExt)
+{
+ bool bRet = true;
+
+ if (filter == FILTER_WRITER)
+ {
+ bRet = rExt == "odt" || rExt == "doc" || rExt == "docx" ||
+ rExt == "rtf" || rExt == "txt";
+ }
+ else if (filter == FILTER_CALC)
+ {
+ bRet = rExt == "ods" || rExt == "xls" || rExt == "xlsx";
+ }
+ else if (filter == FILTER_IMPRESS)
+ {
+ bRet = rExt == "odp" || rExt == "pps" || rExt == "ppt" ||
+ rExt == "pptx";
+ }
+ else if (filter == FILTER_DRAW)
+ {
+ bRet = rExt == "odg";
+ }
+ else if (filter == FILTER_DATABASE)
+ {
+ bRet = rExt == "odb";
+ }
+ else if (filter == FILTER_MATH)
+ {
+ bRet = rExt == "odf";
+ }
+
+ return bRet;
+}
+
+BitmapEx RecentDocsView::getDefaultThumbnail(const OUString &rURL)
+{
+ BitmapEx aImg;
+ INetURLObject aUrl(rURL);
+ OUString aExt = aUrl.getExtension();
+
+ if ( isFilteredExtension( FILTER_WRITER, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_TEXT ) );
+ else if ( isFilteredExtension( FILTER_CALC, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_SHEET ) );
+ else if ( isFilteredExtension( FILTER_IMPRESS, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_PRESENTATION ) );
+ else if ( isFilteredExtension( FILTER_DRAW, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_DRAWING ) );
+ else if ( isFilteredExtension( FILTER_DATABASE, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_DATABASE ) );
+ else if ( isFilteredExtension( FILTER_MATH, aExt) )
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_MATH ) );
+ else
+ aImg = BitmapEx ( SfxResId( SFX_FILE_THUMBNAIL_DEFAULT ) );
+
+ return aImg;
+}
+
void RecentDocsView::insertItem(const OUString &rURL, const OUString &rTitle)
{
RecentDocsViewItem *pChild = new RecentDocsViewItem(*this, rURL, rTitle);
diff --git a/sfx2/source/control/recentdocsviewitem.cxx b/sfx2/source/control/recentdocsviewitem.cxx
index 996d064330f7..a4024ae36629 100644
--- a/sfx2/source/control/recentdocsviewitem.cxx
+++ b/sfx2/source/control/recentdocsviewitem.cxx
@@ -9,16 +9,17 @@
#include <sfx2/recentdocsviewitem.hxx>
-#include <sfx2/sfxresid.hxx>
-#include "../doc/doc.hrc"
-
#include <sfx2/templateabstractview.hxx>
+#include <sfx2/recentdocsview.hxx>
#include <tools/urlobj.hxx>
RecentDocsViewItem::RecentDocsViewItem(ThumbnailView &rView, const OUString &rURL, const OUString &rTitle)
: ThumbnailViewItem(rView)
{
+ RecentDocsView& rRecentView = dynamic_cast<RecentDocsView&>(rView);
+ long nThumbnailSize = rRecentView.GetThumbnailSize();
OUString aTitle = rTitle;
+
if( !aTitle.getLength() )
{
// If we have no title, get filename from the URL
@@ -30,17 +31,12 @@ RecentDocsViewItem::RecentDocsViewItem(ThumbnailView &rView, const OUString &rUR
if( aThumbnail.IsEmpty() )
{
// Use the default thumbnail if we have nothing else
- aThumbnail = TemplateAbstractView::getDefaultThumbnail(rURL);
- }
- if( aThumbnail.IsEmpty() )
- {
- // Last fallback
- aThumbnail = BitmapEx ( SfxResId( SFX_THUMBNAIL_TEXT ) );
+ aThumbnail = RecentDocsView::getDefaultThumbnail(rURL);
}
maURL = rURL;
maTitle = aTitle;
- maPreview1 = TemplateAbstractView::scaleImg(aThumbnail, 150, 150);
+ maPreview1 = TemplateAbstractView::scaleImg(aThumbnail, nThumbnailSize, nThumbnailSize);
}
void RecentDocsViewItem::setEditTitle (bool edit, bool bChangeFocus)