eric6/Preferences/ConfigurationPages/EditorFilePage.py

Wed, 23 Oct 2019 19:57:12 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 23 Oct 2019 19:57:12 +0200
changeset 7304
b072a364dd8d
parent 7301
6df711503ec0
child 7309
5a434813eef3
permissions
-rw-r--r--

PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.

0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
6645
ad476851d7e0 Updated copyright for 2019.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6105
diff changeset
3 # Copyright (c) 2006 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
1353
e1c0af081a8e Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1196
diff changeset
7 Module implementing the Editor File Handling configuration page.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2424
diff changeset
10
3656
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3515
diff changeset
11 from PyQt5.QtCore import pyqtSlot
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3515
diff changeset
12 from PyQt5.QtWidgets import QListWidgetItem, QInputDialog, QLineEdit
441956d8fce5 Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3515
diff changeset
13 from PyQt5.Qsci import QsciScintilla
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
15 from E5Gui import E5MessageBox
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
16
12
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
17 from .ConfigurationPageBase import ConfigurationPageBase
1d8dd9706f46 First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7
diff changeset
18 from .Ui_EditorFilePage import Ui_EditorFilePage
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 from Utilities import supportedCodecs
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 import Preferences
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
23
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 class EditorFilePage(ConfigurationPageBase, Ui_EditorFilePage):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
1353
e1c0af081a8e Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1196
diff changeset
26 Class implementing the Editor File Handling configuration page.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 def __init__(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 Constructor
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
2525
8b507a9a2d40 Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents: 2424
diff changeset
32 super(EditorFilePage, self).__init__()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 self.setupUi(self)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 self.setObjectName("EditorFilePage")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
36 self.__showsOpenFilters = True
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
37 self.openFileFilters = Preferences.getEditor(
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
38 "AdditionalOpenFilters")[:]
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
39 self.saveFileFilters = Preferences.getEditor(
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
40 "AdditionalSaveFilters")[:]
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
41 self.fileFiltersList.addItems(self.openFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
42
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
43 self.__setDefaultFiltersLists()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
45 self.defaultEncodingComboBox.addItems(sorted(supportedCodecs))
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
47 self.previewMarkdownHTMLFormatComboBox.addItems(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
48 ["XHTML1", "HTML4", "HTML5"])
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
49 self.previewRestDocutilsHTMLFormatComboBox.addItems(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
50 ["HTML4", "HTML5"])
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
51
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
52 # set initial values
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
53 self.autosaveSlider.setValue(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
54 Preferences.getEditor("AutosaveInterval"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
55 self.createBackupFileCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
56 Preferences.getEditor("CreateBackupFile"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
57 self.defaultEncodingComboBox.setCurrentIndex(
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
58 self.defaultEncodingComboBox.findText(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 Preferences.getEditor("DefaultEncoding")))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
60 self.advEncodingCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61 Preferences.getEditor("AdvancedEncodingDetection"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
62 self.warnFilesizeSpinBox.setValue(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
63 Preferences.getEditor("WarnFilesize"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
64 self.clearBreakpointsCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
65 Preferences.getEditor("ClearBreaksOnClose"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
66 self.automaticReopenCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
67 Preferences.getEditor("AutoReopen"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
68 self.stripWhitespaceCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 Preferences.getEditor("StripTrailingWhitespace"))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
70 self.openFilesFilterComboBox.setCurrentIndex(
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
71 self.openFilesFilterComboBox.findText(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 Preferences.getEditor("DefaultOpenFilter")))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
73 self.saveFilesFilterComboBox.setCurrentIndex(
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
74 self.saveFilesFilterComboBox.findText(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
75 Preferences.getEditor("DefaultSaveFilter")))
564
b3d966393ba9 Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 13
diff changeset
76 self.automaticEolConversionCheckBox.setChecked(
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 Preferences.getEditor("AutomaticEOLConversion"))
6105
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
78 self.insertFinalNewlineCheckBox.setChecked(
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
79 Preferences.getEditor("InsertFinalNewline"))
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 eolMode = Preferences.getEditor("EOLMode")
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 if eolMode == QsciScintilla.EolWindows:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83 self.crlfRadioButton.setChecked(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
84 elif eolMode == QsciScintilla.EolMac:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.crRadioButton.setChecked(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 elif eolMode == QsciScintilla.EolUnix:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 self.lfRadioButton.setChecked(True)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
2424
8fe1fdc174ab Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
89 self.previewHtmlExtensionsEdit.setText(
8fe1fdc174ab Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
90 " ".join(Preferences.getEditor("PreviewHtmlFileNameExtensions")))
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
91
2424
8fe1fdc174ab Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
92 self.previewMarkdownExtensionsEdit.setText(
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
93 " ".join(
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
94 Preferences.getEditor("PreviewMarkdownFileNameExtensions")))
3979
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
95 self.previewRestSphinxCheckBox.setChecked(
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
96 Preferences.getEditor("PreviewRestUseSphinx"))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
97 self.previewMarkdownNLtoBreakCheckBox.setChecked(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
98 Preferences.getEditor("PreviewMarkdownNLtoBR"))
7301
6df711503ec0 PreviewerHTML: enhanced the Markdown previewer by using the PyMdown extensions, if they are available and have been enabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7263
diff changeset
99 self.previewMarkdownPyMdownCheckBox.setChecked(
6df711503ec0 PreviewerHTML: enhanced the Markdown previewer by using the PyMdown extensions, if they are available and have been enabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7263
diff changeset
100 Preferences.getEditor("PreviewMarkdownUsePyMdownExtensions"))
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
101 self.previewMarkdownMathJaxCheckBox.setChecked(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
102 Preferences.getEditor("PreviewMarkdownMathJax"))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
103 index = self.previewMarkdownHTMLFormatComboBox.findText(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
104 Preferences.getEditor("PreviewMarkdownHTMLFormat"))
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
105 self.previewMarkdownHTMLFormatComboBox.setCurrentIndex(index)
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
106
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
107 self.previewRestExtensionsEdit.setText(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
108 " ".join(Preferences.getEditor("PreviewRestFileNameExtensions")))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
109 index = self.previewRestDocutilsHTMLFormatComboBox.findText(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
110 Preferences.getEditor("PreviewRestDocutilsHTMLFormat"))
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
111 self.previewRestDocutilsHTMLFormatComboBox.setCurrentIndex(index)
1196
77da430b4080 Added an action to preview the file in the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
112
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
113 self.previewQssExtensionsEdit.setText(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
114 " ".join(Preferences.getEditor("PreviewQssFileNameExtensions")))
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
115
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
116 def save(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
117 """
1353
e1c0af081a8e Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1196
diff changeset
118 Public slot to save the Editor File Handling configuration.
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
119 """
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
120 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
121 "AutosaveInterval",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 self.autosaveSlider.value())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
123 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
124 "CreateBackupFile",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
125 self.createBackupFileCheckBox.isChecked())
6
52e8c820d0dd Removed some superfluous unicode() calls.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
126 enc = self.defaultEncodingComboBox.currentText()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 if not enc:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 enc = "utf-8"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 Preferences.setEditor("DefaultEncoding", enc)
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
130 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
131 "AdvancedEncodingDetection",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
132 self.advEncodingCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
133 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
134 "WarnFilesize",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 self.warnFilesizeSpinBox.value())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
136 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
137 "ClearBreaksOnClose",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
138 self.clearBreakpointsCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
139 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
140 "AutoReopen",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
141 self.automaticReopenCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
142 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
143 "StripTrailingWhitespace",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
144 self.stripWhitespaceCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
145 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
146 "DefaultOpenFilter",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
147 self.openFilesFilterComboBox.currentText())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
148 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
149 "DefaultSaveFilter",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
150 self.saveFilesFilterComboBox.currentText())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
151 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
152 "AutomaticEOLConversion",
7
c679fb30c8f3 Change code dealing with QVariant (and QSettings) to use the PyQt4 QVariant v2 API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6
diff changeset
153 self.automaticEolConversionCheckBox.isChecked())
6105
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
154 Preferences.setEditor(
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
155 "InsertFinalNewline",
cbd34d558bd9 Finished implementing support for EditorConfig for the IDE editor component and the standalone editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
156 self.insertFinalNewlineCheckBox.isChecked())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
157
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
158 if self.crlfRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
159 Preferences.setEditor("EOLMode", QsciScintilla.EolWindows)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
160 elif self.crRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
161 Preferences.setEditor("EOLMode", QsciScintilla.EolMac)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162 elif self.lfRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 Preferences.setEditor("EOLMode", QsciScintilla.EolUnix)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
164
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
165 self.__extractFileFilters()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
166 Preferences.setEditor("AdditionalOpenFilters", self.openFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
167 Preferences.setEditor("AdditionalSaveFilters", self.saveFileFilters)
1196
77da430b4080 Added an action to preview the file in the eric web browser.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1131
diff changeset
168
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
169 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
170 "PreviewHtmlFileNameExtensions",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
171 [ext.strip() for ext in
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
172 self.previewHtmlExtensionsEdit.text().split()])
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
173
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
174 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
175 "PreviewMarkdownFileNameExtensions",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
176 [ext.strip() for ext in
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
177 self.previewMarkdownExtensionsEdit.text().split()])
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
178 Preferences.setEditor(
3979
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
179 "PreviewRestUseSphinx",
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
180 self.previewRestSphinxCheckBox.isChecked())
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
181 Preferences.setEditor(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
182 "PreviewMarkdownNLtoBR",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
183 self.previewMarkdownNLtoBreakCheckBox.isChecked())
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
184 Preferences.setEditor(
7301
6df711503ec0 PreviewerHTML: enhanced the Markdown previewer by using the PyMdown extensions, if they are available and have been enabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7263
diff changeset
185 "PreviewMarkdownUsePyMdownExtensions",
6df711503ec0 PreviewerHTML: enhanced the Markdown previewer by using the PyMdown extensions, if they are available and have been enabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7263
diff changeset
186 self.previewMarkdownPyMdownCheckBox.isChecked())
6df711503ec0 PreviewerHTML: enhanced the Markdown previewer by using the PyMdown extensions, if they are available and have been enabled.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7263
diff changeset
187 Preferences.setEditor(
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
188 "PreviewMarkdownMathJax",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
189 self.previewMarkdownMathJaxCheckBox.isChecked())
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
190 Preferences.setEditor(
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
191 "PreviewMarkdownHTMLFormat",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
192 self.previewMarkdownHTMLFormatComboBox.currentText())
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
193
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
194 Preferences.setEditor(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
195 "PreviewRestFileNameExtensions",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
196 [ext.strip() for ext in
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
197 self.previewRestExtensionsEdit.text().split()])
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
198 Preferences.setEditor(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
199 "PreviewRestDocutilsHTMLFormat",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
200 self.previewRestDocutilsHTMLFormatComboBox.currentText())
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
201
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
202 Preferences.setEditor(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
203 "PreviewQssFileNameExtensions",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
204 [ext.strip() for ext in
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
205 self.previewQssExtensionsEdit.text().split()])
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
206
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
207 def __setDefaultFiltersLists(self, keepSelection=False):
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
208 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
209 Private slot to set the default file filter combo boxes.
746
d80c427636a4 Fixed an issue with the new file filter configuration code and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 743
diff changeset
210
d80c427636a4 Fixed an issue with the new file filter configuration code and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 743
diff changeset
211 @param keepSelection flag indicating to keep the current selection
d80c427636a4 Fixed an issue with the new file filter configuration code and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 743
diff changeset
212 if possible (boolean)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
213 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
214 if keepSelection:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
215 selectedOpenFilter = self.openFilesFilterComboBox.currentText()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
216 selectedSaveFilter = self.saveFilesFilterComboBox.currentText()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
217
2408
dc3a7c9d8f6e Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
218 import QScintilla.Lexers
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
219 openFileFiltersList = QScintilla.Lexers.getOpenFileFiltersList(
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
220 False, withAdditional=False) + self.openFileFilters
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
221 openFileFiltersList.sort()
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
222 self.openFilesFilterComboBox.clear()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
223 self.openFilesFilterComboBox.addItems(openFileFiltersList)
3010
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
224 saveFileFiltersList = QScintilla.Lexers.getSaveFileFiltersList(
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
225 False, withAdditional=False) + self.saveFileFilters
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
226 saveFileFiltersList.sort()
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
227 self.saveFilesFilterComboBox.clear()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
228 self.saveFilesFilterComboBox.addItems(saveFileFiltersList)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
229
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
230 if keepSelection:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
231 self.openFilesFilterComboBox.setCurrentIndex(
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
232 self.openFilesFilterComboBox.findText(selectedOpenFilter))
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
233 self.saveFilesFilterComboBox.setCurrentIndex(
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
234 self.saveFilesFilterComboBox.findText(selectedSaveFilter))
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
235
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
236 def __extractFileFilters(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
237 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
238 Private method to extract the file filters.
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
239 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
240 filters = []
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
241 for row in range(self.fileFiltersList.count()):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
242 filters.append(self.fileFiltersList.item(row).text())
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
243 if self.__showsOpenFilters:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
244 self.openFileFilters = filters
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
245 else:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
246 self.saveFileFilters = filters
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
247
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
248 def __checkFileFilter(self, fileFilter):
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
249 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
250 Private method to check a file filter for validity.
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
251
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
252 @param fileFilter file filter pattern to check (string)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
253 @return flag indicating validity (boolean)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
254 """
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
255 if (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
256 not self.__showsOpenFilters and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
257 fileFilter.count("*") != 1
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
258 ):
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
259 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
260 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
261 self.tr("Add File Filter"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
262 self.tr("""A Save File Filter must contain exactly one"""
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
263 """ wildcard pattern. Yours contains {0}.""")
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
264 .format(fileFilter.count("*")))
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
265 return False
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
266
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
267 if fileFilter.count("*") == 0:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
268 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
269 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
270 self.tr("Add File Filter"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
271 self.tr("""A File Filter must contain at least one"""
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
272 """ wildcard pattern."""))
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
273 return False
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
274
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
275 return True
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
276
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
277 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
278 def on_addFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
279 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
280 Private slot to add a file filter to the list.
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
281 """
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
282 fileFilter, ok = QInputDialog.getText(
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
283 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
284 self.tr("Add File Filter"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
285 self.tr("Enter the file filter entry:"),
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
286 QLineEdit.Normal)
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
287 if ok and fileFilter:
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
288 if self.__checkFileFilter(fileFilter):
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
289 self.fileFiltersList.addItem(fileFilter)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
290 self.__extractFileFilters()
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
291 self.__setDefaultFiltersLists(keepSelection=True)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
292
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
293 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
294 def on_editFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
295 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
296 Private slot called to edit a file filter entry.
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
297 """
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
298 fileFilter = self.fileFiltersList.currentItem().text()
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
299 fileFilter, ok = QInputDialog.getText(
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
300 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
301 self.tr("Add File Filter"),
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
302 self.tr("Enter the file filter entry:"),
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
303 QLineEdit.Normal,
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
304 fileFilter)
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
305 if ok and fileFilter:
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
306 if self.__checkFileFilter(fileFilter):
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
307 self.fileFiltersList.currentItem().setText(fileFilter)
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
308 self.__extractFileFilters()
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
309 self.__setDefaultFiltersLists(keepSelection=True)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
310
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
311 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
312 def on_deleteFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
313 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
314 Private slot called to delete a file filter entry.
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
315 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
316 self.fileFiltersList.takeItem(self.fileFiltersList.currentRow())
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
317 self.__extractFileFilters()
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
318 self.__setDefaultFiltersLists(keepSelection=True)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
319
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
320 @pyqtSlot(bool)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
321 def on_openFiltersButton_toggled(self, checked):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
322 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
323 Private slot to switch the list of file filters.
746
d80c427636a4 Fixed an issue with the new file filter configuration code and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 743
diff changeset
324
d80c427636a4 Fixed an issue with the new file filter configuration code and corrected some source docu.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 743
diff changeset
325 @param checked flag indicating the check state of the button (boolean)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
326 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
327 self.__extractFileFilters()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
328 self.__showsOpenFilters = checked
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
329 self.fileFiltersList.clear()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
330 if checked:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
331 self.fileFiltersList.addItems(self.openFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
332 else:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
333 self.fileFiltersList.addItems(self.saveFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
334
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
335 @pyqtSlot(QListWidgetItem, QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
336 def on_fileFiltersList_currentItemChanged(self, current, previous):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
337 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
338 Private slot to set the state of the edit and delete buttons.
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
339
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
340 @param current new current item (QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
341 @param previous previous current item (QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
342 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
343 self.editFileFilterButton.setEnabled(current is not None)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
344 self.deleteFileFilterButton.setEnabled(current is not None)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
345
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
346
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
347 def create(dlg):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
348 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
349 Module function to create the configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
350
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
351 @param dlg reference to the configuration dialog
2964
84b65fb9e780 Continued correcting doc strings by using the new doc string checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2424
diff changeset
352 @return reference to the instantiated page (ConfigurationPageBase)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
353 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
354 page = EditorFilePage()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
355 return page

eric ide

mercurial