src/eric7/Preferences/ConfigurationPages/InterfaceLightPage.py

Wed, 25 Sep 2024 14:48:57 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 25 Sep 2024 14:48:57 +0200
branch
eric7
changeset 10926
9ef616cd220d
parent 10683
779cda568acb
child 11006
a671918232f3
permissions
-rw-r--r--

Moved some functions from 'Globals' to 'EricUtilities'.

7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
3 # Copyright (c) 2006 - 2019 Detlev Offenbach <detlev@die-offenbachs.de>
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing the Interface configuration page (variant for web browser).
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
10 import glob
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
11 import os
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
12
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
13 from PyQt6.QtCore import QTranslator, pyqtSlot
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
14 from PyQt6.QtWidgets import QColorDialog, QDialog, QStyleFactory
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15
10926
9ef616cd220d Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
16 from eric7 import EricUtilities, Preferences
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
17 from eric7.EricGui import EricPixmapCache
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9448
diff changeset
18 from eric7.EricWidgets.EricApplication import ericApp
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
19 from eric7.EricWidgets.EricIconBar import EricIconBar
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
20 from eric7.EricWidgets.EricPathPicker import EricPathPickerModes
9473
3f23dbf37dbe Resorted the import statements using isort.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9448
diff changeset
21 from eric7.Globals import getConfig
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 from .ConfigurationPageBase import ConfigurationPageBase
8876
2001accf55b3 Renamed the generic interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8875
diff changeset
24 from .Ui_InterfaceLightPage import Ui_InterfaceLightPage
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
25
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
8876
2001accf55b3 Renamed the generic interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8875
diff changeset
27 class InterfaceLightPage(ConfigurationPageBase, Ui_InterfaceLightPage):
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 """
8876
2001accf55b3 Renamed the generic interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8875
diff changeset
29 Class implementing the Interface configuration page (variant for generic
2001accf55b3 Renamed the generic interface configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8875
diff changeset
30 use).
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 """
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
32
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
33 def __init__(self, withSidebars=False):
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 Constructor
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
36
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
37 @param withSidebars flag indicating to show the sidebars configuration group
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
38 (defaults to False)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
39 @type bool (optional)
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
40 """
8218
7c09585bd960 Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 7639
diff changeset
41 super().__init__()
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
42 self.setupUi(self)
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43 self.setObjectName("InterfacePage")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
44
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
45 self.__withSidebars = withSidebars
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
46
8356
68ec9c3d4de5 Renamed the modules and classes of the E5Gui package to have the prefix 'Eric' instead of 'E5'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8327
diff changeset
47 self.styleSheetPicker.setMode(EricPathPickerModes.OPEN_FILE_MODE)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
48 self.styleSheetPicker.setFilters(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
49 self.tr(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
50 "Qt Style Sheets (*.qss);;Cascading Style Sheets (*.css);;"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
51 "All files (*)"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
52 )
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
53 )
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
54 self.styleSheetPicker.setDefaultDirectory(getConfig("ericStylesDir"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
55
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
56 styleIconsPath = ericApp().getStyleIconsPath()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
57 self.styleIconsPathPicker.setMode(EricPathPickerModes.DIRECTORY_SHOW_FILES_MODE)
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
58 self.styleIconsPathPicker.setDefaultDirectory(styleIconsPath)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
59
10248
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
60 self.itemSelectionStyleComboBox.addItem(self.tr("System Default"), "default")
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
61 self.itemSelectionStyleComboBox.addItem(self.tr("Double Click"), "doubleclick")
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
62 self.itemSelectionStyleComboBox.addItem(self.tr("Single Click"), "singleclick")
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
63
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
64 for iconBarSize in EricIconBar.BarSizes:
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
65 self.iconSizeComboBox.addItem(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
66 EricIconBar.BarSizes[iconBarSize][2], iconBarSize
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
67 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
68
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 # set initial values
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 self.__populateStyleCombo()
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
71 self.__populateLanguageCombo()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
72
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 self.styleSheetPicker.setText(Preferences.getUI("StyleSheet"))
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
74 self.styleIconsPathPicker.setText(Preferences.getUI("StyleIconsPath"))
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
75
10248
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
76 itemSelectionIndex = self.itemSelectionStyleComboBox.findData(
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
77 Preferences.getUI("ActivateItemOnSingleClick")
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
78 )
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
79 if itemSelectionIndex < 0:
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
80 itemSelectionIndex = 0
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
81 self.itemSelectionStyleComboBox.setCurrentIndex(itemSelectionIndex)
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
82
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
83 if self.__withSidebars:
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
84 self.iconSizeComboBox.setCurrentIndex(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
85 self.iconSizeComboBox.findData(Preferences.getUI("IconBarSize"))
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
86 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
87 self.__iconBarColor = Preferences.getUI("IconBarColor")
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
88 self.__setIconBarSamples()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
89
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
90 # connect the icon size combo box after initialization is complete
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
91 self.iconSizeComboBox.currentIndexChanged.connect(self.__setIconBarSamples)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
92 else:
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
93 self.sidebarsGroup.setVisible(False)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
94
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
95 def save(self):
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
96 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
97 Public slot to save the Interface configuration.
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
98 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
99 # save the style settings
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100 styleIndex = self.styleComboBox.currentIndex()
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 style = self.styleComboBox.itemData(styleIndex)
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 Preferences.setUI("Style", style)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
103 Preferences.setUI("StyleSheet", self.styleSheetPicker.text())
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
104 Preferences.setUI("StyleIconsPath", self.styleIconsPathPicker.text())
10248
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
105 Preferences.setUI(
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
106 "ActivateItemOnSingleClick", self.itemSelectionStyleComboBox.currentData()
981456110843 General
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10069
diff changeset
107 )
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
108
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
109 # save the language settings
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
110 uiLanguageIndex = self.languageComboBox.currentIndex()
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
111 uiLanguage = (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
112 self.languageComboBox.itemData(uiLanguageIndex) if uiLanguageIndex else None
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
113 )
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
114 Preferences.setUILanguage(uiLanguage)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
115
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
116 if self.__withSidebars:
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
117 # save the sidebars settings
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
118 Preferences.setUI("IconBarSize", self.iconSizeComboBox.currentData())
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
119 Preferences.setUI("IconBarColor", self.__iconBarColor)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
120
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
121 def __populateStyleCombo(self):
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
122 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
123 Private method to populate the style combo box.
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
124 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
125 curStyle = Preferences.getUI("Style")
8761
f05818ae6431 Corrected some code style issues detected by the enhanced comprehensions check.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8358
diff changeset
126 styles = sorted(QStyleFactory.keys())
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
127 self.styleComboBox.addItem(self.tr("System"), "System")
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
128 for style in styles:
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
129 self.styleComboBox.addItem(style, style)
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
130 currentIndex = self.styleComboBox.findData(curStyle)
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 if currentIndex == -1:
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 currentIndex = 0
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 self.styleComboBox.setCurrentIndex(currentIndex)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
134
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
135 def __populateLanguageCombo(self):
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
136 """
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
137 Private method to initialize the language combo box.
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
138 """
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
139 self.languageComboBox.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
140
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
141 fnlist = (
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
142 glob.glob("eric7_*.qm")
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
143 + glob.glob(os.path.join(getConfig("ericTranslationsDir"), "eric7_*.qm"))
10926
9ef616cd220d Moved some functions from 'Globals' to 'EricUtilities'.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10683
diff changeset
144 + glob.glob(os.path.join(EricUtilities.getConfigDir(), "eric7_*.qm"))
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
145 )
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
146 locales = {}
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
147 for fn in fnlist:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
148 locale = os.path.basename(fn)[6:-3]
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
149 if locale not in locales:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
150 translator = QTranslator()
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
151 translator.load(fn)
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
152 locales[locale] = translator.translate(
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
153 "InterfacePage", "English", "Translate this with your language"
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
154 ) + " ({0})".format(locale)
10373
093dcebe5ecb Corrected some uses of dict.keys(), dict.values() and dict.items().
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10248
diff changeset
155 localeList = sorted(locales)
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
156 try:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
157 uiLanguage = Preferences.getUILanguage()
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
158 if uiLanguage == "None" or uiLanguage is None:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
159 currentIndex = 0
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
160 elif uiLanguage == "System":
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
161 currentIndex = 1
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
162 else:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
163 currentIndex = localeList.index(uiLanguage) + 2
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
164 except ValueError:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
165 currentIndex = 0
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
166 self.languageComboBox.clear()
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
167
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
168 self.languageComboBox.addItem("English (default)", "None")
9221
bf71ee032bb4 Reformatted the source code using the 'Black' utility.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 9209
diff changeset
169 self.languageComboBox.addItem(self.tr("System"), "System")
8875
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
170 for locale in localeList:
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
171 self.languageComboBox.addItem(locales[locale], locale)
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
172 self.languageComboBox.setCurrentIndex(currentIndex)
67c3ea933787 Modified HexEditor color usage such, that it is based on the configured/set palette.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 8761
diff changeset
173
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
174 @pyqtSlot()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
175 def __setIconBarSamples(self):
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
176 """
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
177 Private slot to set the colors of the icon bar color samples.
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
178 """
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
179 iconBarSize = self.iconSizeComboBox.currentData()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
180 iconSize, borderSize = EricIconBar.BarSizes[iconBarSize][:2]
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
181 size = iconSize + 2 * borderSize
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
182
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
183 self.sampleLabel.setFixedSize(size, size)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
184 self.sampleLabel.setStyleSheet(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
185 EricIconBar.LabelStyleSheetTemplate.format(self.__iconBarColor.name())
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
186 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
187 self.sampleLabel.setPixmap(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
188 EricPixmapCache.getIcon("sbDebugViewer96").pixmap(iconSize, iconSize)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
189 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
190
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
191 self.highlightedSampleLabel.setFixedSize(size, size)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
192 self.highlightedSampleLabel.setStyleSheet(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
193 EricIconBar.LabelStyleSheetTemplate.format(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
194 self.__iconBarColor.darker().name()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
195 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
196 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
197 self.highlightedSampleLabel.setPixmap(
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
198 EricPixmapCache.getIcon("sbDebugViewer96").pixmap(iconSize, iconSize)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
199 )
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
200
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
201 @pyqtSlot()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
202 def on_iconBarButton_clicked(self):
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
203 """
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
204 Private slot to select the icon bar color.
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
205 """
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
206 colDlg = QColorDialog(self)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
207 # Set current colour last to avoid conflicts with alpha channel
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
208 colDlg.setCurrentColor(self.__iconBarColor)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
209 if colDlg.exec() == QDialog.DialogCode.Accepted:
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
210 self.__iconBarColor = colDlg.selectedColor()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
211 self.__setIconBarSamples()
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
212
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
213
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10518
diff changeset
214 def create(_dlg, withSidebars=False):
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
215 """
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
216 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
217
10683
779cda568acb Changed the source code and the source code documentation to improve the indication of unused method/function arguments.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10518
diff changeset
218 @param _dlg reference to the configuration dialog (unused)
10428
a071d4065202 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10373
diff changeset
219 @type ConfigurationDialog
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
220 @param withSidebars flag indicating to show the sidebars configuration group
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
221 (defaults to False)
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
222 @type bool (optional)
10428
a071d4065202 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10373
diff changeset
223 @return reference to the instantiated page
a071d4065202 Converted some source code documentation to the new style.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10373
diff changeset
224 @rtype ConfigurationPageBase
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
225 """
10518
1682f3203ae5 MicroPython
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 10428
diff changeset
226 page = InterfaceLightPage(withSidebars=withSidebars)
7433
386487a96672 WebBrowserInterfacePage: added the missing interface configuration page for the web browser (part 2).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
227 return page

eric ide

mercurial