Support cover images in EPUB export + a bugfix in the meta data editor

git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@113 f0f2a975-2e09-46c8-9428-3b39399b9f3c
This commit is contained in:
henrikjust 2011-07-20 11:06:01 +00:00
parent e09d61f6ee
commit 755db936f2
8 changed files with 72 additions and 22 deletions

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-06-19)
* Version 1.2 (2011-07-20)
*
*/
@ -48,6 +48,7 @@ import org.w3c.dom.Text;
import writer2latex.api.Config;
import writer2latex.api.ContentEntry;
import writer2latex.api.ConverterFactory;
import writer2latex.api.OutputFile;
//import writer2latex.api.ConverterResult;
import writer2latex.base.ContentEntryImpl;
import writer2latex.base.ConverterBase;
@ -218,8 +219,12 @@ public class Converter extends ConverterBase {
nAlphabeticalIndex = nOutFileIndex;
}
protected void setCoverImageFile(String sTarget) {
converterResult.setCoverImageFile(new ContentEntryImpl("Cover image",0,htmlDoc,sTarget));
protected void setCoverFile(String sTarget) {
converterResult.setCoverFile(new ContentEntryImpl("Cover",0,htmlDoc,sTarget));
}
protected void setCoverImageFile(OutputFile file, String sTarget) {
converterResult.setCoverImageFile(new ContentEntryImpl("Cover image",0,file,sTarget));
}
protected Element createElement(String s) { return htmlDOM.createElement(s); }
@ -295,9 +300,10 @@ public class Converter extends ConverterBase {
}
else {
ContentEntry firstHeading = converterResult.getContent().get(0);
// The title page is the first page, unless the first page starts with a heading
if (outFiles.get(0)!=firstHeading.getFile() || firstHeading.getTarget()!=null) {
converterResult.setTitlePageFile(new ContentEntryImpl("Title page", 1, outFiles.get(0), null));
// The title page is the first page after the cover, unless the first page starts with a heading
int nFirstPage = converterResult.getCoverFile()!=null ? 1 : 0;
if (outFiles.get(nFirstPage)!=firstHeading.getFile() || firstHeading.getTarget()!=null) {
converterResult.setTitlePageFile(new ContentEntryImpl("Title page", 1, outFiles.get(nFirstPage), null));
}
// The text page is the one containing the first heading
converterResult.setTextFile(new ContentEntryImpl("Text", 1, firstHeading.getFile(), firstHeading.getTarget()));

View file

@ -20,7 +20,7 @@
*
* All Rights Reserved.
*
* Version 1.2 (2011-06-19)
* Version 1.2 (2011-07-20)
*
*/
@ -238,7 +238,7 @@ public class DrawConverter extends ConverterHelper {
if (bCoverImage) {
Element cover = ofr.getFirstImage();
if (cover!=null) {
converter.setCoverImageFile(null);
converter.setCoverFile(null);
bCollectFullscreenFrames = false;
handleDrawElement(cover,currentNode,null,FULL_SCREEN);
bCollectFullscreenFrames = true;
@ -462,6 +462,10 @@ public class DrawConverter extends ConverterHelper {
if (bgd!=null) {
converter.addDocument(bgd);
sFileName = bgd.getFileName();
// If this is the cover image, add it to the converter result
if (bCoverImage && onode==ofr.getFirstImage()) {
converter.setCoverImageFile(bgd,null);
}
}
}
@ -472,7 +476,7 @@ public class DrawConverter extends ConverterHelper {
String sName = Misc.getAttribute(getFrame(onode),XMLString.DRAW_NAME);
converter.addTarget(image,sName+"|graphic");
image.setAttribute("src",sFileName);
// Add alternative text, using either alt.text, name or file name
Element desc = Misc.getChildByTagName(frame,XMLString.SVG_DESC);
if (desc==null) {