summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-01-31 16:36:52 +0100
committerMiklos Vajna <vmiklos@suse.cz>2013-02-01 11:04:03 +0000
commit56ff995b8f5e7b0f6d48e569ff6fb5acae877506 (patch)
treeeea6a5bfe74fa29be95f028a94c80f9896bd4947
parente483ea0d8abda0eb5a0e8cef55229f3e8ac06a21 (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.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 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;