src/eric7/Preferences/ConfigurationPages/MimeTypesPage.py

Sat, 31 Dec 2022 16:23:21 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 31 Dec 2022 16:23:21 +0100
branch
eric7
changeset 9653
e67609152c5e
parent 9564
f413aee05c4d
child 10069
435cc5875135
permissions
-rw-r--r--

Updated copyright for 2023.

4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
9653
e67609152c5e Updated copyright for 2023.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9564
diff changeset
3 # Copyright (c) 2006 - 2023 Detlev Offenbach <detlev@die-offenbachs.de>
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Text Mime Types configuration page.
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8318
962bce857696 Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8312
diff changeset
10 from PyQt6.QtCore import pyqtSlot
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9413
diff changeset
12 from eric7 import Preferences
9413
80c06d472826 Changed the eric7 import statements to include the package name (i.e. eric7) in order to not fiddle with sys.path.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9221
diff changeset
13 from eric7.EricWidgets import EricMessageBox
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from .ConfigurationPageBase import ConfigurationPageBase
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 from .Ui_MimeTypesPage import Ui_MimeTypesPage
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
19 class MimeTypesPage(ConfigurationPageBase, Ui_MimeTypesPage):
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
20 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21 Class implementing the Text Mime Types configuration page.
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
23
6380
4a932a7ab987 Configuration pages: corrected the constructor of some configuration pages.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 6048
diff changeset
24 def __init__(self):
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26 Constructor
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7923
diff changeset
28 super().__init__()
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29 self.setupUi(self)
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30 self.setObjectName("MimeTypesPage")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
31
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
32 self.textMimeTypesList.setResetVisible(True)
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
33 self.textMimeTypesList.setDefaultVisible(True)
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
34 self.textMimeTypesList.setToDefault.connect(self.__setMimeTypesToDefault)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
35
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
36 self.textFilePatternsList.setResetVisible(True)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
37 self.textFilePatternsList.setDefaultVisible(True)
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
38 self.textFilePatternsList.setToDefault.connect(self.__setFilePatternsToDefault)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
39
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 # set initial values
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
41 self.textMimeTypesList.setList(Preferences.getUI("TextMimeTypes"))
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
42 self.textFilePatternsList.setList(Preferences.getUI("TextFilePatterns"))
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
43 self.loadUnknownCheckBox.setChecked(
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
44 Preferences.getUI("LoadUnknownMimeTypeFiles")
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
45 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
46
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
47 def save(self):
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
48 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
49 Public slot to save the Interface configuration.
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
50 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
51 Preferences.setUI("TextMimeTypes", self.textMimeTypesList.getList())
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
52 Preferences.setUI("TextFilePatterns", self.textFilePatternsList.getList())
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
53 Preferences.setUI(
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
54 "LoadUnknownMimeTypeFiles",
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
55 self.loadUnknownCheckBox.isChecked(),
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
56 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
57
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
58 @pyqtSlot()
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
59 def __setMimeTypesToDefault(self):
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
60 """
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
61 Private slot to set the mimetypes list to the default values.
5858
7afdb26fcabc Added capability to reset to default to the message filter dialog and the mimetypes configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 5389
diff changeset
62 """
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
63 ok = (
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
64 True
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
65 if self.textMimeTypesList.isListEmpty()
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
66 else EricMessageBox.yesNo(
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
67 self,
9564
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
68 self.tr("Set Mime Types To Default"),
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
69 self.tr(
9564
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
70 """Do you really want to set the configured list of"""
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
71 """ mime types to the default value?"""
9534
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
72 ),
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
73 )
5ed8445f3b31 Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9473
diff changeset
74 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
75
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 if ok:
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
77 self.textMimeTypesList.setList(
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
78 Preferences.Prefs.uiDefaults["TextMimeTypes"]
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
79 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
80
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
81 @pyqtSlot()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
82 def __setFilePatternsToDefault(self):
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
83 """
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
84 Private slot to set the file patterns list to the default values.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
85 """
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
86 ok = (
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
87 True
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
88 if self.textFilePatternsList.isListEmpty()
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
89 else EricMessageBox.yesNo(
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
90 self,
9564
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
91 self.tr("Set File Patterns To Default"),
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
92 self.tr(
9564
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
93 """Do you really want to set the configured list of"""
f413aee05c4d Updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9563
diff changeset
94 """ text file patterns to the default value?"""
9563
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
95 ),
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
96 )
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
97 )
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
98
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
99 if ok:
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
100 self.textFilePatternsList.setList(
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
101 Preferences.Prefs.uiDefaults["TextFilePatterns"]
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
102 )
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9534
diff changeset
103
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
105 def create(dlg):
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107 Module function to create the configuration page.
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108
4097
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
109 @param dlg reference to the configuration dialog
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
110 @return reference to the instantiated page (ConfigurationPageBase)
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
111 """
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
112 page = MimeTypesPage()
ad2a6bd965d9 Added a configuration page to edit the list of mime types to be opened in an eric editor.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
113 return page

eric ide

mercurial