summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-01-31 16:36:52 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-01-31 16:40:14 +0100
commitaf331776895c1c3d036040599501d3f08a4d5562 (patch)
tree432efa9c4feb79ce3ea18d2f420677f00398e6b5 /sfx2
parentbdb3c21ee5a20046dfd80c486e41ad591b863c1c (diff)
Template Manager: show some icons if there is no thumbnail
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/inc/sfx2/sfx.hrc5
-rw-r--r--sfx2/inc/templatedlg.hxx2
-rw-r--r--sfx2/source/appl/sfx.src20
-rw-r--r--sfx2/source/control/templateview.cxx6
-rw-r--r--sfx2/source/doc/templatedlg.cxx25
5 files changed, 58 insertions, 0 deletions
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc
index 500063c7575d..5d99d6130b83 100644
--- a/sfx2/inc/sfx2/sfx.hrc
+++ b/sfx2/inc/sfx2/sfx.hrc
@@ -169,6 +169,11 @@
#define BT_CHECKOUT (RID_SFX_START+126)
#define STR_ACCTITLE_PRODUCTIVITYTOOLS (RID_SFX_START+157)
+#define SFX_THUMBNAIL_TEXT (RID_SFX_START+158)
+#define SFX_THUMBNAIL_SHEET (RID_SFX_START+159)
+#define SFX_THUMBNAIL_PRESENTATION (RID_SFX_START+160)
+#define SFX_THUMBNAIL_DRAWING (RID_SFX_START+161)
+
//=========================================================================
// group ids
diff --git a/sfx2/inc/templatedlg.hxx b/sfx2/inc/templatedlg.hxx
index 4a18ab2afa4e..1cc9ae54d47e 100644
--- a/sfx2/inc/templatedlg.hxx
+++ b/sfx2/inc/templatedlg.hxx
@@ -50,6 +50,8 @@ public:
DECL_LINK(ActivatePageHdl, void*);
+ static BitmapEx getDefaultThumbnail( const rtl::OUString& rPath );
+
private:
virtual void MouseButtonDown( const MouseEvent& rMEvt );
diff --git a/sfx2/source/appl/sfx.src b/sfx2/source/appl/sfx.src
index 1103841a3000..bffec2b88814 100644
--- a/sfx2/source/appl/sfx.src
+++ b/sfx2/source/appl/sfx.src
@@ -37,3 +37,23 @@ String STR_PASSWD
{
Text [ en-US ] = "Password" ;
};
+
+Bitmap ( SFX_THUMBNAIL_TEXT )
+{
+ File = "odt_48_8.png";
+};
+
+Bitmap ( SFX_THUMBNAIL_SHEET )
+{
+ File = "ods_48_8.png";
+};
+
+Bitmap ( SFX_THUMBNAIL_PRESENTATION )
+{
+ File = "odp_48_8.png";
+};
+
+Bitmap ( SFX_THUMBNAIL_DRAWING )
+{
+ File = "odg_48_8.png";
+};
diff --git a/sfx2/source/control/templateview.cxx b/sfx2/source/control/templateview.cxx
index 01f92064dd83..4a44ea0d6004 100644
--- a/sfx2/source/control/templateview.cxx
+++ b/sfx2/source/control/templateview.cxx
@@ -7,6 +7,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
+#include "templatedlg.hxx"
#include <sfx2/templateview.hxx>
#include <basegfx/matrix/b2dhommatrixtools.hxx>
@@ -63,6 +64,11 @@ void TemplateView::InsertItems (const std::vector<TemplateItemProperties> &rTemp
pItem->maTitle = pCur->aName;
pItem->setPath(pCur->aPath);
pItem->maPreview1 = pCur->aThumbnail;
+ if ( pCur->aThumbnail.IsEmpty() )
+ {
+ // Use the default thumbnail if we have nothing else
+ pItem->maPreview1 = SfxTemplateManagerDlg::getDefaultThumbnail( pItem->getPath() );
+ }
pItem->setSelectClickHdl(LINK(this,ThumbnailView,OnItemSelected));
mItemList.push_back(pItem);
diff --git a/sfx2/source/doc/templatedlg.cxx b/sfx2/source/doc/templatedlg.cxx
index d3721ab8c6e1..8bb8035f018b 100644
--- a/sfx2/source/doc/templatedlg.cxx
+++ b/sfx2/source/doc/templatedlg.cxx
@@ -1534,6 +1534,31 @@ void SfxTemplateManagerDlg::syncRepositories() const
}
}
+BitmapEx SfxTemplateManagerDlg::getDefaultThumbnail( const OUString& rPath )
+{
+ INetURLObject aUrl(rPath);
+ OUString aExt = aUrl.getExtension();
+
+ BitmapEx aImg;
+ if ( aExt == "ott" || aExt == "stw" || aExt == "oth" || aExt == "dot" || aExt == "dotx" )
+ {
+ aImg = BitmapEx ( SfxResId( SFX_THUMBNAIL_TEXT ) );
+ }
+ else if ( aExt == "ots" || aExt == "stc" || aExt == "xlt" || aExt == "xltm" || aExt == "xltx" )
+ {
+ aImg = BitmapEx ( SfxResId( SFX_THUMBNAIL_SHEET ) );
+ }
+ else if ( aExt == "otp" || aExt == "sti" || aExt == "pot" || aExt == "potm" || aExt == "potx" )
+ {
+ aImg = BitmapEx ( SfxResId( SFX_THUMBNAIL_PRESENTATION ) );
+ }
+ else if ( aExt == "otg" || aExt == "std" )
+ {
+ aImg = BitmapEx ( SfxResId( SFX_THUMBNAIL_DRAWING ) );
+ }
+ return aImg;
+}
+
static bool lcl_getServiceName ( const OUString &rFileURL, OUString &rName )
{
bool bRet = false;