diff options
author | Cédric Bosdonnat <cedric.bosdonnat@free.fr> | 2013-01-31 16:36:52 +0100 |
---|---|---|
committer | Miklos Vajna <vmiklos@suse.cz> | 2013-02-01 11:04:03 +0000 |
commit | 56ff995b8f5e7b0f6d48e569ff6fb5acae877506 (patch) | |
tree | eea6a5bfe74fa29be95f028a94c80f9896bd4947 | |
parent | e483ea0d8abda0eb5a0e8cef55229f3e8ac06a21 (diff) |
Template Manager: show some icons if there is no thumbnail
Change-Id: I2686d6f1d29862878b5ee0f6ca0d2e746766ef21
Reviewed-on: https://gerrit.libreoffice.org/1948
Reviewed-by: Miklos Vajna <vmiklos@suse.cz>
Tested-by: Miklos Vajna <vmiklos@suse.cz>
-rw-r--r-- | sfx2/inc/sfx2/sfx.hrc | 5 | ||||
-rw-r--r-- | sfx2/inc/templatedlg.hxx | 2 | ||||
-rw-r--r-- | sfx2/source/appl/sfx.src | 20 | ||||
-rw-r--r-- | sfx2/source/control/templateview.cxx | 6 | ||||
-rw-r--r-- | sfx2/source/doc/templatedlg.cxx | 25 |
5 files changed, 58 insertions, 0 deletions
diff --git a/sfx2/inc/sfx2/sfx.hrc b/sfx2/inc/sfx2/sfx.hrc index 7173366956e8..92bcf1f0011b 100644 --- a/sfx2/inc/sfx2/sfx.hrc +++ b/sfx2/inc/sfx2/sfx.hrc @@ -177,6 +177,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 44a665312dce..47c1989adb06 100644 --- a/sfx2/inc/templatedlg.hxx +++ b/sfx2/inc/templatedlg.hxx @@ -49,6 +49,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 2efbbda1019c..97580652d1cc 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 bf51e374f35a..c14a824cb492 100644 --- a/sfx2/source/doc/templatedlg.cxx +++ b/sfx2/source/doc/templatedlg.cxx @@ -1533,6 +1533,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; |