7 Module implementing an exporter for ODT. |
7 Module implementing an exporter for ODT. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt6.QtGui import QTextDocument, QTextDocumentWriter |
10 from PyQt6.QtGui import QTextDocument, QTextDocumentWriter |
11 |
11 |
12 from E5Gui import E5MessageBox |
12 from E5Gui import EricMessageBox |
13 from E5Gui.E5OverrideCursor import E5OverrideCursor |
13 from E5Gui.EricOverrideCursor import EricOverrideCursor |
14 |
14 |
15 from .ExporterBase import ExporterBase |
15 from .ExporterBase import ExporterBase |
16 from .ExporterHTML import HTMLGenerator |
16 from .ExporterHTML import HTMLGenerator |
17 |
17 |
18 import Preferences |
18 import Preferences |
44 tabSize = 4 |
44 tabSize = 4 |
45 wysiwyg = Preferences.getEditorExporter("ODT/WYSIWYG") |
45 wysiwyg = Preferences.getEditorExporter("ODT/WYSIWYG") |
46 onlyStylesUsed = Preferences.getEditorExporter("ODT/OnlyStylesUsed") |
46 onlyStylesUsed = Preferences.getEditorExporter("ODT/OnlyStylesUsed") |
47 tabs = Preferences.getEditorExporter("ODT/UseTabs") |
47 tabs = Preferences.getEditorExporter("ODT/UseTabs") |
48 |
48 |
49 with E5OverrideCursor(): |
49 with EricOverrideCursor(): |
50 # generate HTML of the source |
50 # generate HTML of the source |
51 generator = HTMLGenerator(self.editor) |
51 generator = HTMLGenerator(self.editor) |
52 html = generator.generate( |
52 html = generator.generate( |
53 tabSize=tabSize, |
53 tabSize=tabSize, |
54 useTabs=tabs, |
54 useTabs=tabs, |
63 doc.setHtml(html) |
63 doc.setHtml(html) |
64 writer = QTextDocumentWriter(filename) |
64 writer = QTextDocumentWriter(filename) |
65 ok = writer.write(doc) |
65 ok = writer.write(doc) |
66 |
66 |
67 if not ok: |
67 if not ok: |
68 E5MessageBox.critical( |
68 EricMessageBox.critical( |
69 self.editor, |
69 self.editor, |
70 self.tr("Export source"), |
70 self.tr("Export source"), |
71 self.tr( |
71 self.tr( |
72 """<p>The source could not be exported to""" |
72 """<p>The source could not be exported to""" |
73 """ <b>{0}</b>.</p>""").format(filename)) |
73 """ <b>{0}</b>.</p>""").format(filename)) |