src/eric7/QScintilla/Exporters/ExporterODT.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9413
80c06d472826
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
20 20
21 class ExporterODT(ExporterBase): 21 class ExporterODT(ExporterBase):
22 """ 22 """
23 Class implementing an exporter for ODT. 23 Class implementing an exporter for ODT.
24 """ 24 """
25
25 def __init__(self, editor, parent=None): 26 def __init__(self, editor, parent=None):
26 """ 27 """
27 Constructor 28 Constructor
28 29
29 @param editor reference to the editor object (QScintilla.Editor.Editor) 30 @param editor reference to the editor object (QScintilla.Editor.Editor)
30 @param parent parent object of the exporter (QObject) 31 @param parent parent object of the exporter (QObject)
31 """ 32 """
32 ExporterBase.__init__(self, editor, parent) 33 ExporterBase.__init__(self, editor, parent)
33 34
34 def exportSource(self): 35 def exportSource(self):
35 """ 36 """
36 Public method performing the export. 37 Public method performing the export.
37 """ 38 """
38 filename = self._getFileName(self.tr("ODT Files (*.odt)")) 39 filename = self._getFileName(self.tr("ODT Files (*.odt)"))
39 if not filename: 40 if not filename:
40 return 41 return
41 42
42 tabSize = self.editor.getEditorConfig("TabWidth") 43 tabSize = self.editor.getEditorConfig("TabWidth")
43 if tabSize == 0: 44 if tabSize == 0:
44 tabSize = 4 45 tabSize = 4
45 wysiwyg = Preferences.getEditorExporter("ODT/WYSIWYG") 46 wysiwyg = Preferences.getEditorExporter("ODT/WYSIWYG")
46 onlyStylesUsed = Preferences.getEditorExporter("ODT/OnlyStylesUsed") 47 onlyStylesUsed = Preferences.getEditorExporter("ODT/OnlyStylesUsed")
47 tabs = Preferences.getEditorExporter("ODT/UseTabs") 48 tabs = Preferences.getEditorExporter("ODT/UseTabs")
48 49
49 with EricOverrideCursor(): 50 with EricOverrideCursor():
50 # generate HTML of the source 51 # generate HTML of the source
51 generator = HTMLGenerator(self.editor) 52 generator = HTMLGenerator(self.editor)
52 html = generator.generate( 53 html = generator.generate(
53 tabSize=tabSize, 54 tabSize=tabSize,
54 useTabs=tabs, 55 useTabs=tabs,
55 wysiwyg=wysiwyg, 56 wysiwyg=wysiwyg,
56 folding=False, 57 folding=False,
57 onlyStylesUsed=onlyStylesUsed, 58 onlyStylesUsed=onlyStylesUsed,
58 titleFullPath=False 59 titleFullPath=False,
59 ) 60 )
60 61
61 # convert HTML to ODT 62 # convert HTML to ODT
62 doc = QTextDocument() 63 doc = QTextDocument()
63 doc.setHtml(html) 64 doc.setHtml(html)
64 writer = QTextDocumentWriter(filename) 65 writer = QTextDocumentWriter(filename)
65 ok = writer.write(doc) 66 ok = writer.write(doc)
66 67
67 if not ok: 68 if not ok:
68 EricMessageBox.critical( 69 EricMessageBox.critical(
69 self.editor, 70 self.editor,
70 self.tr("Export source"), 71 self.tr("Export source"),
71 self.tr( 72 self.tr(
72 """<p>The source could not be exported to""" 73 """<p>The source could not be exported to""" """ <b>{0}</b>.</p>"""
73 """ <b>{0}</b>.</p>""").format(filename)) 74 ).format(filename),
75 )

eric ide

mercurial