eric6/Preferences/ConfigurationPages/EditorFilePage.py

Sun, 27 Oct 2019 19:20:41 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 27 Oct 2019 19:20:41 +0100
changeset 7318
5d39cd2d7960
parent 7309
5a434813eef3
child 7319
49ea50a9a61e
permissions
-rw-r--r--

Editor, Previewer:
- made the preview refresh timeout configurable

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
7318
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
89 self.previewRefreshTimeoutSpinBox.setValue(
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
90 Preferences.getEditor("PreviewRefreshWaitTimer"))
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
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.previewHtmlExtensionsEdit.setText(
8fe1fdc174ab Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
93 " ".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
94
2424
8fe1fdc174ab Added the capability to preview HTML, Mardown and ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2408
diff changeset
95 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
96 " ".join(
befeff46ec0f Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2964
diff changeset
97 Preferences.getEditor("PreviewMarkdownFileNameExtensions")))
3979
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
98 self.previewRestSphinxCheckBox.setChecked(
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
99 Preferences.getEditor("PreviewRestUseSphinx"))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
100 self.previewMarkdownNLtoBreakCheckBox.setChecked(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
101 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
102 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
103 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
104 self.previewMarkdownMathJaxCheckBox.setChecked(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
105 Preferences.getEditor("PreviewMarkdownMathJax"))
7309
5a434813eef3 PreviewerHTML, ExporterHTML:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7304
diff changeset
106 self.previewMarkdownMermaidCheckBox.setChecked(
5a434813eef3 PreviewerHTML, ExporterHTML:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7304
diff changeset
107 Preferences.getEditor("PreviewMarkdownMermaid"))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
108 index = self.previewMarkdownHTMLFormatComboBox.findText(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
109 Preferences.getEditor("PreviewMarkdownHTMLFormat"))
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
110 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
111
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
112 self.previewRestExtensionsEdit.setText(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
113 " ".join(Preferences.getEditor("PreviewRestFileNameExtensions")))
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
114 index = self.previewRestDocutilsHTMLFormatComboBox.findText(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
115 Preferences.getEditor("PreviewRestDocutilsHTMLFormat"))
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
116 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
117
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
118 self.previewQssExtensionsEdit.setText(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
119 " ".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
120
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 def save(self):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 """
1353
e1c0af081a8e Added a syntax check while typing function.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 1196
diff changeset
123 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
124 """
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
125 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
126 "AutosaveInterval",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
127 self.autosaveSlider.value())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
128 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
129 "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
130 self.createBackupFileCheckBox.isChecked())
6
52e8c820d0dd Removed some superfluous unicode() calls.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 0
diff changeset
131 enc = self.defaultEncodingComboBox.currentText()
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 if not enc:
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 enc = "utf-8"
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134 Preferences.setEditor("DefaultEncoding", enc)
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
135 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
136 "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
137 self.advEncodingCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
138 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
139 "WarnFilesize",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 self.warnFilesizeSpinBox.value())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
141 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
142 "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
143 self.clearBreakpointsCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
144 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
145 "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
146 self.automaticReopenCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
147 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
148 "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
149 self.stripWhitespaceCheckBox.isChecked())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
150 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
151 "DefaultOpenFilter",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
152 self.openFilesFilterComboBox.currentText())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
153 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
154 "DefaultSaveFilter",
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
155 self.saveFilesFilterComboBox.currentText())
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
156 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
157 "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
158 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
159 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
160 "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
161 self.insertFinalNewlineCheckBox.isChecked())
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
162
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
163 if self.crlfRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
164 Preferences.setEditor("EOLMode", QsciScintilla.EolWindows)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165 elif self.crRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 Preferences.setEditor("EOLMode", QsciScintilla.EolMac)
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 elif self.lfRadioButton.isChecked():
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 Preferences.setEditor("EOLMode", QsciScintilla.EolUnix)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
169
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
170 self.__extractFileFilters()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
171 Preferences.setEditor("AdditionalOpenFilters", self.openFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
172 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
173
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
174 Preferences.setEditor(
7318
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
175 "PreviewRefreshWaitTimer",
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
176 self.previewRefreshTimeoutSpinBox.value())
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
177
5d39cd2d7960 Editor, Previewer:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7309
diff changeset
178 Preferences.setEditor(
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
179 "PreviewHtmlFileNameExtensions",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
180 [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
181 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
182
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
183 Preferences.setEditor(
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
184 "PreviewMarkdownFileNameExtensions",
3034
7ce719013078 Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3025
diff changeset
185 [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
186 self.previewMarkdownExtensionsEdit.text().split()])
3025
67064c71df21 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3020
diff changeset
187 Preferences.setEditor(
3979
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
188 "PreviewRestUseSphinx",
307b09aae43b Added capability to use 'Sphinx' to preview ReST files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3656
diff changeset
189 self.previewRestSphinxCheckBox.isChecked())
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
190 Preferences.setEditor(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
191 "PreviewMarkdownNLtoBR",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
192 self.previewMarkdownNLtoBreakCheckBox.isChecked())
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
193 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
194 "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
195 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
196 Preferences.setEditor(
7304
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
197 "PreviewMarkdownMathJax",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
198 self.previewMarkdownMathJaxCheckBox.isChecked())
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
199 Preferences.setEditor(
7309
5a434813eef3 PreviewerHTML, ExporterHTML:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7304
diff changeset
200 "PreviewMarkdownMermaid",
5a434813eef3 PreviewerHTML, ExporterHTML:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7304
diff changeset
201 self.previewMarkdownMermaidCheckBox.isChecked())
5a434813eef3 PreviewerHTML, ExporterHTML:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7304
diff changeset
202 Preferences.setEditor(
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
203 "PreviewMarkdownHTMLFormat",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
204 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
205
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
206 Preferences.setEditor(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
207 "PreviewRestFileNameExtensions",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
208 [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
209 self.previewRestExtensionsEdit.text().split()])
5837
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
210 Preferences.setEditor(
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
211 "PreviewRestDocutilsHTMLFormat",
9ef6a28f1694 - Exporter
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5599
diff changeset
212 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
213
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
214 Preferences.setEditor(
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
215 "PreviewQssFileNameExtensions",
b072a364dd8d PreviewerHTML: more enhancments for the Markdown previewer related to MathJax.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7301
diff changeset
216 [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
217 self.previewQssExtensionsEdit.text().split()])
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
218
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
219 def __setDefaultFiltersLists(self, keepSelection=False):
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
220 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
221 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
222
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
223 @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
224 if possible (boolean)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
225 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
226 if keepSelection:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
227 selectedOpenFilter = self.openFilesFilterComboBox.currentText()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
228 selectedSaveFilter = self.saveFilesFilterComboBox.currentText()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
229
2408
dc3a7c9d8f6e Continued implementing the delayed import.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 2302
diff changeset
230 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
231 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
232 False, withAdditional=False) + self.openFileFilters
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
233 openFileFiltersList.sort()
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
234 self.openFilesFilterComboBox.clear()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
235 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
236 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
237 False, withAdditional=False) + self.saveFileFilters
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
238 saveFileFiltersList.sort()
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
239 self.saveFilesFilterComboBox.clear()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
240 self.saveFilesFilterComboBox.addItems(saveFileFiltersList)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
241
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
242 if keepSelection:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
243 self.openFilesFilterComboBox.setCurrentIndex(
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
244 self.openFilesFilterComboBox.findText(selectedOpenFilter))
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
245 self.saveFilesFilterComboBox.setCurrentIndex(
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
246 self.saveFilesFilterComboBox.findText(selectedSaveFilter))
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
247
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
248 def __extractFileFilters(self):
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 extract the file filters.
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
251 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
252 filters = []
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
253 for row in range(self.fileFiltersList.count()):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
254 filters.append(self.fileFiltersList.item(row).text())
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
255 if self.__showsOpenFilters:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
256 self.openFileFilters = filters
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
257 else:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
258 self.saveFileFilters = filters
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
259
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
260 def __checkFileFilter(self, fileFilter):
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
261 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
262 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
263
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
264 @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
265 @return flag indicating validity (boolean)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
266 """
7263
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
267 if (
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
268 not self.__showsOpenFilters and
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
269 fileFilter.count("*") != 1
c1af2e327675 Continued to resolve code style issue M841.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7229
diff changeset
270 ):
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
271 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
272 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
273 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
274 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
275 """ 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
276 .format(fileFilter.count("*")))
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
277 return False
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
278
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
279 if fileFilter.count("*") == 0:
3020
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
280 E5MessageBox.critical(
542e97d4ecb3 Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3010
diff changeset
281 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
282 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
283 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
284 """ wildcard pattern."""))
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
285 return False
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
286
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
287 return True
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
288
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
289 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
290 def on_addFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
291 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
292 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
293 """
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
294 fileFilter, ok = QInputDialog.getText(
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
295 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
296 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
297 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
298 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
299 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
300 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
301 self.fileFiltersList.addItem(fileFilter)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
302 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
303 self.__setDefaultFiltersLists(keepSelection=True)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
304
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
305 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
306 def on_editFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
307 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
308 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
309 """
5599
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
310 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
311 fileFilter, ok = QInputDialog.getText(
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
312 self,
3190
a9a94491c4fd Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 3160
diff changeset
313 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
314 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
315 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
316 fileFilter)
033967644b1f Continued fixing code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
317 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
318 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
319 self.fileFiltersList.currentItem().setText(fileFilter)
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
320 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
321 self.__setDefaultFiltersLists(keepSelection=True)
742
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 @pyqtSlot()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
324 def on_deleteFileFilterButton_clicked(self):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
325 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
326 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
327 """
743
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
328 self.fileFiltersList.takeItem(self.fileFiltersList.currentRow())
c58faf72e308 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 742
diff changeset
329 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
330 self.__setDefaultFiltersLists(keepSelection=True)
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
331
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
332 @pyqtSlot(bool)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
333 def on_openFiltersButton_toggled(self, checked):
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 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
336
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
337 @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
338 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
339 self.__extractFileFilters()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
340 self.__showsOpenFilters = checked
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
341 self.fileFiltersList.clear()
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
342 if checked:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
343 self.fileFiltersList.addItems(self.openFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
344 else:
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
345 self.fileFiltersList.addItems(self.saveFileFilters)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
346
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
347 @pyqtSlot(QListWidgetItem, QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
348 def on_fileFiltersList_currentItemChanged(self, current, previous):
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
349 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
350 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
351
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
352 @param current new current item (QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
353 @param previous previous current item (QListWidgetItem)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
354 """
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
355 self.editFileFilterButton.setEnabled(current is not None)
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
356 self.deleteFileFilterButton.setEnabled(current is not None)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
357
945
8cd4d08fa9f6 Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 791
diff changeset
358
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
359 def create(dlg):
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 Module function to create the configuration page.
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363 @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
364 @return reference to the instantiated page (ConfigurationPageBase)
0
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 """
de9c2efb9d02 Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 page = EditorFilePage()
742
30fc855257e9 Continued implementing user defined file filters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 564
diff changeset
367 return page

eric ide

mercurial