summaryrefslogtreecommitdiff
path: root/sd/source/filter
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2011-03-25 00:11:37 +0100
committerJulien Nabet <serval2412@yahoo.fr>2011-03-25 18:56:02 +0100
commit83b5750429c87d0a30872ca436670ed82270d0ff (patch)
treef375e5caf33697467fed327ad175b6c3430dc34b /sd/source/filter
parentab5c7e87cf64d6a2fcbc60f9b6f3e0315fffad42 (diff)
Try to resurrect "add slide thumbnails to HTML export" part
Diffstat (limited to 'sd/source/filter')
-rw-r--r--sd/source/filter/html/htmlex.cxx54
-rw-r--r--sd/source/filter/html/htmlex.hxx6
2 files changed, 51 insertions, 9 deletions
diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx
index 69bdef30bc66..e4ad1e4889a2 100644
--- a/sd/source/filter/html/htmlex.cxx
+++ b/sd/source/filter/html/htmlex.cxx
@@ -387,7 +387,7 @@ HtmlExport::HtmlExport(
meMode( PUBLISH_HTML ),
mbContentsPage(false),
mnButtonThema(-1),
- mnWidthPixel( PUB_LOWRES_WIDTH ),
+ mnWidthPixel( PUB_MEDRES_WIDTH ),
meFormat( FORMAT_JPG ),
mbNotes(false),
mnCompression( -1 ),
@@ -399,6 +399,7 @@ HtmlExport::HtmlExport(
maHTMLExtension(SdResId(STR_HTMLEXP_DEFAULT_EXTENSION)),
mpHTMLFiles(NULL),
mpImageFiles(NULL),
+ mpThumbnailFiles(NULL),
mpPageNames(NULL),
mpTextFiles(NULL),
maIndexUrl(RTL_CONSTASCII_USTRINGPARAM("index")),
@@ -437,12 +438,13 @@ HtmlExport::~HtmlExport()
// ------------------------------------------------------------------
// Listen loeschen
// ------------------------------------------------------------------
- if(mpImageFiles && mpHTMLFiles && mpPageNames && mpTextFiles)
+ if(mpImageFiles && mpHTMLFiles && mpThumbnailFiles && mpPageNames && mpTextFiles )
{
for ( sal_uInt16 nSdPage = 0; nSdPage < mnSdPageCount; nSdPage++)
{
delete mpImageFiles[nSdPage];
delete mpHTMLFiles[nSdPage];
+ delete mpThumbnailFiles[nSdPage];
delete mpPageNames[nSdPage];
delete mpTextFiles[nSdPage];
}
@@ -450,6 +452,7 @@ HtmlExport::~HtmlExport()
delete[] mpImageFiles;
delete[] mpHTMLFiles;
+ delete[] mpThumbnailFiles;
delete[] mpPageNames;
delete[] mpTextFiles;
}
@@ -740,6 +743,11 @@ void HtmlExport::ExportHtml()
if( !CreateImagesForPresPages() )
break;
+ if( mbContentsPage &&
+ !CreateImagesForPresPages( true ) )
+ break;
+
+
if( !CreateHtmlForPresPages() )
break;
@@ -973,7 +981,7 @@ bool HtmlExport::SavePresentation()
// =====================================================================
// Image-Dateien anlegen
// =====================================================================
-bool HtmlExport::CreateImagesForPresPages()
+bool HtmlExport::CreateImagesForPresPages( bool bThumbnail)
{
try
{
@@ -990,9 +998,9 @@ bool HtmlExport::CreateImagesForPresPages()
Sequence< PropertyValue > aFilterData(((meFormat==FORMAT_JPG)&&(mnCompression != -1))? 3 : 2);
aFilterData[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM("PixelWidth") );
- aFilterData[0].Value <<= (sal_Int32)mnWidthPixel;
+ aFilterData[0].Value <<= (sal_Int32)(bThumbnail ? PUB_THUMBNAIL_WIDTH : mnWidthPixel );
aFilterData[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM("PixelHeight") );
- aFilterData[1].Value <<= (sal_Int32)mnHeightPixel;
+ aFilterData[1].Value <<= (sal_Int32)(bThumbnail ? PUB_THUMBNAIL_HEIGHT : mnHeightPixel);
if((meFormat==FORMAT_JPG)&&(mnCompression != -1))
{
aFilterData[2].Name = OUString( RTL_CONSTASCII_USTRINGPARAM("Quality") );
@@ -1019,7 +1027,11 @@ bool HtmlExport::CreateImagesForPresPages()
SdPage* pPage = maPages[ nSdPage ];
OUString aFull(maExportPath);
- aFull += *mpImageFiles[nSdPage];
+ if (bThumbnail)
+ aFull += *mpThumbnailFiles[nSdPage];
+ else
+ aFull += *mpImageFiles[nSdPage];
+
aDescriptor[0].Value <<= aFull;
@@ -1893,7 +1905,7 @@ bool HtmlExport::CreateContentPage()
aStr.AppendAscii( "<center><table width=\"90%\"><tr>\r\n" );
// Inhaltsverzeichnis
- aStr.AppendAscii( "<td valign=\"top\" align=\"left\" width=\"50%\">\r\n" );
+ aStr.AppendAscii( "<td valign=\"top\" align=\"left\" width=\"25%\">\r\n" );
aStr.AppendAscii( "<h3>" );
aStr += RESTOHTML(STR_HTMLEXP_CONTENTS);
aStr.AppendAscii( "</h3>" );
@@ -1911,7 +1923,7 @@ bool HtmlExport::CreateContentPage()
aStr.AppendAscii( "</td>\r\n" );
// Dokument Infos
- aStr.AppendAscii( "<td valign=\"top\" width=\"50%\">\r\n" );
+ aStr.AppendAscii( "<td valign=\"top\" align=\"left\" width=\"75%\">\r\n" );
if(maAuthor.Len())
{
@@ -1962,6 +1974,21 @@ bool HtmlExport::CreateContentPage()
aStr.AppendAscii( "</a></p>\r\n" );
}
+ for(sal_uInt16 nSdPage = 0; nSdPage < mnSdPageCount; nSdPage++)
+ {
+ String aText;
+
+ aText.AppendAscii( "<img src=\"" );
+ aText += StringToURL( *mpThumbnailFiles[nSdPage] );
+ aText.AppendAscii( "\" width=\"256\" height=\"192\" alt=\"" );
+ aText += StringToHTMLString( *mpPageNames[nSdPage] );
+ aText.AppendAscii( "\">" );
+
+ aStr += CreateLink(*mpHTMLFiles[nSdPage], aText);
+ aStr.AppendAscii( "\r\n" );
+ }
+
+
aStr.AppendAscii( "</td></tr></table></center>\r\n" );
aStr.AppendAscii( "</body>\r\n</html>" );
@@ -2086,6 +2113,7 @@ void HtmlExport::CreateFileNames()
// Listen mit neuen Dateinamen anlegen
mpHTMLFiles = new String*[mnSdPageCount];
mpImageFiles = new String*[mnSdPageCount];
+ mpThumbnailFiles = new String*[mnSdPageCount];
mpPageNames = new String*[mnSdPageCount];
mpTextFiles = new String*[mnSdPageCount];
@@ -2116,6 +2144,15 @@ void HtmlExport::CreateFileNames()
mpImageFiles[nSdPage] = pName;
+ pName = new String( RTL_CONSTASCII_USTRINGPARAM("thumb") );
+ *pName += String::CreateFromInt32(nSdPage);
+ if( meFormat!=FORMAT_JPG )
+ pName->AppendAscii( ".png" );
+ else
+ pName->AppendAscii( ".jpg" );
+
+ mpThumbnailFiles[nSdPage] = pName;
+
pName = new String( RTL_CONSTASCII_USTRINGPARAM("text"));
*pName += String::CreateFromInt32(nSdPage);
*pName += maHTMLExtension;
@@ -3108,6 +3145,7 @@ bool HtmlExport::checkForExistingFiles()
{
if( (mpImageFiles[nSdPage] && checkFileExists( xFA, *mpImageFiles[nSdPage] )) ||
(mpHTMLFiles[nSdPage] && checkFileExists( xFA, *mpHTMLFiles[nSdPage] )) ||
+ (mpThumbnailFiles[nSdPage] && checkFileExists( xFA, *mpThumbnailFiles[nSdPage] )) ||
(mpPageNames[nSdPage] && checkFileExists( xFA, *mpPageNames[nSdPage] )) ||
(mpTextFiles[nSdPage] && checkFileExists( xFA, *mpTextFiles[nSdPage] )) )
{
diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx
index 31ae7ba80175..d320cd9edb0b 100644
--- a/sd/source/filter/html/htmlex.hxx
+++ b/sd/source/filter/html/htmlex.hxx
@@ -58,6 +58,9 @@
#define PUB_HIGHRES_WIDTH 1024
#define PUB_HIGHRES_HEIGHT 768
+#define PUB_THUMBNAIL_WIDTH 256
+#define PUB_THUMBNAIL_HEIGHT 192
+
#define HtmlButtonThemaStr = "private://gallery/hidden/HtmlExportButtons";
class List;
@@ -149,6 +152,7 @@ class HtmlExport
String maHTMLExtension;
String** mpHTMLFiles;
String** mpImageFiles;
+ String** mpThumbnailFiles;
String** mpPageNames;
String** mpTextFiles;
@@ -166,7 +170,7 @@ class HtmlExport
void SetDocColors( SdPage* pPage = NULL );
- bool CreateImagesForPresPages();
+ bool CreateImagesForPresPages( bool bThumbnails = false );
bool CreateHtmlTextForPresPages();
bool CreateHtmlForPresPages();
bool CreateContentPage();