5 |
5 |
6 """ |
6 """ |
7 Module implementing the Editor Exporters configuration page. |
7 Module implementing the Editor Exporters configuration page. |
8 """ |
8 """ |
9 |
9 |
10 from PyQt4.QtCore import QVariant, pyqtSlot |
10 from PyQt4.QtCore import pyqtSlot |
11 from PyQt4.QtGui import QFontDialog |
11 from PyQt4.QtGui import QFontDialog |
12 |
12 |
13 from ConfigurationPageBase import ConfigurationPageBase |
13 from ConfigurationPageBase import ConfigurationPageBase |
14 from Ui_EditorExportersPage import Ui_EditorExportersPage |
14 from Ui_EditorExportersPage import Ui_EditorExportersPage |
15 |
15 |
35 self.pageIds['RTF'] = self.stackedWidget.indexOf(self.rtfPage) |
35 self.pageIds['RTF'] = self.stackedWidget.indexOf(self.rtfPage) |
36 self.pageIds['TeX'] = self.stackedWidget.indexOf(self.texPage) |
36 self.pageIds['TeX'] = self.stackedWidget.indexOf(self.texPage) |
37 exporters = self.pageIds.keys() |
37 exporters = self.pageIds.keys() |
38 exporters.sort() |
38 exporters.sort() |
39 for exporter in exporters: |
39 for exporter in exporters: |
40 self.exportersCombo.addItem(exporter, QVariant(self.pageIds[exporter])) |
40 self.exportersCombo.addItem(exporter, self.pageIds[exporter]) |
41 |
41 |
42 self.pdfFontCombo.addItem(self.trUtf8("Courier"), QVariant("Courier")) |
42 self.pdfFontCombo.addItem(self.trUtf8("Courier"), "Courier") |
43 self.pdfFontCombo.addItem(self.trUtf8("Helvetica"), QVariant("Helvetica")) |
43 self.pdfFontCombo.addItem(self.trUtf8("Helvetica"), "Helvetica") |
44 self.pdfFontCombo.addItem(self.trUtf8("Times"), QVariant("Times")) |
44 self.pdfFontCombo.addItem(self.trUtf8("Times"), "Times") |
45 |
45 |
46 self.pdfPageSizeCombo.addItem(self.trUtf8("A4"), QVariant("A4")) |
46 self.pdfPageSizeCombo.addItem(self.trUtf8("A4"), "A4") |
47 self.pdfPageSizeCombo.addItem(self.trUtf8("Letter"), QVariant("Letter")) |
47 self.pdfPageSizeCombo.addItem(self.trUtf8("Letter"), "Letter") |
48 |
48 |
49 # HTML |
49 # HTML |
50 self.htmlWysiwygCheckBox.setChecked(\ |
50 self.htmlWysiwygCheckBox.setChecked(\ |
51 Preferences.getEditorExporter("HTML/WYSIWYG")) |
51 Preferences.getEditorExporter("HTML/WYSIWYG")) |
52 self.htmlFoldingCheckBox.setChecked(\ |
52 self.htmlFoldingCheckBox.setChecked(\ |
59 Preferences.getEditorExporter("HTML/UseTabs")) |
59 Preferences.getEditorExporter("HTML/UseTabs")) |
60 |
60 |
61 # PDF |
61 # PDF |
62 self.pdfMagnificationSlider.setValue(\ |
62 self.pdfMagnificationSlider.setValue(\ |
63 Preferences.getEditorExporter("PDF/Magnification")) |
63 Preferences.getEditorExporter("PDF/Magnification")) |
64 ind = self.pdfFontCombo.findData(QVariant(\ |
64 ind = self.pdfFontCombo.findData(\ |
65 Preferences.getEditorExporter("PDF/Font"))) |
65 Preferences.getEditorExporter("PDF/Font")) |
66 self.pdfFontCombo.setCurrentIndex(ind) |
66 self.pdfFontCombo.setCurrentIndex(ind) |
67 ind = self.pdfPageSizeCombo.findData(QVariant(\ |
67 ind = self.pdfPageSizeCombo.findData(\ |
68 Preferences.getEditorExporter("PDF/PageSize"))) |
68 Preferences.getEditorExporter("PDF/PageSize")) |
69 self.pdfPageSizeCombo.setCurrentIndex(ind) |
69 self.pdfPageSizeCombo.setCurrentIndex(ind) |
70 self.pdfMarginTopSpin.setValue(\ |
70 self.pdfMarginTopSpin.setValue(\ |
71 Preferences.getEditorExporter("PDF/MarginTop")) |
71 Preferences.getEditorExporter("PDF/MarginTop")) |
72 self.pdfMarginBottomSpin.setValue(\ |
72 self.pdfMarginBottomSpin.setValue(\ |
73 Preferences.getEditorExporter("PDF/MarginBottom")) |
73 Preferences.getEditorExporter("PDF/MarginBottom")) |
96 """ |
96 """ |
97 Public slot to save the Editor Typing configuration. |
97 Public slot to save the Editor Typing configuration. |
98 """ |
98 """ |
99 # HTML |
99 # HTML |
100 Preferences.setEditorExporter("HTML/WYSIWYG", |
100 Preferences.setEditorExporter("HTML/WYSIWYG", |
101 int(self.htmlWysiwygCheckBox.isChecked())) |
101 self.htmlWysiwygCheckBox.isChecked()) |
102 Preferences.setEditorExporter("HTML/Folding", |
102 Preferences.setEditorExporter("HTML/Folding", |
103 int(self.htmlFoldingCheckBox.isChecked())) |
103 self.htmlFoldingCheckBox.isChecked()) |
104 Preferences.setEditorExporter("HTML/OnlyStylesUsed", |
104 Preferences.setEditorExporter("HTML/OnlyStylesUsed", |
105 int(self.htmlStylesCheckBox.isChecked())) |
105 self.htmlStylesCheckBox.isChecked()) |
106 Preferences.setEditorExporter("HTML/FullPathAsTitle", |
106 Preferences.setEditorExporter("HTML/FullPathAsTitle", |
107 int(self.htmlTitleCheckBox.isChecked())) |
107 self.htmlTitleCheckBox.isChecked()) |
108 Preferences.setEditorExporter("HTML/UseTabs", |
108 Preferences.setEditorExporter("HTML/UseTabs", |
109 int(self.htmlTabsCheckBox.isChecked())) |
109 self.htmlTabsCheckBox.isChecked()) |
110 |
110 |
111 # PDF |
111 # PDF |
112 Preferences.setEditorExporter("PDF/Magnification", |
112 Preferences.setEditorExporter("PDF/Magnification", |
113 self.pdfMagnificationSlider.value()) |
113 self.pdfMagnificationSlider.value()) |
114 Preferences.setEditorExporter("PDF/Font", |
114 Preferences.setEditorExporter("PDF/Font", |
115 self.pdfFontCombo.itemData(self.pdfFontCombo.currentIndex())\ |
115 self.pdfFontCombo.itemData(self.pdfFontCombo.currentIndex())) |
116 .toString()) |
|
117 Preferences.setEditorExporter("PDF/PageSize", |
116 Preferences.setEditorExporter("PDF/PageSize", |
118 self.pdfPageSizeCombo.itemData(self.pdfPageSizeCombo.currentIndex())\ |
117 self.pdfPageSizeCombo.itemData(self.pdfPageSizeCombo.currentIndex())) |
119 .toString()) |
|
120 Preferences.setEditorExporter("PDF/MarginTop", |
118 Preferences.setEditorExporter("PDF/MarginTop", |
121 self.pdfMarginTopSpin.value()) |
119 self.pdfMarginTopSpin.value()) |
122 Preferences.setEditorExporter("PDF/MarginBottom", |
120 Preferences.setEditorExporter("PDF/MarginBottom", |
123 self.pdfMarginBottomSpin.value()) |
121 self.pdfMarginBottomSpin.value()) |
124 Preferences.setEditorExporter("PDF/MarginLeft", |
122 Preferences.setEditorExporter("PDF/MarginLeft", |
126 Preferences.setEditorExporter("PDF/MarginRight", |
124 Preferences.setEditorExporter("PDF/MarginRight", |
127 self.pdfMarginRightSpin.value()) |
125 self.pdfMarginRightSpin.value()) |
128 |
126 |
129 # RTF |
127 # RTF |
130 Preferences.setEditorExporter("RTF/WYSIWYG", |
128 Preferences.setEditorExporter("RTF/WYSIWYG", |
131 int(self.rtfWysiwygCheckBox.isChecked())) |
129 self.rtfWysiwygCheckBox.isChecked()) |
132 Preferences.setEditorExporter("RTF/UseTabs", |
130 Preferences.setEditorExporter("RTF/UseTabs", |
133 int(self.rtfTabsCheckBox.isChecked())) |
131 self.rtfTabsCheckBox.isChecked()) |
134 Preferences.setEditorExporter("RTF/Font", self.rtfFont) |
132 Preferences.setEditorExporter("RTF/Font", self.rtfFont) |
135 |
133 |
136 # TeX |
134 # TeX |
137 Preferences.setEditorExporter("TeX/OnlyStylesUsed", |
135 Preferences.setEditorExporter("TeX/OnlyStylesUsed", |
138 int(self.texStylesCheckBox.isChecked())) |
136 self.texStylesCheckBox.isChecked()) |
139 Preferences.setEditorExporter("TeX/FullPathAsTitle", |
137 Preferences.setEditorExporter("TeX/FullPathAsTitle", |
140 int(self.texTitleCheckBox.isChecked())) |
138 self.texTitleCheckBox.isChecked()) |
141 |
139 |
142 @pyqtSlot(str) |
140 @pyqtSlot(str) |
143 def on_exportersCombo_activated(self, exporter): |
141 def on_exportersCombo_activated(self, exporter): |
144 """ |
142 """ |
145 Private slot to select the page related to the selected exporter. |
143 Private slot to select the page related to the selected exporter. |