From 3dd2833a4ee749e2a83e4d2fbb76a94970c17c5f Mon Sep 17 00:00:00 2001 From: henrikjust Date: Wed, 23 Feb 2011 11:09:09 +0000 Subject: [PATCH] EPUB meta data editor second draft git-svn-id: svn://svn.code.sf.net/p/writer2latex/code/trunk@92 f0f2a975-2e09-46c8-9428-3b39399b9f3c --- source/distro/changelog.txt | 2 - source/distro/doc/user-manual.odt | Bin 51671 -> 51645 bytes .../w2lcommon/filter/OptionsDialogBase.java | 6 +- .../da/comp/w2lcommon/helper/DialogBase.java | 13 +- .../comp/writer2xhtml/EpubMetadataDialog.java | 241 ++++++++++++++---- .../comp/writer2xhtml/EpubOptionsDialog.java | 60 +---- .../da/comp/writer4latex/LogViewerDialog.java | 6 +- .../writer2latex/api/ConverterFactory.java | 4 +- source/java/writer2latex/epub/EPUBWriter.java | 4 +- source/java/writer2latex/epub/OPFWriter.java | 6 +- .../java/writer2latex/xhtml/XhtmlConfig.java | 67 +++-- source/oxt/writer2xhtml/Options.xcs | 1 - source/oxt/writer2xhtml/Options.xcu | 3 - .../writer2xhtml/W2XDialogs2/EpubMetadata.xdl | 97 ++++--- .../writer2xhtml/W2XDialogs2/EpubOptions.xdl | 56 ++-- .../epub_export.xhp | 8 - 16 files changed, 336 insertions(+), 238 deletions(-) diff --git a/source/distro/changelog.txt b/source/distro/changelog.txt index 155ee40..b096c6f 100644 --- a/source/distro/changelog.txt +++ b/source/distro/changelog.txt @@ -4,8 +4,6 @@ Changelog for Writer2LaTeX version 1.0 -> 1.2 [w2x] Standard meta data as well as custom meta data can now be edited directly from the EPUB export dialog -[w2x] New option use_custom_metadata (default true) making the inclusion of custom meta data in EPUB export optional - [w2x] Revised the internal structure of EPUB files: Text files are named chapter.xhtml, images are placed in the subdirectory images and name image, styles are placed in the subdirectory styles and names styles.css (custom style sheet) and styles1.css (generated style sheet) diff --git a/source/distro/doc/user-manual.odt b/source/distro/doc/user-manual.odt index 73dba4e975252da6209b19c022b08635ab799916..84e377237d079eaa8e2946686c1ea5d77276c799 100644 GIT binary patch delta 38017 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 delta 38107 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

iACH5207~`aaYCkut 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 H`OW?Z9U+V4 diff --git a/source/java/org/openoffice/da/comp/w2lcommon/filter/OptionsDialogBase.java b/source/java/org/openoffice/da/comp/w2lcommon/filter/OptionsDialogBase.java index 0a587c4..57199a8 100644 --- a/source/java/org/openoffice/da/comp/w2lcommon/filter/OptionsDialogBase.java +++ b/source/java/org/openoffice/da/comp/w2lcommon/filter/OptionsDialogBase.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2010 by Henrik Just + * Copyright: 2002-2011 by Henrik Just * * All Rights Reserved. * - * Version 1.2 (2010-04-12) + * Version 1.2 (2011-02-23) * */ @@ -115,7 +115,7 @@ public abstract class OptionsDialogBase extends DialogBase implements /** Finalize the dialog after execution (eg. save settings to the registry) */ - public void finalize() { + public void endDialog() { try { // Prepare registry view Object rwview = getRegistryView(true); diff --git a/source/java/org/openoffice/da/comp/w2lcommon/helper/DialogBase.java b/source/java/org/openoffice/da/comp/w2lcommon/helper/DialogBase.java index 96c59b5..2f1268a 100644 --- a/source/java/org/openoffice/da/comp/w2lcommon/helper/DialogBase.java +++ b/source/java/org/openoffice/da/comp/w2lcommon/helper/DialogBase.java @@ -16,11 +16,11 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * - * Copyright: 2002-2008 by Henrik Just + * Copyright: 2002-2011 by Henrik Just * * All Rights Reserved. * - * Version 1.0 (2008-09-11) + * Version 1.2 (2011-02-23) * */ @@ -87,10 +87,10 @@ public abstract class DialogBase implements */ protected abstract void initialize(); - /** Finalize the dialog after execution (eg. save settings to the registry) + /** End the dialog after execution (eg. save settings to the registry) * The subclass must implement this */ - protected abstract void finalize(); + protected abstract void endDialog(); ////////////////////////////////////////////////////////////////////////// // Some constants @@ -195,15 +195,12 @@ public abstract class DialogBase implements if (nResult == ExecutableDialogResults.OK) { // Finalize after execution of dialog using method from subclass - finalize(); + endDialog(); } xDialog.endExecute(); return nResult; } catch (Exception e) { -MessageBox msgBox = new MessageBox(xContext); -msgBox.showMessage("Error",e.toString()+" "+e.getStackTrace()[0].toString()); - // continue as if the dialog was executed OK return ExecutableDialogResults.OK; } diff --git a/source/java/org/openoffice/da/comp/writer2xhtml/EpubMetadataDialog.java b/source/java/org/openoffice/da/comp/writer2xhtml/EpubMetadataDialog.java index 5619f13..00350d9 100644 --- a/source/java/org/openoffice/da/comp/writer2xhtml/EpubMetadataDialog.java +++ b/source/java/org/openoffice/da/comp/writer2xhtml/EpubMetadataDialog.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2011-02-22) + * Version 1.2 (2011-02-23) * */ @@ -30,6 +30,9 @@ import java.util.HashSet; import org.openoffice.da.comp.w2lcommon.helper.DialogBase; +import writer2latex.util.CSVList; + +import com.sun.star.awt.XDialog; import com.sun.star.beans.IllegalTypeException; import com.sun.star.beans.NotRemoveableException; import com.sun.star.beans.Property; @@ -65,7 +68,8 @@ public class EpubMetadataDialog extends DialogBase { private static final String COVERAGE="Coverage"; private static final String RIGHTS="Rights"; - // Access to the user defined properties + // Access to the document properties + private XDocumentProperties xDocumentProperties=null; private XPropertyContainer xUserProperties=null; private XPropertySet xUserPropertySet=null; @@ -81,15 +85,193 @@ public class EpubMetadataDialog extends DialogBase { */ public static String __implementationName = "org.openoffice.da.comp.writer2xhtml.EpubMetadataDialog"; - @Override - public String getDialogLibraryName() { + // -------------------------------------------------- + // Ensure that the super can find us :-) + @Override public String getDialogLibraryName() { return "W2XDialogs2"; } - @Override - public String getDialogName() { + @Override public String getDialogName() { return "EpubMetadata"; } + + // -------------------------------------------------- + // Implement the interface XDialogEventHandler + @Override public boolean callHandlerMethod(XDialog xDialog, Object event, String sMethod) { + if (sMethod.equals("UseCustomIdentifierChange")) { + return useCustomIdentifierChange(); + } + else if (sMethod.equals("AuthorAddClick")) { + return authorAddclick(); + } + else if (sMethod.equals("AuthorModifyClick")) { + return authorModifyclick(); + } + else if (sMethod.equals("AuthorDeleteClick")) { + return authorDeleteclick(); + } + else if (sMethod.equals("AuthorUpClick")) { + return authorUpclick(); + } + else if (sMethod.equals("AuthorDownClick")) { + return authorDownclick(); + } + else if (sMethod.equals("DateAddClick")) { + return dateAddClick(); + } + else if (sMethod.equals("DateModifyClick")) { + return dateModifyClick(); + } + else if (sMethod.equals("DateDeleteClick")) { + return dateDeleteClick(); + } + return false; + } + + @Override public String[] getSupportedMethodNames() { + String[] sNames = { "UseCustomIdentifierChange", + "AuthorAddClick", "AuthorModifyClick", "AuthorDeleteClick", "AuthorUpClick", "AuthorDownClick", + "DataAddClick", "DateModifyClick", "DateDeleteClick"}; + return sNames; + } + + private boolean useCustomIdentifierChange() { + boolean bEnabled = getCheckBoxStateAsBoolean("UseCustomIdentifier"); + setControlEnabled("IdentifierLabel",bEnabled); + setControlEnabled("Identifier",bEnabled); + setControlEnabled("IdentifierTypeLabel",bEnabled); + setControlEnabled("IdentifierType",bEnabled); + return true; + } + + private boolean authorAddclick() { + System.out.println("AuthorAddClick"); + return true; + } + + private boolean authorModifyclick() { + System.out.println("AuthorModifyClick"); + return true; + } + + private boolean authorDeleteclick() { + System.out.println("AuthorDeleteClick"); + return true; + } + + private boolean authorUpclick() { + System.out.println("AuthorUpClick"); + return true; + } + + private boolean authorDownclick() { + System.out.println("AuthorDownClick"); + return true; + } + + private boolean dateAddClick() { + System.out.println("DateAddClick"); + return true; + } + + private boolean dateModifyClick() { + System.out.println("DateModifyClick"); + return true; + } + + private boolean dateDeleteClick() { + System.out.println("DateDeleteClick"); + return true; + } + + // -------------------------------------------------- + // Get and set properties from and to current document + + @Override protected void initialize() { + // Get the document properties + XDesktop xDesktop; + Object desktop; + try { + desktop = xContext.getServiceManager().createInstanceWithContext("com.sun.star.frame.Desktop", xContext); + } catch (Exception e) { + // Failed to get desktop + return; + } + xDesktop = (XDesktop) UnoRuntime.queryInterface(com.sun.star.frame.XDesktop.class, desktop); + XComponent xComponent = xDesktop.getCurrentComponent(); + XDocumentPropertiesSupplier xSupplier = (XDocumentPropertiesSupplier) UnoRuntime.queryInterface(XDocumentPropertiesSupplier.class, xComponent); + + // Get the document properties (we need several interfaces) + xDocumentProperties = xSupplier.getDocumentProperties(); + xUserProperties= xDocumentProperties.getUserDefinedProperties(); + xUserPropertySet = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xUserProperties); + + // Get the custom identifier and set the text fields + String[] sIdentifiers = getProperties(IDENTIFIER,false); + setCheckBoxStateAsBoolean("UseCustomIdentifier",sIdentifiers.length>0); + useCustomIdentifierChange(); + if (sIdentifiers.length>0) { // Use the first if we have several... + setTextFieldText("Identifier",getValue(sIdentifiers[0])); + int nDot = sIdentifiers[0].indexOf("."); + setTextFieldText("IdentifierType",nDot>-1 ? sIdentifiers[0].substring(nDot+1) : ""); + } + + // Get the standard properties and set the text fields + setTextFieldText("Title",xDocumentProperties.getTitle()); + setTextFieldText("Subject",xDocumentProperties.getSubject()); + String[] sKeywords = xDocumentProperties.getKeywords(); + CSVList keywords = new CSVList(", "); + for (String sKeyword : sKeywords) { + keywords.addValue(sKeyword); + } + setTextFieldText("Keywords",keywords.toString()); + setTextFieldText("Description",xDocumentProperties.getDescription()); + + // Get the simple user properties and set the text fields + readSimpleProperty(PUBLISHER); + readSimpleProperty(TYPE); + readSimpleProperty(FORMAT); + readSimpleProperty(SOURCE); + readSimpleProperty(RELATION); + readSimpleProperty(COVERAGE); + readSimpleProperty(RIGHTS); + + } + + @Override protected void endDialog() { + // Set the custom identifier from the text fields + String[] sIdentifiers = getProperties(IDENTIFIER,false); + for (String sIdentifier : sIdentifiers) { // Remove old identifier(s) + removeProperty(sIdentifier); + } + if (getCheckBoxStateAsBoolean("UseCustomIdentifier")) { + String sName = IDENTIFIER; + if (getTextFieldText("IdentifierType").trim().length()>0) { + sName+="."+getTextFieldText("IdentifierType").trim(); + } + addProperty(sName); + setValue(sName,getTextFieldText("Identifier")); + } + + // Set the standard properties from the text fields + xDocumentProperties.setTitle(getTextFieldText("Title")); + xDocumentProperties.setSubject(getTextFieldText("Subject")); + String[] sKeywords = getTextFieldText("Keywords").split(","); + for (int i=0; i diff --git a/source/java/writer2latex/epub/EPUBWriter.java b/source/java/writer2latex/epub/EPUBWriter.java index e520533..1d6bfa2 100644 --- a/source/java/writer2latex/epub/EPUBWriter.java +++ b/source/java/writer2latex/epub/EPUBWriter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * version 1.2 (2011-02-17) + * version 1.2 (2011-02-23) * */ @@ -89,7 +89,7 @@ public class EPUBWriter implements OutputFile { zos.closeEntry(); // Then manifest - OPFWriter manifest = new OPFWriter(xhtmlResult, config.xhtmlUseDublinCore(), config.useCustomMetadata()); + OPFWriter manifest = new OPFWriter(xhtmlResult, config.xhtmlUseDublinCore()); ZipEntry manifestEntry = new ZipEntry("OEBPS/book.opf"); zos.putNextEntry(manifestEntry); writeZipEntry(manifest,zos); diff --git a/source/java/writer2latex/epub/OPFWriter.java b/source/java/writer2latex/epub/OPFWriter.java index 4a82361..a7ac822 100644 --- a/source/java/writer2latex/epub/OPFWriter.java +++ b/source/java/writer2latex/epub/OPFWriter.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * version 1.2 (2011-02-17) + * version 1.2 (2011-02-23) * */ @@ -51,7 +51,7 @@ import writer2latex.xmerge.NewDOMDocument; public class OPFWriter extends NewDOMDocument { private String sUID=null; - public OPFWriter(ConverterResult cr, boolean bUseDublinCore, boolean bUseCustomMetadata) { + public OPFWriter(ConverterResult cr, boolean bUseDublinCore) { super("book", "opf"); // create DOM @@ -108,7 +108,7 @@ public class OPFWriter extends NewDOMDocument { boolean bHasIdentifier = false; boolean bHasCreator = false; boolean bHasDate = false; - if (bUseCustomMetadata) { + if (bUseDublinCore) { // First rearrange the user-defined meta data Map userDefinedMetaData = cr.getMetaData().getUserDefinedMetaData(); Map dc = new HashMap(); diff --git a/source/java/writer2latex/xhtml/XhtmlConfig.java b/source/java/writer2latex/xhtml/XhtmlConfig.java index f7ce56a..633e75a 100644 --- a/source/java/writer2latex/xhtml/XhtmlConfig.java +++ b/source/java/writer2latex/xhtml/XhtmlConfig.java @@ -20,7 +20,7 @@ * * All Rights Reserved. * - * Version 1.2 (2011-02-17) + * Version 1.2 (2011-02-23) * */ @@ -41,7 +41,7 @@ import writer2latex.util.Misc; public class XhtmlConfig extends writer2latex.base.ConfigBase { // Implement configuration methods - protected int getOptionCount() { return 54; } + protected int getOptionCount() { return 53; } protected String getDefaultConfigPath() { return "/writer2latex/xhtml/config/"; } // Override setOption: To be backwards compatible, we must accept options @@ -106,37 +106,36 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { private static final int USE_DEFAULT_FONT = 20; private static final int DEFAULT_FONT_NAME = 21; private static final int USE_DUBLIN_CORE = 22; - private static final int USE_CUSTOM_METADATA = 23; - private static final int NOTES = 24; - private static final int DISPLAY_HIDDEN_TEXT = 25; - private static final int CONVERT_TO_PX = 26; - private static final int SCALING = 27; - private static final int COLUMN_SCALING = 28; - private static final int RELATIVE_FONT_SIZE = 29; - private static final int FONT_SCALING = 30; - private static final int FLOAT_OBJECTS = 31; - private static final int TABSTOP_STYLE = 32; - private static final int FORMULAS = 33; - private static final int ENDNOTES_HEADING = 34; - private static final int EXTERNAL_TOC_DEPTH = 35; - private static final int INCLUDE_TOC = 36; - private static final int SPLIT_LEVEL = 37; - private static final int REPEAT_LEVELS = 38; - private static final int PAGE_BREAK_SPLIT = 39; - private static final int SPLIT_AFTER = 40; - private static final int CALC_SPLIT = 41; - private static final int DISPLAY_HIDDEN_SHEETS = 42; - private static final int DISPLAY_HIDDEN_ROWS_COLS = 43; - private static final int DISPLAY_FILTERED_ROWS_COLS = 44; - private static final int APPLY_PRINT_RANGES = 45; - private static final int USE_TITLE_AS_HEADING = 46; - private static final int USE_SHEET_NAMES_AS_HEADINGS = 47; - private static final int XSLT_PATH = 48; - private static final int SAVE_IMAGES_IN_SUBDIR = 49; - private static final int UPLINK = 50; - private static final int DIRECTORY_ICON = 51; - private static final int DOCUMENT_ICON = 52; - private static final int ZEN_HACK = 53; // temporary hack for ePub Zen Garden styles + private static final int NOTES = 23; + private static final int DISPLAY_HIDDEN_TEXT = 24; + private static final int CONVERT_TO_PX = 25; + private static final int SCALING = 26; + private static final int COLUMN_SCALING = 27; + private static final int RELATIVE_FONT_SIZE = 28; + private static final int FONT_SCALING = 29; + private static final int FLOAT_OBJECTS = 30; + private static final int TABSTOP_STYLE = 31; + private static final int FORMULAS = 32; + private static final int ENDNOTES_HEADING = 33; + private static final int EXTERNAL_TOC_DEPTH = 34; + private static final int INCLUDE_TOC = 35; + private static final int SPLIT_LEVEL = 36; + private static final int REPEAT_LEVELS = 37; + private static final int PAGE_BREAK_SPLIT = 38; + private static final int SPLIT_AFTER = 39; + private static final int CALC_SPLIT = 40; + private static final int DISPLAY_HIDDEN_SHEETS = 41; + private static final int DISPLAY_HIDDEN_ROWS_COLS = 42; + private static final int DISPLAY_FILTERED_ROWS_COLS = 43; + private static final int APPLY_PRINT_RANGES = 44; + private static final int USE_TITLE_AS_HEADING = 45; + private static final int USE_SHEET_NAMES_AS_HEADINGS = 46; + private static final int XSLT_PATH = 47; + private static final int SAVE_IMAGES_IN_SUBDIR = 48; + private static final int UPLINK = 49; + private static final int DIRECTORY_ICON = 50; + private static final int DOCUMENT_ICON = 51; + private static final int ZEN_HACK = 52; // temporary hack for ePub Zen Garden styles protected ComplexOption xheading = addComplexOption("heading-map"); protected ComplexOption xpar = addComplexOption("paragraph-map"); @@ -178,7 +177,6 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { options[USE_DEFAULT_FONT] = new BooleanOption("use_default_font","false"); options[DEFAULT_FONT_NAME] = new BooleanOption("default_font_name",""); options[USE_DUBLIN_CORE] = new BooleanOption("use_dublin_core","true"); - options[USE_CUSTOM_METADATA] = new BooleanOption("use_custom_metadata","true"); options[NOTES] = new BooleanOption("notes","true"); options[DISPLAY_HIDDEN_TEXT] = new BooleanOption("display_hidden_text", "false"); options[CONVERT_TO_PX] = new BooleanOption("convert_to_px","true"); @@ -343,7 +341,6 @@ public class XhtmlConfig extends writer2latex.base.ConfigBase { public boolean useDefaultFont() { return ((BooleanOption) options[USE_DEFAULT_FONT]).getValue(); } public String defaultFontName() { return options[DEFAULT_FONT_NAME].getString(); } public boolean xhtmlUseDublinCore() { return ((BooleanOption) options[USE_DUBLIN_CORE]).getValue(); } - public boolean useCustomMetadata() { return ((BooleanOption) options[USE_CUSTOM_METADATA]).getValue(); } public boolean xhtmlNotes() { return ((BooleanOption) options[NOTES]).getValue(); } public boolean displayHiddenText() { return ((BooleanOption) options[DISPLAY_HIDDEN_TEXT]).getValue(); } public boolean xhtmlConvertToPx() { return ((BooleanOption) options[CONVERT_TO_PX]).getValue(); } diff --git a/source/oxt/writer2xhtml/Options.xcs b/source/oxt/writer2xhtml/Options.xcs index f8bb42a..df918a5 100644 --- a/source/oxt/writer2xhtml/Options.xcs +++ b/source/oxt/writer2xhtml/Options.xcs @@ -70,7 +70,6 @@ - diff --git a/source/oxt/writer2xhtml/Options.xcu b/source/oxt/writer2xhtml/Options.xcu index c2748f3..003ef84 100644 --- a/source/oxt/writer2xhtml/Options.xcu +++ b/source/oxt/writer2xhtml/Options.xcu @@ -103,9 +103,6 @@ true - - true - false diff --git a/source/oxt/writer2xhtml/W2XDialogs2/EpubMetadata.xdl b/source/oxt/writer2xhtml/W2XDialogs2/EpubMetadata.xdl index d7ccad0..0853ba0 100644 --- a/source/oxt/writer2xhtml/W2XDialogs2/EpubMetadata.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs2/EpubMetadata.xdl @@ -1,12 +1,14 @@ - + - - - - - + + + + + + + @@ -15,35 +17,60 @@ - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/oxt/writer2xhtml/W2XDialogs2/EpubOptions.xdl b/source/oxt/writer2xhtml/W2XDialogs2/EpubOptions.xdl index efd7497..890deae 100755 --- a/source/oxt/writer2xhtml/W2XDialogs2/EpubOptions.xdl +++ b/source/oxt/writer2xhtml/W2XDialogs2/EpubOptions.xdl @@ -1,6 +1,6 @@ - + @@ -16,21 +16,21 @@ - + - + - + - + - - + + @@ -40,41 +40,41 @@ - - - - + + + + - + - + - + - + - - + + - - + + - - - - + + + + @@ -88,14 +88,10 @@ - - - - + + + - - - \ No newline at end of file diff --git a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/epub_export.xhp b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/epub_export.xhp index 9323567..a65129e 100644 --- a/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/epub_export.xhp +++ b/source/oxt/writer2xhtml/help/en/org.openoffice.da.writer2xhtml.oxt/epub_export.xhp @@ -124,14 +124,6 @@ are exported, otherwise only the title is exported. Click Edit to open the dialog to edit the document properties. - - Check this if you want to export custom document properties - Export custom document properties - The EPUB format supports a number of additional document properties, which can be - defined using custom document properties in %PRODUCTNAME Writer. - If you select this option, these properties will be exported. - Click Edit to edit the custom document properties. - Document division Technically an EPUB document consists of several document parts in XHTML format. In principle you can have only one part, but this is not recommended. For performance reasons and because some EPUB readers have