eric7/Preferences/ConfigurationPages/WebBrowserAppearancePage.py

branch
eric7
changeset 8312
800c432b34c8
parent 8265
0090cfa83159
child 8318
962bce857696
equal deleted inserted replaced
8311:4e8b98454baa 8312:800c432b34c8
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing the Web Browser Appearance configuration page.
8 """
9
10 from PyQt5.QtGui import QFont
11 from PyQt5.QtWidgets import QFontDialog
12
13 from E5Gui.E5PathPicker import E5PathPickerModes
14
15 from .ConfigurationPageBase import ConfigurationPageBase
16 from .Ui_WebBrowserAppearancePage import Ui_WebBrowserAppearancePage
17
18 import Preferences
19
20 try:
21 MonospacedFontsOption = QFontDialog.FontDialogOption.MonospacedFonts
22 except AttributeError:
23 MonospacedFontsOption = QFontDialog.FontDialogOptions(0x10)
24
25
26 class WebBrowserAppearancePage(ConfigurationPageBase,
27 Ui_WebBrowserAppearancePage):
28 """
29 Class implementing the Web Browser Appearance page.
30 """
31 def __init__(self):
32 """
33 Constructor
34 """
35 super().__init__()
36 self.setupUi(self)
37 self.setObjectName("WebBrowserAppearancePage")
38
39 self.styleSheetPicker.setMode(E5PathPickerModes.OpenFileMode)
40 self.styleSheetPicker.setFilters(self.tr(
41 "Cascading Style Sheets (*.css);;All files (*)"))
42
43 self.__displayMode = None
44
45 # set initial values
46 defaultFontSize = Preferences.getWebBrowser("DefaultFontSize")
47 fixedFontSize = Preferences.getWebBrowser("DefaultFixedFontSize")
48 self.defaultSizeSpinBox.setValue(defaultFontSize)
49 self.fixedSizeSpinBox.setValue(fixedFontSize)
50 self.minSizeSpinBox.setValue(
51 Preferences.getWebBrowser("MinimumFontSize"))
52 self.minLogicalSizeSpinBox.setValue(
53 Preferences.getWebBrowser("MinimumLogicalFontSize"))
54
55 self.standardFontCombo.setCurrentFont(
56 QFont(Preferences.getWebBrowser("StandardFontFamily"),
57 defaultFontSize, QFont.Weight.Normal, False))
58 self.fixedFontCombo.setCurrentFont(
59 QFont(Preferences.getWebBrowser("FixedFontFamily"),
60 fixedFontSize, QFont.Weight.Normal, False))
61 self.serifFontCombo.setCurrentFont(
62 QFont(Preferences.getWebBrowser("SerifFontFamily"),
63 defaultFontSize, QFont.Weight.Normal, False))
64 self.sansSerifFontCombo.setCurrentFont(
65 QFont(Preferences.getWebBrowser("SansSerifFontFamily"),
66 defaultFontSize, QFont.Weight.Normal, False))
67 self.cursiveFontCombo.setCurrentFont(
68 QFont(Preferences.getWebBrowser("CursiveFontFamily"),
69 defaultFontSize, QFont.Weight.Normal, True))
70 self.fantasyFontCombo.setCurrentFont(
71 QFont(Preferences.getWebBrowser("FantasyFontFamily"),
72 defaultFontSize, QFont.Weight.Normal, False))
73 self.pictographFontCombo.setCurrentFont(
74 QFont(Preferences.getWebBrowser("PictographFontFamily"),
75 defaultFontSize, QFont.Weight.Normal, False))
76
77 self.initColour("SecureUrlColor",
78 self.secureURLsColourButton,
79 Preferences.getWebBrowser)
80 self.initColour("InsecureUrlColor",
81 self.insecureURLsColourButton,
82 Preferences.getWebBrowser)
83 self.initColour("MaliciousUrlColor",
84 self.maliciousURLsColourButton,
85 Preferences.getWebBrowser)
86 self.initColour("PrivateModeUrlColor",
87 self.privateModeURLsColourButton,
88 Preferences.getWebBrowser)
89
90 self.autoLoadImagesCheckBox.setChecked(
91 Preferences.getWebBrowser("AutoLoadImages"))
92
93 self.styleSheetPicker.setText(
94 Preferences.getWebBrowser("UserStyleSheet"))
95
96 self.warnOnMultipleCloseCheckBox.setChecked(
97 Preferences.getWebBrowser("WarnOnMultipleClose"))
98
99 self.scrollbarsCheckBox.setChecked(
100 Preferences.getWebBrowser("ShowScrollBars"))
101 self.toolbarsCheckBox.setChecked(
102 Preferences.getWebBrowser("ShowToolbars"))
103
104 def setMode(self, displayMode):
105 """
106 Public method to perform mode dependent setups.
107
108 @param displayMode mode of the configuration dialog
109 (ConfigurationMode.DEFAULTMODE,
110 ConfigurationMode.WEBBROWSERMODE)
111 """
112 from ..ConfigurationDialog import ConfigurationMode
113 if displayMode in (
114 ConfigurationMode.DEFAULTMODE,
115 ConfigurationMode.WEBBROWSERMODE,
116 ):
117 self.__displayMode = displayMode
118
119 def save(self):
120 """
121 Public slot to save the Help Viewers configuration.
122 """
123 Preferences.setWebBrowser(
124 "StandardFontFamily",
125 self.standardFontCombo.currentFont().family())
126 Preferences.setWebBrowser(
127 "FixedFontFamily",
128 self.fixedFontCombo.currentFont().family())
129 Preferences.setWebBrowser(
130 "SerifFontFamily",
131 self.serifFontCombo.currentFont().family())
132 Preferences.setWebBrowser(
133 "SansSerifFontFamily",
134 self.sansSerifFontCombo.currentFont().family())
135 Preferences.setWebBrowser(
136 "CursiveFontFamily",
137 self.cursiveFontCombo.currentFont().family())
138 Preferences.setWebBrowser(
139 "FantasyFontFamily",
140 self.fantasyFontCombo.currentFont().family())
141 if self.pictographFontCombo.isEnabled():
142 Preferences.setWebBrowser(
143 "PictographFontFamily",
144 self.pictographFontCombo.currentFont().family())
145
146 Preferences.setWebBrowser(
147 "DefaultFontSize",
148 self.defaultSizeSpinBox.value())
149 Preferences.setWebBrowser(
150 "DefaultFixedFontSize",
151 self.fixedSizeSpinBox.value())
152 Preferences.setWebBrowser(
153 "MinimumFontSize",
154 self.minSizeSpinBox.value())
155 Preferences.setWebBrowser(
156 "MinimumLogicalFontSize",
157 self.minLogicalSizeSpinBox.value())
158
159 Preferences.setWebBrowser(
160 "AutoLoadImages",
161 self.autoLoadImagesCheckBox.isChecked())
162
163 Preferences.setWebBrowser(
164 "UserStyleSheet",
165 self.styleSheetPicker.text())
166
167 self.saveColours(Preferences.setWebBrowser)
168
169 Preferences.setWebBrowser(
170 "WarnOnMultipleClose",
171 self.warnOnMultipleCloseCheckBox.isChecked())
172
173 if self.scrollbarsCheckBox.isEnabled():
174 Preferences.setWebBrowser(
175 "ShowScrollBars",
176 self.scrollbarsCheckBox.isChecked())
177
178 Preferences.setWebBrowser(
179 "ShowToolbars",
180 self.toolbarsCheckBox.isChecked())
181
182
183 def create(dlg):
184 """
185 Module function to create the configuration page.
186
187 @param dlg reference to the configuration dialog
188 @return reference to the instantiated page (ConfigurationPageBase)
189 """
190 page = WebBrowserAppearancePage()
191 return page

eric ide

mercurial