Merged with branch 'eric7' to prepare a new release. eric7-maintenance release-22.01

Sat, 01 Jan 2022 14:34:29 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 01 Jan 2022 14:34:29 +0100
branch
eric7-maintenance
changeset 8890
7b0f8a130d97
parent 8803
a46ff6e14264 (current diff)
parent 8889
0fe88de52cb2 (diff)
child 8891
6f8ad0bce8ae

Merged with branch 'eric7' to prepare a new release.

eric7/i18n/eric7_es.ts file | annotate | diff | comparison | revisions
eric7/i18n/eric7_ru.qm file | annotate | diff | comparison | revisions
eric7/i18n/eric7_ru.ts file | annotate | diff | comparison | revisions
--- a/docs/README.rst	Sat Dec 04 11:12:45 2021 +0100
+++ b/docs/README.rst	Sat Jan 01 14:34:29 2022 +0100
@@ -137,10 +137,10 @@
 (i.e. smaller than 1920 x 1080 pixels). If such a small screen is detected,
 the interface using sidebars with just the left sidebar is chosen
 automatically. This cannot be changed. If the auto-detection fails, use of
-the small screen layout can be forced by startin eric with the '--small-screen'
-command line option. This changes the respective settings available via the
-Interface ⇨ Interface configuration page (options 'Layout' and 'Combine left
-and right sidebar'.
+the small screen layout can be forced by starting eric with the
+'--small-screen' command line option. This changes the respective settings
+available via the Interface ⇨ Interface configuration page (options 'Layout'
+and 'Combine left and right sidebar'.
 
 5. Running from the sources
 ---------------------------
--- a/docs/changelog	Sat Dec 04 11:12:45 2021 +0100
+++ b/docs/changelog	Sat Jan 01 14:34:29 2022 +0100
@@ -1,13 +1,25 @@
 Change Log
 ----------
+Version 22.1:
+- bug fixes
+- Code Style Checker
+  -- added a checker for various import statement topics
+- Color Themes
+  -- added capability to import and export ALL colors
+- Mini Editor
+  -- added configuration capability
+- QSS Previewer
+  -- added disabled widgets in order to show their colors as well
+- Styles and Themes:
+  -- added a dark greenish style (QSS and Highlighters) and an associated theme
+     (dark_green.ethj and dark_green_with_stylesheet.ethj)
+
 Version 21.12:
 - bug fixes
 - first release of eric7 (i.e. the PyQt6 port of eric6)
 - General
   -- rearranged the interface and modernized the sidebars layout
   -- integrated some dialogs into the sidebars
-- Code Style Checker
-  -- updated pycodestyle to version 2.8.0
 - Debugger
   -- added code to remember the list of recently used breakpoint conditions
      in the editor and the breakpoint viewer
@@ -39,8 +51,6 @@
   -- added a 'Start' context sub menu to the project sources browser
 - Shell
   -- added capability to save the contents of the shell window into a file
-- Syntax Checker
-  -- updated pyflakes to version 2.4.0
 - Unit Test
   -- added capability to remember the most recently used test data
 - Viewmanager
@@ -57,1148 +67,4 @@
 
 Version 21.11:
 - bug fixes
-
-Version 21.9:
-- bug fixes
-- MicroPython
-  -- extended the list of known CircuitPython and UF2 capable devices
-- Unit Test
-  -- added support for sub-tests
-
-Version 21.7:
-- bug fixes
-
-Version 21.6:
-- bug fixes
-- Tasks
-  -- made the task properties dialog adapt to the task kind
-  -- added code to get typed manual tasks
-- UML Diagrams
-  -- extended the class items to show class attributes
-  -- added code to load a saved UML diagram via the file browser or
-     the project others browser
-  -- improved the diagram layout of the Import Diagram and the
-     Application Diagram
-  -- added code to save and load diagrams as JSON files
-  -- changed print code
-
-Version 21.5:
-- bug fixes
-- Code Style Checker
-  -- added a checker to find code that could be simplified
-  -- added capability to the results page to filter the messages based on
-     message code
-  -- improved the statistics handling
-  -- updated pycodestyle to version 2.7.0
-- MicroPython
-  -- added option to select the baud rate for flashing ESP32 and ESP8266 boards
-  -- updated the BBC micro:bit API file to support micro:bit V2
-- Python Lexer
-  -- updated the substyle contents
-- Syntax Checker
-  -- updated pyflakes to version 2.3.1
-- Third Party packages
-  -- removed most of the bundled Third Party packages in favour of pip
-     installed packages
-
-Version 21.4:
-- bug fixes
-- Code Style Checker
-  -- added a checker to help porting to the 'pathlib' module
-- Debugger
-  -- extended the Start... dialogs to allow to override some global
-     configuration settings (redirect stdin/stdout/stderr)
-- Editor
-  -- added capability to delete the matching brace if the cursor is
-     in between them (e.g. {}) and backspace is pressed
-- Pip Interface
-  -- added support for a re-installation of selected packages
-- Shell
-  -- changed the shell special commands to start with a '%' (e.g. %start)
-
-Version 21.3:
-- bug fixes
-- General
-  -- changed the default file format for several generated files to be based on
-     JSON
-  -- added support for Cython
-- Debugger
-  -- added capability to delete environment variables for the debugged script
-     by adding a '-' to the variable name in the start dialog
-- Debug Viewer
-  -- changed code to show project relative paths in the breakpoint viewer
-- Editor
-  -- integrated the "Quick Search" functionality into the editor search widget
-  -- added support for Cython to the code outline/navigation lists
-  -- added support for Cython to the Typing Completers
-- File Browser
-  -- added capability to show/hide hidden files (i.e. those starting with '.')
-  -- added capability to create new files/directories and delete them
-  -- added Cython support to show the file structure of these files
-- Mercurial Interface
-  -- added support for Mercurial 5.7
-- MicroPython
-  -- added support for "Raspberry Pi Pico" (i.e. RP2040 based boards)
-  -- extended the list of supported (recognized) CircuitPython boards
-  -- added capability to manually configure devices not yet known by eric6
-  -- added a generic dialog for flashing UF2 capable devices (with device
-     detection)
-  -- added code to support 'middle button paste'
-- pip Interface
-  -- changed code for the search function to work with the PyPI search page
-     because the XML-RPC search interface of PyPI is still disabled
-  -- extended the Package Details dialog to include buttons to install,
-     upgrade or uninstall the package
-
-Version 21.2:
-- bug fixes
-- General
-  -- added support for PyQt6
-  -- added support for PySide6
-- Code Style Checker
-  -- added a commented code whitelist patterns to the Miscellaneous Checker
-  -- added support for the '@yield' and '@ytype' tags
-- Debugger
-  -- added support for debugging multiprocess scripts using these methods
-     --- QProcess.start(), QProcess.startDetached()
-     --- subprocess.Popen()
-     --- multiprocessing.Process()
-     --- os.spawnl...(), os.spawnv...(), os.posix_spawn...(), os.fork(),
-       os.fork_exec()
-     --- _winapi.CreateProcess(), _subprocess.CreateProcess()
-  -- added support for debugging code strings (-c, --code) or script modules
-     (-m, --module)
-  -- added support for the "Continue Until" action execution code until the
-     current cursor line (if it is greater than the current line) or until
-     returning from the current frame
-- Documentation Generator
-  -- added support for the '@yield' and '@ytype' tags to document generators
-- Editor
-  -- added code to enclose the current selection by entering ", ' or a bracket
-     ( (, ), [, ], {, }, <, > ) characters
-  -- extended the exporters to support sub-styles
-  -- added functionality to insert docstring templates via the context menu
-     (cursor placed on first line of function definition), after entering
-     the docstring start string (e.g. """ for Python) or via a keyboard
-     shortcut (default: Ctrl+Alt+D) when cursor is either placed on the
-     function definition line or after the end of the function definition
-- Find File Dialog
-  -- added option to exclude hidden files and directories
-  -- changed directory tree search logic to derive the file patterns from the
-     project file type associations, if the directory to be searched is a
-     sub-directory of the project
-- User Interface
-  -- added capability to show Qt6 documentation (configurable)
-- VirtualEnv Manager
-  -- improved the handling of virtual environments slightly
-- Web-Browser
-  -- added an error page for not supported eric: URLs
-- Third Party packages
-  -- updated eradicate.py to 2.0.0
-  -- updated chardet to 4.0.0
-  -- updated coverage.py to 5.3.1
-  -- updated editorconfig to 0.12.3
-  -- updated Pygments to 2.7.4
-
-Version 21.1:
-- bug fixes
-
-Version 20.12.1:
-- bug fixes
-
-Version 20.12:
-- bug fixes
-
-Version 20.11:
-- bug fixes
-- Editor
-  -- added support for TOML files
-- Main Window
-  -- added a dialog showing information about the installation process
-     (see Help menu)
-- Mini Editor
-  -- added a status bar languages menu
-  -- added a status bar zoom slider
-  -- added zoom actions menu and toolbar
-- Syntax Checker
-  -- added a syntax checker for TOML files
-- Web Browser
-  -- added a SSL information page to the site info dialog
-  -- added a clickable SSL info label to the URL entry
-- Various
-  -- changed code to not use deprecated 'QRegExp' anymore
-
-Version 20.10:
-- bug fixes
-- Editor
-  -- added an outline widget showing the structure of the editor source code
-     and allowing to navigate in the code
-- Python Disassembly Viewer
-  -- added a tool to visualize the Python byte code generated from a Python
-     source file
-  -- added a viewer to visualize the Python byte code generated from a Python
-     traceback of an exception as an additional tab of the debug viewer
-  -- added capability to show information about a code object
-- Third Party packages
-  -- updated Pygments to 2.7.0
-  -- updated coverage.py to 5.3.0
-  -- removed the no longer needed 'enum' package
-- Various
-  -- changed the code to not rely on the Qt Resource system anymore
-     (no .qrc files and no use of pyrcc5 anymore)
-
-Version 20.9:
-- bug fixes
-- File Browser
-  -- changed it to react upon changed files if their contents is shown
-- Tasks
-  -- added separate task categories for 'Test' and 'Documentation' tasks
-- Mercurial Interface
-  -- removed the interface for the deprecated 'fetch' extension
-- VCS Interfaces
-  -- added a configuration option to disable the VCS toolbars
-  
-Version 20.8:
-- bug fixes
-
-Version 20.7:
-- bug fixes
-- General
-  - removed support for Python2
-  - removed support for Qt4 (PyQt4 and pyside)
-- pip Interface
-  -- added menu action for pip cache management
-- Code Style Checker
-  -- changed the dialog to allow the selection of checker categories
-  -- added several security related checks (ported from bandit)
-  -- extended the dialog to show a list of files still to be checked
-  -- updated pycodestyle to version 2.6.0
-- Syntax Checker
-  -- updated pyflakes to version 2.2.0
-- Third Party packages:
-  -- updated asttoken to version 2.0.4
-
-Version 20.6:
-- bug fixes
-- Web Browser:
-  -- added a configurable URL entry color to indicate sites with certificate
-     issues
-  -- added code to ask for the title of a new bookmark folder
-
-Version 20.5:
-- bug fixes
-- MicroPython
-  -- added support for Calliope mini
-- Third Party packages
-  -- updated Pygments to 2.6.1
-
-Version 20.4:
-- bug fixes
-- General
-  -- included a new icon set based on the Breeze icons of KDE
-
-Version 20.3:
-- bug fixes
-- Debugger
-  -- added debugging support for QRunable
-- Mercurial Interface
-  -- added support for the '--secure' flag of "hg import" as of Mercurial 5.3
-- Syntax Checker
-  -- updated pyflakes to repository as of 2020-02-03
-- Third Party packages
-  -- updated coverage.py to 5.0.3
-
-Version 20.2:
-- bug fixes
-
-Version 20.1:
-- bug fixes
-- MicroPython
-  -- added entries to the ESP menu to show the Chip ID, Flash ID and
-     MAC Address
-  -- added entries to the ESP menu to backup and restore a firmware
-- Web Browser
-  -- added support for viewing PDF documents inside the web browser
-     (requires PyQt/Qt 5.13 or better)
-
-Version 19.12:
-- bug fixes
-- MicroPython
-  -- added a menu entry to show the local and device time side-by-side
-  -- added a PyBoard menu entry to flash a new firmware
-  -- added a menu entry to open the firmware download page of a device
-- Syntax Checker
-  -- added a syntax checker for JSON files
-  -- added a syntax checker for YAML files
-- install script
-  -- added the "--yes" flag to allow installation of all missing prerequisites
-     with pip without asking
-
-Version 19.11:
-- bug fixes
-- Editor
-  -- extended the spell checking functionality for all text files
-  -- added a context menu to select spell check language
-  -- made the preview refresh timeout configurable
-     (see Editor -> File Handling config page)
-- Error Message Dialog
-  -- added a configurable minimum severity for messages being shown in a dialog
-     (see Application config page)
-- MicroPython
-  -- added support for PyBoard
-- Previewers
-  -- enhanced the Markdown previewer by using the PyMdown extensions, if
-     they are available and have been enabled
-  -- enhanced the Markdown previewer to support MathJax, if it has been
-     enabled
-  -- enhanced the Markdown previewer to support Mermaid via the md_mermaid
-     extension, if it is available and has been enabled
-
-Version 19.10:
-- bug fixes
-- removed runtime support for Python2 and PyQt4
-- changed minimum Qt/PyQt version required to 5.9.0
-- Code Style Checker
-  -- added more comprehension checks
-  -- added checks for insecure use of sys.version and sys.version_info
-  -- added a checker class for type annotations
-- Editor
-  -- added configuration option to set the tab and indentation width for each
-     languages separately (as an override to the global ones)
-  -- added a typing aid for YAML
-- QFileDialog Wizard:
-  -- added support for the QFileDialog.get...Url() methods
-  -- added support for E5FileDialog
-- Third Party packages
-  -- updated coverage.py to 4.5.4
-
-Version 19.9:
-- bug fixes
-- MicroPython
-  -- added widgets to support development for embedded micro controllers with
-     MicroPython (ESP8266/ESP32, CircuitPython and BBC micro:bit)
-- Main Window
-  -- added an action to the Windows menu to activate the current editor
-- Mercurial Interface
-  -- added an action to commit a merge
-- Web Browser (NG)
-  -- added support for the QWebEnginePage.Notifications as Qt 5.13.0
-- API Files
-  -- added API files for MicroPython, CircuitPython and BBC micro:bit
-     MicroPython and updated the PyQt5 API files
-- API Generator
-  -- added the -i switch to ignore the existence of builtin modules when
-     creating API files
-
-Version 19.8:
-- bug fixes
-- Third Party packages
-  -- upgraded pyflakes to version 2.1.1 plus repository changes to fix some
-     issues (until 2019-07-09)
-
-Version 19.7:
-- bug fixes
-- Code Style Checker
-  -- added check for commented code that should be removed
-  -- added check for line continuation methods not suggested by PEP-8
-  -- added checks for naive uses of datetime classes
-
-Version 19.6:
-- bug fixes
-- Code Style Checker
-  -- added checks for use of 'gettattr' and 'setattr', bas super() calls and
-     'assert False' statements
-- Editor
-  -- Python Typing
-     --- added support for 'from ... import (...)'
-     --- changed the indentation when the previous line ends with
-         '(', '[' or '{'
-  -- Ruby Typing
-     --- changed the indentation when the previous line ends with
-         '(', '[' or '{'
-- Mercurial Interface
-  -- extended the log browser to start with showing all incoming and the
-     first batch of local changesets
-  -- show different icons for incoming, outgoing and normal changesets
-  -- added capability to search and filter based on the changeset phase
-  -- added support for the 'closehead' extension (as of Mercurial 4.8)
-  -- added support for the '--keep' flag of the shelve command (as of
-     Mercurial 5.0)
-- Shell
-  -- added capability to place the Shell window in the left or right side
-     container
-- setup.py Wizard
-  -- updated the Trove classifiers list
-  -- added capability to retrieve the Trove classifiers list from PyPI
-- Variables Viewer
-  -- reimplemented Variables Viewer using QTreeView with unlimited access to
-     big arrays, dicts, etc. because elements are lazy loaded
-  -- highlighting of still unloaded (default: yellow background) and last
-     changed variable(s) (default: green background)
-  -- colors for highlighting are configurable through Debugger->General
-  -- expand / collapse variables with children on double click on first column,
-     in all other cases display detail window
-  -- handling of dict views improved (can be expanded like lists)
-  -- show tooltips on all elements which don't fit into current column width
-  -- new options in the context menu, e.g. expand / collapse all child nodes
-- Third Party packages
-  -- updated EditorConfig to 0.12.2
-
-Version 19.5:
-- bug fixes
-- General
-  -- added functionality to provide eric6 via PyPI. Installation can be
-     accomplished via 'pip install eric-ide'
-- Python AST Viewer
-  -- added a tool to visualize the AST for a Python source file
-- Snapshot Tool
-  -- added code to support screenshots on Wayland desktops (KDE and Gnome)
-
-Version 19.04:
-- bug fixes
-- Code Style Checker
-  -- added a checker for advised forms of the return statement
-- Editor
-  -- added extended regular expression support (C++11) as of QScintilla 2.11.0
-  -- added capability to configure the subline indentation for wrapped lines
-  -- added capability to frame the line containing the cursor instead of
-     coloring it
-  -- added support for the "reverse selected lines" command (Meta+Alt+R)
-  -- added support for sub-styling (user definable words and their style)
-     (see Editor->Highlighters->Styles configuration page)
-     (only C++ and Python2/3 lexers support this feature)
-  -- extended the support for keyword sets (see Editor->Highlighters->Keywords
-     configuration page)
-- Email
-  -- changed the Google Mail interface to not use obsoleted packages anymore
-- Multi Project
-  -- added capability to the multi project browser to copy a project
-- Unit Test
-  -- added the capability to select the virtual environment for the unittest
-     run
-  -- removed the 'local' selection because it is obsolete
-  -- added capability to auto-discover tests
-  -- added capability to show auto-discovered tests and select from this list
-  -- added capability to stop the test on the first error or failure
-  -- added capability to run test with debugger support
-- Web Browser (NG)
-  -- added these search engines to the default list:
-     --- MetaGer
-     --- StartPage (German)
-     --- searx.me
-  -- added support to go one page back by pressing the backspace key
-
-Version 19.03:
-- bug fixes
-- Conda Interface
-  -- added an interface to the conda environment and package management
-     (part of the Anaconda Python distribution)
-- Editor
-  -- suppress auto-completions in various circumstances
-- pip Interface
-  -- changed the interface from being menu based to a widget in the right
-     side toolbox
-- VirtualEnv Manager
-  -- extended the environment definition by a flag indicating a remotely
-     accessed environment
-- Web Browser (NG)
-  -- added a site info widget that is show when the site icon in the URL entry
-     is clicked
-  -- added code to register custom protocol handlers (upon request of the user
-     via the site info widget)
-- Third Party packages
-  -- updated pycodestyle to 2.5.0
-     --- added option to set the documentation line length
-  -- upgraded pyflakes to 2.1.0
-
-Version 19.02.1:
-- bug fixes
-- fixes for some incompatibilities with PyQt 5.12 and QScintilla 2.11.0
-
-Version 19.02:
-- bug fixes
-- Debugger
-  -- show / stop at correct line number if an exception happens in a with
-     statement or specific try-except clauses where no breakpoints are set
-- Editor
-  -- added capability to suppress some markers in the marker map
-- Multi Project
-  -- added capability to the multi project browser to delete a project
-     from disk
-- Web Browser (NG):
-  -- added support to select a client SSL certificate (as of Qt 5.12)
-- Third Party packages
-  -- updated coverage.py to 4.5.2
-  -- updated jasy to 1.5-beta6 (latest release available)
-  -- updated Pygments to 2.3.1
-
-Version 19.01:
-- bug fixes
-- pip Interface
-  -- added an entry to select the virtual environment of the current project
-     if it has one defined
-- Project Resources Browser
-  -- added support for some resource compiler options
-- Web Browser (old):
-  -- added single application mode
-  -- change logic inside eric to use a remote controlled web browser to show
-     help texts
-- Web Browser (NG):
-  -- added single application mode
-  -- change logic inside eric to use a remote controlled web browser to show
-     help texts
-
-Version 18.12:
-- bug fixes
-- Editor
-  -- changed the 'Regexp' search option to use QScintilla's POSIX mode, where
-     ( and ) are used for tagging (instead of \( and \))
-- LogViewer
-  -- added the capability to search for a regular expression (Qt >= 5.3.0
-     is required for this)
-- Project Forms Browser
-  -- added support for the --resource-suffix= and --import-from= options of
-     pyuic (the PyQt forms compiler)
-- Shell, ShellWindow
-  -- added the capability to search for a regular expression with QScintilla's
-     POSIX mode
-  -- changed the start menu to give a list of defined environments
-  -- added capability to start the shell for the environment defined by the
-     open project
-- Translator
-  -- added a button to open the Translator configuration page
-- VirtualEnv Manager
-  -- extended the environment definition by a flag indicating an Anaconda
-     environment and a string to be prepended to the PATH environment variable
-
-Version 18.11:
-- bug fixes
-- IRC
-  -- added support for some of the "/" commands to the user list context menu
-- Translator
-  -- changed DeepL support to DeepL Pro
-- VCS
-  -- added capability to show some VCS info in the status bar of the main
-     window (next to the VCS status LED)
-
-Version 18.10:
-- bug fixes
-- General
-  -- changed the extension of the generated script files for Windows from
-     '.bat' to '.cmd'
-- Debugger
-  -- added code to use the default virtual environment, if none has been
-     configured yet
-- IRC
-  -- added support for the /query, /notice, /ping, /ignore, /unignore, /away,
-     /join, /part and /partall commands
-- Tasks
-  -- added code to mark a line as not containing a task with '__NO-TASK__'
-
-Version 18.09:
-- bug fixes
-- Mercurial Interface
-  -- added support for Mercurial 4.7 extended commands 'graft', 'rebase' and
-     'export'
-
-Version 18.08:
-- bug fixes
-- General
-  -- made the activation of these internal tools configurable
-     * Template-Viewer
-     * File-Browser
-     * Symbols
-     * Code Documentation Viewer
-     * Cooperation
-     * IRC
-     * Numbers
-- File-Browser
-  -- changed code so file-browser is always a standalone window
-- Project Interfaces Browser
-  -- added actions to configure some IDL compiler options (-I, -D, -U)
-- Shell
-  -- changed code so shell is always a standalone window
-- Translator
-  -- added a translation engine for the IBM Watson Language Translator
-- Web Browser (NG)
-  -- added default search engine definitions for
-     * Qwant
-     * StartPage
-
-Version 18.07:
-- bug fixes
-- Checkers
-  -- upgraded pyflakes to version 2.0.0
-- Debugger
-  -- added support of breakpoint() builtin of Python 3.7
-  -- added code to try to open the source file if an exception occurred in
-     a cython .pyd file
-- Git Interface
-  -- added capability to change the URL and/or user credentials for a
-     remote repository
-- pip Interface
-  -- added support for the '--user' option of install and list commands
-  -- changed to use the new VirtualEnv Manager
-- Unit Test
-  -- extended the standalone unit test tool to be able to open source in an
-     editor window
-- VirtualEnv Manager
-  -- added a manager for virtual environments
-  -- changed a few places to use the newly introduced virtual environments
-     (Note: a new session file format and debug properties file format
-      has been introduced)
-
-**Upgrade note**: It may be neccessary to configure the Python environments,
-the environments to be used for the debugger. Once that is done, the eric6
-IDE should be restarted.
-
-Version 18.06:
-- bug fixes
-- Editor
-  -- added a configuration option (Editor->Style page) to show the marker map
-     on the left or right of the editor
-  -- added a context menu for the "fold" margin
-  -- improved handling of folded lines when using "go to" functions
-  -- resize auto complete list box to fit with contents
-    -- added a configuration option (Editor->autocomplete to set up maximum
-       width and height of the auto complete list box
-- Shell
-  -- resize auto complete list box to fit with contents
-- pip Interface
-  -- added an action to install a locally available package/wheel
-- Web Browser (NG)
-  -- improved the sending of the "Referer" header like it is done by Firefox
-
-Version 18.05:
-- bug fixes
-- General
-  -- added the '--disable-plugin=' option to disable plug-ins via the command
-     line
-- Code Style Checker
-  -- added support for '# noqa' and '# NOQA' comments to suppress warnings
-  -- extended the dialog to be able to define the number of blank lines
-     before class and function/method definitions
-- Project
-  -- added support for 'make' to the Project menu and run it automatically
-     before the main script is started (configuration option)
-- Syntax Checker
-  -- added support for '# noqa' and '# NOQA' comments to suppress warnings
-- Translator
-  -- updated the translator URL for DeepL
-- Web Browser (NG)
-  -- improvement of the download manager
-  -- added support for the Google Safe Browsing Lookup API (v4)
-- Third Party packages
-  -- updated coverage.py to 4.5.1
-  -- updated pycodestyle to 2.4.0
-  -- updated send2trash to version 1.5.0
-
-Version 18.04:
-- bug fixes
-- General
-  -- added config option to disable the use of the global menu bar on Linux
-- Code Style Checker
-  -- added checks for default docstring in functions and modules
-  -- added check for dictionaries with sorted keys
-  -- added checks for logging statements
-  -- added check for the 'gettext' import statement
-  -- added some checks of the bugbear checker
-
-Version 18.03:
-- bug fixes
-- Editor
-  -- added support for EditorConfig
-  -- added VCS conflict markers to the types shown on the marker map
-
-Version 18.02:
-- bug fixes
-- General
-  -- extended the session to store/retrieve the split views and the order of
-     the editors (**Note**: The new session file format is not backward
-     compatible and cannot be read by eric releases prior to 18.02)
-  -- added basic support for Cython
-- Editor
-  -- added a context menu entry to "Execute Selection In Console"
-- Web Browser (NG)
-  -- added support for HTML5 "Desktop Video Capture" and "Desktop Audio and
-     Video Capture" as of Qt 5.10.0/PyQt 5.10.0
-  -- added the capability to pause/resume download (Qt 5.10.0/PyQt 5.10.0)
-  -- added support for attributes introduced by Qt 5.9 and Qt 5.10
-
-Version 18.01:
-- bug fixes
-- Debugger / Breakpoint Viewer
-  -- added the capability to remember the most recently used file names and
-     conditions
-- Editor
-  -- added an action to the view menu to clear all folds of the current editor
-  -- added an entry to delete all change markers to the marker margin context
-     menu
-- Project
-  -- If a project does not contain protobuf files, the old project file format
-     (5.1) is generated to make the file backward compatible.
-- Plug-ins
-  -- added the pip interface plug-in to the core plug-ins
-  -- added the virtualenv/pyvenv interface plug-in to the core plug-ins
-  -- added the setup.py wizard plug-in to the core plug-ins
-  -- added the eric plug-in wizard plug-in to the core plug-ins
-  -- added the .desktop wizard plug-in to the core plug-ins
-  -- added the translator plug-in to the core plug-ins
-  -- added the git plug-in to the core plug-ins
-
-**Note**: These plug-ins should be deinstalled via the plug-in uninstallation
-dialog of eric before upgrading eric. A reconfiguration of these plug-ins may
-be neccessary.
-  - PluginToolPip
-  - PluginWizardVirtualenv
-
-Version 17.12:
-- bug fixes
-- General
-  -- added support for Google protobuf protocol files
-- Code Documentation Viewer
-  -- added possibility to show the type of the object info is shown for
-  -- modified the top row and the search part in order to allow smaller sizes
-- Debugger / Variables Viewer
-  -- introduced a configuration option to limit the variables shown by the
-     variables viewers depending on their size (in order to avoid overload
-     situations on low power or low memory machines)
-- Styles
-  -- added a dark style (*.qss and Python lexers) provided by Giuseppe Corbelli
-- Third Party packages
-  -- updated send2trash to version 1.4.2
-
-**NOTE**: This release introduces a new project file format that will be
-rejected by previous releases. The new format is needed for the Google protobuf
-support.
-
-Version 17.11:
-- bug fixes
-- Debugger
-  -- added capability to enter an interpreter in the Start... dialog
-- Editor
-  -- added support for auto-completion lists being provided asynchronously
-  -- added a viewer for source code documentation extracted by providers to
-     be implemented by plug-ins (like rope and jedi)
-- Web Browser (old style)
-  -- changed logic in order to put new downloads at the top of the list of
-     downloads and added the download date and time to the shown info
-- Web Browser (NG)
-  -- changed logic in order to put new downloads at the top of the list of
-     downloads and added the download date and time to the shown info
-
-Version 17.10:
-- bug fixes
-- Web Browser (NG)
-  -- added a downloader and installer/uninstaller dialog for spell check
-     dictionaries
-
-Version 17.09:
-- bug fixes
-- Debugger
-  -- unified the Python2 and Python3 debugger interfaces
-- Exporter
-  -- extended the HTML exporter to convert Markdown and ReST files to HTML
-- Plugin Manager
-  -- added a bar with counts for new/local updates/remote updates to the
-     plug-in repository dialog
-- Previewers
-  -- added capability to configure the output format for the markdown and
-     docutils (ReST) previewers
-- Web Browser (NG)
-  -- added support for Google Safe Browsing
-- Third Party packages
-  -- updated jasy to 1.5-beta5 (latest release available)
-
-Version 17.08:
-- bug fixes
-- Shell
-  -- added support for different history navigation styles (disabled, Linux,
-     Windows)
-  -- improved shell history dialog
-- Templates
-  -- added some new predefined template variables (time, path_name_rel,
-     dir_name_rel)
-- Web Browser (NG)
-  -- added support for sessions
-
-Version 17.07:
-- bug fixes
-- Background Services
-  -- added functionality to limit the number of processes used for background
-     services
-- Bug Reporting / Feature Request (Email)
-  -- added the capability to send these emails via Google Mail using OAuth2
-     authentication
-- Configuration
-  -- made the colors of the diff dialogs configurable
-- Third Party packages
-  -- updated chardet to 3.0.4
-
-Version 17.06:
-- bug fixes
-- Checkers
-  -- extended the source documentation checker to check for raised/documented
-     exceptions and defined/documented signals
-- Editor
-  -- reintroduced the highlighting of current instruction line and the error
-     line using colored background. It is configurable whether to use these
-     backgrounds or the arrows.
-  -- added capability to perform the various replace methods via keyboard
-     shortcuts
-- Plugin Manager
-  -- added an option to cleanup the plug-ins download area during startup
-- Qt Tools
-  -- added code to auto-discover the presence of the new 'pyqt5-tools' wheel
-     (Windows only) (thanks to Kyle Altendorf for providing this wheel)
-- Web Browser (NG)
-  -- united the stop and reload buttons of the navigation bar
-  -- added a super menu to modernize the look & feel
-  -- added Ctrl-Click and middle click actions to the navigation buttons
-     to perform the action in a new tab
-
-Version 17.05:
-- bug fixes
-- Editor
-  -- changed the indication of the current instruction line and the error line
-     to use a green or red arrow instead of a colored background
-- PyQt Tools
-  -- added a configuration option for the path of the PyQt tools
-- Shell
-  -- added a standalone shell window
-- Web Browser (NG)
-  -- added the last visited time and date to the bookmark properties dialog
-  -- added a visit count to the history entries (shown in the history dialog)
-  -- made full screen mode really full screen
-- Third Party packages
-  -- updated Pygments to 2.2.0
-  -- updated chardet to 3.0.2
-
-Version 17.04.1:
-- bug fixes
-
-Version 17.04:
-- bug fixes
-- General
-  -- increased minimum required Python versions to prevent usage
-     with very old versions (i.e. eric was never tested with)
-     min. versions: Python 2 - 2.7.10; Python 3 - 3.4.0
-- Checkers
-  -- added checks for shadowed Python builtins and unneccessary comprehensions
-     and generators to the code style checker
-  -- added a checker to check for lines of code of too high complexity
-  -- added capability to place line flags (e.g. __IGNORE...) on the line
-     following the one to be ignored
-- Debugger
-  -- shell autocompleter takes the right global variables into account now
-  -- move the instruction pointer within the current function (Hotkey: F12)
-  -- report syntax and indentation errors raised by an application or module
-     in the correct manner
-  -- avoid crashes on using greenlets
-- Mercurial Interface
-  -- extended the user configuration dialog
-  -- added support for the 'zstd' compression for bundles (as of 4.1.0)
-
-Version 17.03.1:
-- bug fixes
-
-Version 17.03:
-- bug fixes
-- Checkers
-  -- upgraded pycodestyle to version 2.3.1
-  -- upgraded pyflakes to version 1.5.0
-- Debugger
-  -- prevent stepping into print statements if checkbox for debugging into
-     interpreter libraries is checked
-  -- catch unhandled exceptions again
-  -- support for PySide2 added
-  -- atexit handling works as specified in any condition
-  -- prevent ordinary breakpoints to steal the focus from an exception
-- Mercurial Interface
-  -- improved the log browser in several ways
-  -- improved the status dialog
-- Project
-  -- added capability to remember previously used entries in the project
-     debugger properties dialog
-- Web Browser (NG)
-  - added support for new options provided by Qt 5.8.0
-  - added support for spell checking as of Qt 5.8.0
-
-Version 17.02.1:
-- bug fixes
-
-Version 17.02:
-- bug fixes
-- Checkers
-  -- upgraded pycodestyle to version 2.2.0+
-- Debugger
-  -- changed the variables filter dialog to be more user friendly
-- Editor
-  -- added a bar with formatting options for HTML, Markdown and reStructured
-     Text files
-  -- added support for the new QScintilla JSON lexer
-  -- added support for the new QScintilla Markdown lexer
-- Email
-  -- added capability to use the SSL encryption method (next to StartTLS) in
-     the built in Email dialog
-- Mercurial Interface
-  -- added clickable links to the log browser details pane
-  -- added up and down buttons to move the current entry to the log browser
-  -- added the capability to configure the length of the log message shown
-     in the message column of the log browser list
-- Subversion interface
-  -- added up and down buttons to move the current entry to the log browser
-- Web Browser
-  -- added functionality to manage the plug-in provided documentation sets
-
-Version 17.01:
-- bug fixes
-- General
-  -- added capability to save a global session to disk and restore it
-  -- added capability to save a crash session in order to restore the
-     current state in case of a crash
-  -- added option to configure the crash session startup behavior and
-     added the '--no-crash' option to suppress looking for a crash session
-  -- added the '--disable-crash' option to temporarily disable the crash
-     session support through the command line
-  -- changed some options: --noopen to --no-open, --nosplash to --no-splash
-- Debugger
-  -- added capability to edit the history lists of the start dialogs of the
-     debugger
-- Editor
-  -- added support for project type specific auto-completion and calltips
-     including the respective configuration (Editor->APIs page)
-
-Version 16.12:
-- bug fixes
-- Mercurial Interface
-  -- added context menu actions to the tags/branches list dialog
-  -- added bookmark actions to the Log Browser tools menu
-  -- added context menu actions to the bookmark list dialog
-  -- added possibility to enter a commit author and commit date/time
-  -- added capability to enforce a tagging operation
-- Third Party packages
-  -- updated chardet to 2.3.0
-
-Version 16.11.1:
-- fixed a PyQt5 compatibility issue on Windows platforms
-
-Version 16.11:
-- bug fixes
-- General
-  -- added a status bar icon to show the online status to the main window
-  -- added an action to clear the private data of the IDE
-- Checkers
-  -- added capaibility to ignore warnings by code (use
-     __IGNORE_WARNING_<code>__, e.g. __IGNORE_WARNING_M613__)
-- Debugger
-  -- added a debugger interface registry to allow debuggers being
-     implemented as plug-ins
-  -- Python Debuggers:
-     --- changed the protocol to a JSONRPC style protocol to be more robust
-     --- massive speed gain of the debug client (Tobias Rzepka)
-     --- unified the debugger clients for Python 2 and 3 (Tobias Rzepka)
-     --- unified the standard and threaded debugger clients (Tobias Rzepka)
-     --- added debug support for QThread threads (Tobias Rzepka)
-  -- Ruby Debugger:
-     --- removed the Ruby debugger (the interface doesn't work with recent
-         Ruby versions anymore)
-  -- Call Trace Viewer
-     --- added capability to stop recording upon exit of the client script
-  -- Variables Viewer
-     --- added capability to refresh the view via the context menu
-- Hex Editor
-  -- added a nice little hex editor tool (usable as a standalone tool
-     as well)
-- Icon Editor
-  -- added capability to close all other icon editor windows
-- Project
-  -- added a dialog to quickly search for files in the list of project files
-     (thanks to Mike C. Fletcher for contributing the majority of this)
-  -- added an option to rescan the project for tasks upon open
-- Project Browser
-  -- added capability to search the file tree via the keyboard (directories and
-     files only)
-- Tools
-  -- Tray Starter
-     --- added an entry to show the version information
-- Version Control System Interfaces
-  -- Mercurial
-     --- added support for pulling and pushing the current bookmark
-     --- added support for the strip extension
-     --- added support for the histedit extension
-     --- added support for the strip and fetch extensions to the log browser
-     --- added an action to the administration menu to clean out the backup
-         bundles
-- Web Browser
-  -- added capability to remember the zoom values for each site (incl. a
-     dialog to manage these)
-  -- added a status bar icon to show the online status
-- Web Browser (NG)
-  -- ported the web browser to QtWebEngine as of Qt 5.6.0 because starting
-     with this version QtWebKit is no longer (officially) supported
-- Third Party packages
-  -- updated Pygments to 2.1.3
-  -- updated pep8 to 2.1.0dev0 and renamed it to pycodestyle
-  -- updated coverage.py to 4.1.0
-  -- updated pyflakes to 1.2.3+
-
-Version 6.1.0:
-- bug fixes
-- General
-  -- added a configuration page to edit the list of mime types to
-     be opened in an eric editor
-  -- added the '--settings=' command line switch to store the
-     settings files in a non-standard directory
-- Checkers
-  -- added a batch mode to the code style checker to make use of
-     multiple CPUs/CPU-Cores
-  -- added a batch mode to the syntax checker to make use of
-     multiple CPUs/CPU-Cores
-  -- added a batch mode to the indentation checker to make use of
-     multiple CPUs/CPU-Cores
-  -- added a code complexity checker iaw. McCabe to the code style
-     checker
-  -- added miscellaneous checks to the code style checker (coding
-     comment, copyright, blind except, print statements, one element
-     tuples, __future__ imports, old style string formats, string
-     format strings)
-- Debugger
-  -- added signal handlers for the Python debug clients
-- Editor
-  -- added capability to configure the indentation guides colors
-  -- added capability to ask multiple completion list and call-tip
-     providers
-  -- added support for mouse click handlers to be provided by plug-ins
-  -- added the search markers to the marker map
-  -- added capability to save a copy of the editor contents
-  -- Lexers
-     --- added support for the new C++ lexer properties (as of
-         QScintilla V. 2.9.0)
-- File Browser
-  -- added capability to show imports of a Python script
-- Log Viewer
-  -- added a message filter including a configuration page
-- Mini Editor
-  -- added capability to save a copy of the editor contents
-- Preferences Dialog
-  -- changed the 'filter' function to a 'search' function disabling
-     all entries, that don't contain the entered string
-  -- changed the handling of the configuration page list entries
-     to be collapsed on first show and remember the expanded ones
-     while eric is running (but not between invocations)
-- Previewers
-  -- added capability to use 'Sphinx' to preview ReST files
-- Project
-  -- added functionality to reorganize the files automatically,
-     when the project type or file type associations are changed
-- Project Browser
-  -- added capability to show imports of a Python script
-- Source Code Documentor
-  -- added tags to describe the type of parameters (@type, @ptype)
-     and return values (@rtype)
-- Task Viewer
-  -- added capability to add sub-tasks (i.e. a task hierarchy) for
-     manually generated tasks
-- Tools
-  -- Diff Dialog
-     --- added capability to search in the output
-- Version Control System Interfaces
-  -- All
-     --- added capability to search in the output of Diff dialogs
-  -- Mercurial
-     --- enhanced the log browser functionality by a search mode
-     --- enhanced the log browser functionality by pull and push actions
-     --- enhanced the status dialog functionality by a diff view
-- Web Browser
-  -- added support for HTML5 feature permissions
-  -- improved parsing of the content disposition header analog to
-     the way it is done in qutebrowser
-  -- modified and extended the VirusTotal interface for the v2 API
-  -- added our own web inspector window to overcome a Qt weekness
-  -- added a manager for Flash Cookies
-- Third Party packages
-  -- updated coverage to 4.0
-  -- updated Pygments to 2.0.2
-
-Version 6.0.0:
-- bug fixes
-- Debugger
-  -- added capability to show exceptions in the shell window
-
-Version 6.0.0-RC1:
-- bug fixes
-- General
-  -- added Portugese translations provided by Candido Fontes
-  -- extended the code base to be usable with PyQt4 as well
-- Multi Project
-  -- changed multi project file format to contain relative paths to
-     the contained project files
-- Project Forms Browser
-  -- added functionality to modify some form code creation options (see
-     Qt configuration page)
-- Web Browser
-  -- added DuckDuckGo to the list of default search engines
-
-Version 6.0-snapshot-20140720:
-- bug fixes
-- General
-  -- ported from eric5 to be used with PyQt5
-  -- changed the eric mascot to be a Python (i.e. the snake). New icons
-     and pixmaps provided by Thimo Kraemer.
-  -- changed the code to be executed with Python 2 as well (thanks to
-     Tobias Rzepka)
-  -- implemented a background service which execute Python2 and Python3 scripts
-     in the background independent of the current interpreter
-- Checkers
-  -- updated pep8 to 1.5.6
-  -- updated pyflakes to version 0.8.1 (Python 3.4.0 compatible)
-  -- added syntax checker for JavaScript files
-  -- added capability to check multiple files from the project sources browser
-- Debugger
-  -- updated coverage to 3.7.1
-  -- enabled coverage info in Python2 projects
-- Editor
-  -- added a scrolling map like display showing all markers
-  -- added a context menu entry to reload a file with a given encoding
-  -- added a lexer for Qt style sheet files (when upgrading from older
-     eric versions a change of the lexer association for *.qss files needs
-     to be done via the configuration dialog)
-  -- added support for the QScintilla Gettext lexer (QsciLexerPO) as of
-     QScintilla 2.8.2
-  -- added support for the QScintilla CoffeeScript lexer
-     (QsciLexerCoffeeScript) as of QScintilla 2.8.3
-- Multi Project
-  -- added support for the categorisation of projects and changed the
-     multi project file format
-- Plugin Manager
-  -- extended the plugin repository dialog to allow to hide unwanted entries
-     and cleanup the plugin downloads area
-  -- implemented the Python2 compatibility check for plug-ins (new boolean flag
-     'python2Compatible'
-- Project
-  -- added support for JavaScript projects
-  -- added code to move deleted files/directories to the recycle bin falling
-     back to removing them (os.remove), if send2trash cannot be imported due
-     to missing dependencies
-- Version Control System Interfaces
-  -- All
-     --- made the status LED (right lower corner) clickable (depending on
-         overall VCS status it will show the log browser or the status dialog)
-  -- Mercurial
-     --- enhanced the tag dialog and extended the log browser to allow
-         tagging of a specific revision
-     --- added dialogs to enter the contents for initial .hgrc/mercurial.ini
-         and .hg/hgrc files
-     --- added a configuration option to enforce the usage of the internal
-         merge tool
-     --- made availablity of push/pull related actions dependent on configured
-         remote repository (default/default-push in .hg/hgrc)
-     --- extended the log browser by an action to switch to the selected
-         revision
-     --- added support for the shelve extension (as of Mercurial 2.8)
-     --- added support for the largefiles extension (as of Mercurial 2.0)
-     --- added support for Mercurial queues summary
-     --- added support for various 'resolve' subcommands
-- Third Party packages
-  -- updated CharDet to 2.2.1
+- last formal eric6 release
--- a/eric7.epj	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7.epj	Sat Jan 01 14:34:29 2022 +0100
@@ -561,7 +561,6 @@
       "eric7/Preferences/ConfigurationPages/VcsPage.ui",
       "eric7/Preferences/ConfigurationPages/ViewmanagerPage.ui",
       "eric7/Preferences/ConfigurationPages/WebBrowserAppearancePage.ui",
-      "eric7/Preferences/ConfigurationPages/WebBrowserInterfacePage.ui",
       "eric7/Preferences/ConfigurationPages/WebBrowserPage.ui",
       "eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.ui",
       "eric7/Preferences/ConfigurationPages/WebBrowserVirusTotalPage.ui",
@@ -715,7 +714,8 @@
       "eric7/UI/FindFileWidget.ui",
       "eric7/UI/FindLocationWidget.ui",
       "eric7/JediInterface/RefactoringPreviewDialog.ui",
-      "eric7/QScintilla/EditorOutlineSizesDialog.ui"
+      "eric7/QScintilla/EditorOutlineSizesDialog.ui",
+      "eric7/Preferences/ConfigurationPages/InterfaceLightPage.ui"
     ],
     "HASH": "df7daa8781250f7664e6ecaeaf1361fa2efd39ee",
     "IDLPARAMS": {
@@ -937,7 +937,8 @@
       "eric7/DebugClients/Python/coverage/htmlfiles/keybd_open.png",
       "eric7/DebugClients/Python/coverage/htmlfiles/pyfile.html",
       "eric7/DebugClients/Python/coverage/htmlfiles/style.css",
-      "eric7/DebugClients/Python/coverage/htmlfiles/style.scss"
+      "eric7/DebugClients/Python/coverage/htmlfiles/style.scss",
+      "eric7/Themes"
     ],
     "OTHERTOOLSPARMS": {
       "CodeMetrics": {
@@ -1613,7 +1614,6 @@
       "eric7/Preferences/ConfigurationPages/VcsPage.py",
       "eric7/Preferences/ConfigurationPages/ViewmanagerPage.py",
       "eric7/Preferences/ConfigurationPages/WebBrowserAppearancePage.py",
-      "eric7/Preferences/ConfigurationPages/WebBrowserInterfacePage.py",
       "eric7/Preferences/ConfigurationPages/WebBrowserPage.py",
       "eric7/Preferences/ConfigurationPages/WebBrowserSpellCheckingPage.py",
       "eric7/Preferences/ConfigurationPages/WebBrowserVirusTotalPage.py",
@@ -2296,7 +2296,16 @@
       "eric7/HelpViewer/HelpViewerImplQWE.py",
       "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFutureVisitor.py",
       "eric7/DebugClients/Python/coverage/exceptions.py",
-      "eric7/QScintilla/EditorOutlineSizesDialog.py"
+      "eric7/QScintilla/EditorOutlineSizesDialog.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/__init__.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportsChecker.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/translations.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerUtilities.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/LocalImportVisitor.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportsEnums.py",
+      "eric7/Plugins/CheckerPlugins/CodeStyleChecker/Imports/ImportNode.py",
+      "eric7/Preferences/ThemeManager.py",
+      "eric7/Preferences/ConfigurationPages/InterfaceLightPage.py"
     ],
     "SPELLEXCLUDES": "Dictionaries/excludes.dic",
     "SPELLLANGUAGE": "en_US",
--- a/eric7/APIs/Python3/eric7.api	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/APIs/Python3/eric7.api	Sat Jan 01 14:34:29 2022 +0100
@@ -1208,12 +1208,15 @@
 eric7.EricWidgets.EricAnimatedWidget.EricAnimatedWidget.startAnimation?4()
 eric7.EricWidgets.EricAnimatedWidget.EricAnimatedWidget.widget?4()
 eric7.EricWidgets.EricAnimatedWidget.EricAnimatedWidget?1(direction=DirectionDown, duration=300, parent=None)
+eric7.EricWidgets.EricApplication.EricApplication.PaletteRoleMapping?7
 eric7.EricWidgets.EricApplication.EricApplication.getObject?4(name)
 eric7.EricWidgets.EricApplication.EricApplication.getPluginObject?4(name)
 eric7.EricWidgets.EricApplication.EricApplication.getPluginObjectType?4(name)
 eric7.EricWidgets.EricApplication.EricApplication.getPluginObjects?4()
+eric7.EricWidgets.EricApplication.EricApplication.getStyleIconsPath?4(universal=False)
 eric7.EricWidgets.EricApplication.EricApplication.registerObject?4(name, objectRef)
 eric7.EricWidgets.EricApplication.EricApplication.registerPluginObject?4(name, objectRef, pluginType=None)
+eric7.EricWidgets.EricApplication.EricApplication.setStyleSheetFile?4(filename)
 eric7.EricWidgets.EricApplication.EricApplication.unregisterPluginObject?4(name)
 eric7.EricWidgets.EricApplication.EricApplication.usesDarkPalette?4()
 eric7.EricWidgets.EricApplication.EricApplication.usesSmallScreen?4()
@@ -2246,7 +2249,6 @@
 eric7.HexEdit.HexEditWidget.HexEditWidget.BYTES_PER_LINE?7
 eric7.HexEdit.HexEditWidget.HexEditWidget.HEXCHARS_PER_LINE?7
 eric7.HexEdit.HexEditWidget.HexEditWidget.addressArea?4()
-eric7.HexEdit.HexEditWidget.HexEditWidget.addressAreaColors?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.addressOffset?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.addressWidth?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.asciiArea?4()
@@ -2272,7 +2274,6 @@
 eric7.HexEdit.HexEditWidget.HexEditWidget.getSelectionLength?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.goto?4(offset, fromCursor=False, backwards=False, extendSelection=False)
 eric7.HexEdit.HexEditWidget.HexEditWidget.hasSelection?4()
-eric7.HexEdit.HexEditWidget.HexEditWidget.highlightColors?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.highlighting?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.indexOf?4(byteArray, start)
 eric7.HexEdit.HexEditWidget.HexEditWidget.insert?4(pos, ch)
@@ -2316,11 +2317,9 @@
 eric7.HexEdit.HexEditWidget.HexEditWidget.selectToEndOfLine?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.selectToStartOfLine?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.selectionAvailable?7
-eric7.HexEdit.HexEditWidget.HexEditWidget.selectionColors?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.selectionToHexString?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.selectionToReadableString?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.setAddressArea?4(on)
-eric7.HexEdit.HexEditWidget.HexEditWidget.setAddressAreaColors?4(foreground, background)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setAddressOffset?4(offset)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setAddressWidth?4(width)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setAsciiArea?4(on)
@@ -2328,12 +2327,10 @@
 eric7.HexEdit.HexEditWidget.HexEditWidget.setCursorPosition?4(pos)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setData?4(dataOrDevice)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setFont?4(font)
-eric7.HexEdit.HexEditWidget.HexEditWidget.setHighlightColors?4(foreground, background)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setHighlighting?4(on)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setModified?4(modified, setCleanState=False)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setOverwriteMode?4(on)
 eric7.HexEdit.HexEditWidget.HexEditWidget.setReadOnly?4(on)
-eric7.HexEdit.HexEditWidget.HexEditWidget.setSelectionColors?4(foreground, background)
 eric7.HexEdit.HexEditWidget.HexEditWidget.toReadableString?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.undo?4()
 eric7.HexEdit.HexEditWidget.HexEditWidget.undoStack?4()
@@ -3331,6 +3328,7 @@
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.prepare?4(fileList, project)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog.start?4(fn, save=False, repeat=None)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.CodeStyleCheckerDialog?1(styleCheckService, project=None, parent=None)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.setItemIcon?4(itm, column, msgCode, severity=None)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.CodeStyleCodeSelectionDialog.getSelectedCodes?4()
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.CodeStyleCodeSelectionDialog?1(codes, categories, showFixCodes, parent=None)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.CodeStyleFixer.finalize?4()
@@ -3348,7 +3346,7 @@
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.Reindenter.getline?4()
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.Reindenter.run?4()
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.Reindenter?1(sourceLines)
-eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.CodeStyleStatisticsDialog?1(statistics, parent=None)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.CodeStyleStatisticsDialog?1(statisticData, parent=None)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker.Codes?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker.run?4()
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.ComplexityChecker.ComplexityChecker?1(source, filename, tree, select, ignore, args)
@@ -3401,6 +3399,24 @@
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.DocStyleContext?1(source, startLine, contextType)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations._docStyleMessages?8
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations._docStyleMessagesSampleArgs?8
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.ImportNode?1(appNames, astNode, checker)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.Codes?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.getStandardModules?4()
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker.run?4()
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.ImportsChecker?1(source, filename, tree, select, ignore, expected, repeat, args)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.APPLICATION?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.FUTURE?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.STDLIB?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.GroupEnum.THIRD_PARTY?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.NodeTypeEnum.IMPORT?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.NodeTypeEnum.IMPORT_FROM?7
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.LocalImportVisitor.visit?4(node)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.LocalImportVisitor.visit_FunctionDef?4(node)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.LocalImportVisitor.visit_Import?4(node)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.LocalImportVisitor.visit_ImportFrom?4(node)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.LocalImportVisitor?1(args, checker)
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations._importsMessages?8
+eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations._importsMessagesSampleArgs?8
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.BugBearVisitor.NodeWindowSize?7
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.BugBearVisitor.visit?4(node)
 eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.BugBearVisitor.visit_Assert?4(node)
@@ -6626,6 +6642,7 @@
 eric7.Preferences.ConfigurationDialog.ConfigurationDialog.showConfigurationPageByName?4(pageName)
 eric7.Preferences.ConfigurationDialog.ConfigurationDialog?1(parent=None, name=None, modal=False, fromEric=True, displayMode=ConfigurationMode.DEFAULTMODE, expandedEntries=None)
 eric7.Preferences.ConfigurationDialog.ConfigurationMode.DEFAULTMODE?7
+eric7.Preferences.ConfigurationDialog.ConfigurationMode.EDITORMODE?7
 eric7.Preferences.ConfigurationDialog.ConfigurationMode.HEXEDITORMODE?7
 eric7.Preferences.ConfigurationDialog.ConfigurationMode.TRAYSTARTERMODE?7
 eric7.Preferences.ConfigurationDialog.ConfigurationMode.WEBBROWSERMODE?7
@@ -6897,6 +6914,9 @@
 eric7.Preferences.ConfigurationPages.IconsPreviewDialog.IconsPreviewDialog.on_invertButton_toggled?4(checked)
 eric7.Preferences.ConfigurationPages.IconsPreviewDialog.IconsPreviewDialog.on_refreshButton_clicked?4()
 eric7.Preferences.ConfigurationPages.IconsPreviewDialog.IconsPreviewDialog?1(directories, parent=None)
+eric7.Preferences.ConfigurationPages.InterfaceLightPage.InterfaceLightPage.save?4()
+eric7.Preferences.ConfigurationPages.InterfaceLightPage.InterfaceLightPage?1()
+eric7.Preferences.ConfigurationPages.InterfaceLightPage.create?4(dlg)
 eric7.Preferences.ConfigurationPages.InterfacePage.InterfacePage.on_combinedLeftRightSidebarCheckBox_toggled?4(checked)
 eric7.Preferences.ConfigurationPages.InterfacePage.InterfacePage.on_iconBarButton_clicked?4()
 eric7.Preferences.ConfigurationPages.InterfacePage.InterfacePage.on_resetLayoutButton_clicked?4()
@@ -7011,9 +7031,6 @@
 eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.WebBrowserAppearancePage.setMode?4(displayMode)
 eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.WebBrowserAppearancePage?1()
 eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.create?4(dlg)
-eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.WebBrowserInterfacePage.save?4()
-eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.WebBrowserInterfacePage?1()
-eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.create?4(dlg)
 eric7.Preferences.ConfigurationPages.WebBrowserPage.WebBrowserPage.on_defaultHomeButton_clicked?4()
 eric7.Preferences.ConfigurationPages.WebBrowserPage.WebBrowserPage.on_refererWhitelistButton_clicked?4()
 eric7.Preferences.ConfigurationPages.WebBrowserPage.WebBrowserPage.on_setCurrentPageButton_clicked?4()
@@ -7153,6 +7170,11 @@
 eric7.Preferences.SubstyleDefinitionDialog.SubstyleDefinitionDialog.on_resetButton_clicked?4()
 eric7.Preferences.SubstyleDefinitionDialog.SubstyleDefinitionDialog.on_wordsEdit_textChanged?4()
 eric7.Preferences.SubstyleDefinitionDialog.SubstyleDefinitionDialog?1(lexer, style, substyle, parent=None)
+eric7.Preferences.ThemeManager.ThemeManager.ColorKeyList?7
+eric7.Preferences.ThemeManager.ThemeManager.ColorKeyPatternList?7
+eric7.Preferences.ThemeManager.ThemeManager.exportTheme?4()
+eric7.Preferences.ThemeManager.ThemeManager.importTheme?4()
+eric7.Preferences.ThemeManager.ThemeManager?1(parent: QObject = None)
 eric7.Preferences.ToolConfigurationDialog.ToolConfigurationDialog.getToollist?4()
 eric7.Preferences.ToolConfigurationDialog.ToolConfigurationDialog.on_addButton_clicked?4()
 eric7.Preferences.ToolConfigurationDialog.ToolConfigurationDialog.on_argumentsEdit_textChanged?4(text)
@@ -8493,7 +8515,6 @@
 eric7.QScintilla.Lexers.LexerQSS.LexerQSS.isCommentStyle?4(style)
 eric7.QScintilla.Lexers.LexerQSS.LexerQSS.isStringStyle?4(style)
 eric7.QScintilla.Lexers.LexerQSS.LexerQSS.language?4()
-eric7.QScintilla.Lexers.LexerQSS.LexerQSS.lexer?4()
 eric7.QScintilla.Lexers.LexerQSS.LexerQSS.lexerName?4()
 eric7.QScintilla.Lexers.LexerQSS.LexerQSS?1(parent=None)
 eric7.QScintilla.Lexers.LexerRegistry?7
@@ -9553,7 +9574,6 @@
 eric7.UI.FindLocationWidget.FindLocationWidget.linguistFile?7
 eric7.UI.FindLocationWidget.FindLocationWidget.on_fileList_currentItemChanged?4(current, previous)
 eric7.UI.FindLocationWidget.FindLocationWidget.on_fileList_itemActivated?4(itm, column)
-eric7.UI.FindLocationWidget.FindLocationWidget.on_fileNameEdit_textChanged?4(text)
 eric7.UI.FindLocationWidget.FindLocationWidget.on_searchDirPicker_textChanged?4(text)
 eric7.UI.FindLocationWidget.FindLocationWidget.pixmapFile?7
 eric7.UI.FindLocationWidget.FindLocationWidget.sourceFile?7
@@ -9672,6 +9692,8 @@
 eric7.UI.Previewers.PreviewerHTMLStyles.css_markdown_light?7
 eric7.UI.Previewers.PreviewerHTMLStyles.css_pygments_dark?7
 eric7.UI.Previewers.PreviewerHTMLStyles.css_pygments_light?7
+eric7.UI.Previewers.PreviewerQSS.PreviewerQSS.on_checkBox_stateChanged?4(state)
+eric7.UI.Previewers.PreviewerQSS.PreviewerQSS.on_styleIconsPathPicker_textChanged?4(txt)
 eric7.UI.Previewers.PreviewerQSS.PreviewerQSS.processEditor?4(editor=None)
 eric7.UI.Previewers.PreviewerQSS.PreviewerQSS?1(parent=None)
 eric7.UI.PythonAstViewer.PythonAstViewer.EndIndexRole?7
@@ -11953,7 +11975,6 @@
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar.keyPressEvent?4(evt)
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar.mouseDoubleClickEvent?4(evt)
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar.mousePressEvent?4(evt)
-eric7.WebBrowser.UrlBar.UrlBar.UrlBar.paintEvent?4(evt)
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar.preferencesChanged?4()
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar.setBrowser?4(browser)
 eric7.WebBrowser.UrlBar.UrlBar.UrlBar?1(mainWindow, parent=None)
--- a/eric7/APIs/Python3/eric7.bas	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/APIs/Python3/eric7.bas	Sat Jan 01 14:34:29 2022 +0100
@@ -410,6 +410,7 @@
 GreaseMonkeyJsObject QObject
 GreaseMonkeyManager QObject
 GreaseMonkeyScript QObject
+GroupEnum enum.IntEnum
 HelpDocsInstaller QThread
 HelpDocumentationPage ConfigurationPageBase Ui_HelpDocumentationPage
 HelpIndexWidget QWidget
@@ -534,12 +535,14 @@
 ImageMarkupDialog QDialog Ui_ImageMarkupDialog
 ImageSearchEngine QObject
 ImagesIcon StatusBarIcon
+ImportNodeException Exception
 ImportsDiagramBuilder UMLDiagramBuilder
 InputDialogWizard QObject
 InputDialogWizardDialog QDialog Ui_InputDialogWizardDialog
 InsertBookmarksCommand RemoveBookmarksCommand
 InstallInfoDialog QDialog Ui_InstallInfoDialog
 Interface ClbrBaseClasses.Class VisibilityMixin
+InterfaceLightPage ConfigurationPageBase Ui_InterfaceLightPage
 InterfacePage ConfigurationPageBase Ui_InterfacePage
 InvalidModulePath Exception
 IrcChannelEditDialog QDialog Ui_IrcChannelEditDialog
@@ -605,6 +608,7 @@
 LineComplexityVisitor ast.NodeVisitor
 ListResolver BaseResolver
 Listspace ViewManager
+LocalImportVisitor ast.NodeVisitor
 LogViewer QWidget
 LogViewerEdit QTextEdit
 LogViewerPage ConfigurationPageBase Ui_LogViewerPage
@@ -654,6 +658,7 @@
 NetworkUrlInterceptor QWebEngineUrlRequestInterceptor
 NewDialogClassDialog QDialog Ui_NewDialogClassDialog
 NewPythonPackageDialog QDialog Ui_NewPythonPackageDialog
+NodeTypeEnum enum.IntEnum
 NotificationFrame QFrame Ui_NotificationFrame
 NotificationTypes enum.Enum
 NotificationWidget QWidget
@@ -960,6 +965,7 @@
 TemplatesPage ConfigurationPageBase Ui_TemplatesPage
 TemplatesReader XMLStreamReaderBase
 TextVisitor ast.NodeVisitor
+ThemeManager QObject
 ThreadWrapper module.Thread
 TimerWrapper ThreadWrapper timer
 ToolConfigurationDialog QDialog Ui_ToolConfigurationDialog
@@ -1039,7 +1045,6 @@
 WatchPointViewer QTreeView
 WebBrowserAppearancePage ConfigurationPageBase Ui_WebBrowserAppearancePage
 WebBrowserClearPrivateDataDialog QDialog Ui_WebBrowserClearPrivateDataDialog
-WebBrowserInterfacePage ConfigurationPageBase Ui_WebBrowserInterfacePage
 WebBrowserJavaScriptConsole QTextEdit
 WebBrowserLanguagesDialog QDialog Ui_WebBrowserLanguagesDialog
 WebBrowserPage QWebEnginePage
--- a/eric7/CondaInterface/Conda.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/Conda.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaExecDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaExecDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaExportDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaExportDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaInfoDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaInfoDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaNewEnvironmentDataDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaNewEnvironmentDataDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaPackageDetailsWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaPackageDetailsWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/CondaPackagesWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/CondaPackagesWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/CondaInterface/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/CondaInterface/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Cooperation/ChatWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Cooperation/ChatWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Cooperation/Connection.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Cooperation/Connection.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Cooperation/CooperationClient.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Cooperation/CooperationClient.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Cooperation/CooperationServer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Cooperation/CooperationServer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Cooperation/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Cooperation/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DataViews/CodeMetrics.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DataViews/CodeMetrics.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 #
--- a/eric7/DataViews/CodeMetricsDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DataViews/CodeMetricsDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DataViews/PyCoverageDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DataViews/PyCoverageDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DataViews/PyProfileDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DataViews/PyProfileDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DataViews/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DataViews/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/AsyncFile.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/AsyncFile.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/BreakpointWatch.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/BreakpointWatch.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DCTestResult.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DCTestResult.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugBase.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugBase.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugClient.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugClient.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugClientBase.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugClientBase.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugClientCapabilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugClientCapabilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugConfig.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugConfig.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/DebugVariables.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/DebugVariables.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/ModuleLoader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/ModuleLoader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -36,7 +36,7 @@
                 del sys.modules[moduleName]
         
         self.__modulesToPatch = (
-            'thread', '_thread', 'threading',
+            '_thread', 'threading',
             'greenlet',
             'subprocess',
             'multiprocessing',
@@ -62,7 +62,7 @@
         
         ## Add hook for _thread.start_new_thread
         if (
-            fullname in ('thread', '_thread') and
+            fullname == '_thread' and
             not hasattr(module, 'eric7_patched')
         ):
             module.eric7_patched = True
--- a/eric7/DebugClients/Python/MultiProcessDebugExtension.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/MultiProcessDebugExtension.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/MultiprocessingExtension.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/MultiprocessingExtension.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/PyProfile.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/PyProfile.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 
 """
 Module defining additions to the standard Python profile.py.
--- a/eric7/DebugClients/Python/QProcessExtension.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/QProcessExtension.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/SubprocessExtension.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/SubprocessExtension.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/ThreadExtension.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/ThreadExtension.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2014 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/eric7dbgstub.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/eric7dbgstub.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/Python/getpass.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/Python/getpass.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DebugClients/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DebugClients/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/BreakPointModel.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/BreakPointModel.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/BreakPointViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/BreakPointViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/CallStackViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/CallStackViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/CallTraceViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/CallTraceViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/Config.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/Config.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebugClientCapabilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebugClientCapabilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebugServer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebugServer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebugUI.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebugUI.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebugViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebugViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebuggerInterfaceNone.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebuggerInterfaceNone.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/DebuggerInterfacePython.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/DebuggerInterfacePython.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/EditBreakpointDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/EditBreakpointDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/EditWatchpointDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/EditWatchpointDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/ExceptionLogger.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/ExceptionLogger.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/ExceptionsFilterDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/ExceptionsFilterDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/StartDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/StartDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/StartHistoryEditDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/StartHistoryEditDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/VariableDetailDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/VariableDetailDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/VariablesFilterDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/VariablesFilterDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/VariablesViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/VariablesViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/WatchPointModel.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/WatchPointModel.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/WatchPointViewer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/WatchPointViewer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Debugger/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Debugger/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
Binary file eric7/Documentation/Help/source.qch has changed
--- a/eric7/Documentation/Help/source.qhp	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Help/source.qhp	Sat Jan 01 14:34:29 2022 +0100
@@ -329,6 +329,13 @@
                   <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html" />
                   <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations.html" />
                 </section>
+                <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports" ref="index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.html">
+                  <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html" />
+                  <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html" />
+                  <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html" />
+                  <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html" />
+                  <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations.html" />
+                </section>
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous" ref="index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.html">
                   <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html" />
                   <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousDefaults" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousDefaults.html" />
@@ -389,6 +396,7 @@
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog.html" />
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html" />
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html" />
+                <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html" />
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html" />
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html" />
                 <section title="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html" />
@@ -806,6 +814,7 @@
               <section title="eric7.Preferences.ConfigurationPages.HexEditorPage" ref="eric7.Preferences.ConfigurationPages.HexEditorPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.IconsPage" ref="eric7.Preferences.ConfigurationPages.IconsPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.IconsPreviewDialog" ref="eric7.Preferences.ConfigurationPages.IconsPreviewDialog.html" />
+              <section title="eric7.Preferences.ConfigurationPages.InterfaceLightPage" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.InterfacePage" ref="eric7.Preferences.ConfigurationPages.InterfacePage.html" />
               <section title="eric7.Preferences.ConfigurationPages.IrcPage" ref="eric7.Preferences.ConfigurationPages.IrcPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.LogViewerPage" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html" />
@@ -831,7 +840,6 @@
               <section title="eric7.Preferences.ConfigurationPages.VcsPage" ref="eric7.Preferences.ConfigurationPages.VcsPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.ViewmanagerPage" ref="eric7.Preferences.ConfigurationPages.ViewmanagerPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage" ref="eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.html" />
-              <section title="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html" />
               <section title="eric7.Preferences.ConfigurationPages.WebBrowserPage" ref="eric7.Preferences.ConfigurationPages.WebBrowserPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.WebBrowserSpellCheckingPage" ref="eric7.Preferences.ConfigurationPages.WebBrowserSpellCheckingPage.html" />
               <section title="eric7.Preferences.ConfigurationPages.WebBrowserVirusTotalPage" ref="eric7.Preferences.ConfigurationPages.WebBrowserVirusTotalPage.html" />
@@ -846,6 +854,7 @@
             <section title="eric7.Preferences.ShortcutsDialog" ref="eric7.Preferences.ShortcutsDialog.html" />
             <section title="eric7.Preferences.ShortcutsFile" ref="eric7.Preferences.ShortcutsFile.html" />
             <section title="eric7.Preferences.SubstyleDefinitionDialog" ref="eric7.Preferences.SubstyleDefinitionDialog.html" />
+            <section title="eric7.Preferences.ThemeManager" ref="eric7.Preferences.ThemeManager.html" />
             <section title="eric7.Preferences.ToolConfigurationDialog" ref="eric7.Preferences.ToolConfigurationDialog.html" />
             <section title="eric7.Preferences.ToolGroupConfigurationDialog" ref="eric7.Preferences.ToolGroupConfigurationDialog.html" />
             <section title="eric7.Preferences.ViewProfileDialog" ref="eric7.Preferences.ViewProfileDialog.html" />
@@ -2673,6 +2682,7 @@
       <keyword name="CodeStyleCheckerDialog.__createResultItem" id="CodeStyleCheckerDialog.__createResultItem" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__createResultItem" />
       <keyword name="CodeStyleCheckerDialog.__defaultStatistics" id="CodeStyleCheckerDialog.__defaultStatistics" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__defaultStatistics" />
       <keyword name="CodeStyleCheckerDialog.__finish" id="CodeStyleCheckerDialog.__finish" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__finish" />
+      <keyword name="CodeStyleCheckerDialog.__getBanRelativeImportsValue" id="CodeStyleCheckerDialog.__getBanRelativeImportsValue" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getBanRelativeImportsValue" />
       <keyword name="CodeStyleCheckerDialog.__getBuiltinsIgnoreList" id="CodeStyleCheckerDialog.__getBuiltinsIgnoreList" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getBuiltinsIgnoreList" />
       <keyword name="CodeStyleCheckerDialog.__getCategories" id="CodeStyleCheckerDialog.__getCategories" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getCategories" />
       <keyword name="CodeStyleCheckerDialog.__getCommentedCodeCheckerWhiteList" id="CodeStyleCheckerDialog.__getCommentedCodeCheckerWhiteList" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__getCommentedCodeCheckerWhiteList" />
@@ -2692,6 +2702,7 @@
       <keyword name="CodeStyleCheckerDialog.__resetStatistics" id="CodeStyleCheckerDialog.__resetStatistics" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__resetStatistics" />
       <keyword name="CodeStyleCheckerDialog.__resort" id="CodeStyleCheckerDialog.__resort" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__resort" />
       <keyword name="CodeStyleCheckerDialog.__selectCodes" id="CodeStyleCheckerDialog.__selectCodes" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__selectCodes" />
+      <keyword name="CodeStyleCheckerDialog.__setBanRelativeImports" id="CodeStyleCheckerDialog.__setBanRelativeImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__setBanRelativeImports" />
       <keyword name="CodeStyleCheckerDialog.__updateFixerStatistics" id="CodeStyleCheckerDialog.__updateFixerStatistics" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__updateFixerStatistics" />
       <keyword name="CodeStyleCheckerDialog.__updateProgress" id="CodeStyleCheckerDialog.__updateProgress" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__updateProgress" />
       <keyword name="CodeStyleCheckerDialog.__updateStatistics" id="CodeStyleCheckerDialog.__updateStatistics" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html#CodeStyleCheckerDialog.__updateStatistics" />
@@ -2745,6 +2756,7 @@
       <keyword name="CodeStyleCheckerReport" id="CodeStyleCheckerReport" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#CodeStyleCheckerReport" />
       <keyword name="CodeStyleCheckerReport (Constructor)" id="CodeStyleCheckerReport (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#CodeStyleCheckerReport.__init__" />
       <keyword name="CodeStyleCheckerReport.error_args" id="CodeStyleCheckerReport.error_args" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html#CodeStyleCheckerReport.error_args" />
+      <keyword name="CodeStyleCheckerUtilities (Module)" id="CodeStyleCheckerUtilities (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html" />
       <keyword name="CodeStyleCodeSelectionDialog" id="CodeStyleCodeSelectionDialog" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html#CodeStyleCodeSelectionDialog" />
       <keyword name="CodeStyleCodeSelectionDialog (Constructor)" id="CodeStyleCodeSelectionDialog (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html#CodeStyleCodeSelectionDialog.__init__" />
       <keyword name="CodeStyleCodeSelectionDialog (Module)" id="CodeStyleCodeSelectionDialog (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html" />
@@ -4541,6 +4553,7 @@
       <keyword name="EditorHighlightingStylesPage.__setToDefault" id="EditorHighlightingStylesPage.__setToDefault" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.__setToDefault" />
       <keyword name="EditorHighlightingStylesPage.__styleAllItems" id="EditorHighlightingStylesPage.__styleAllItems" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.__styleAllItems" />
       <keyword name="EditorHighlightingStylesPage.__styleOneItem" id="EditorHighlightingStylesPage.__styleOneItem" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.__styleOneItem" />
+      <keyword name="EditorHighlightingStylesPage.__styleSample" id="EditorHighlightingStylesPage.__styleSample" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.__styleSample" />
       <keyword name="EditorHighlightingStylesPage.__stylesForItem" id="EditorHighlightingStylesPage.__stylesForItem" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.__stylesForItem" />
       <keyword name="EditorHighlightingStylesPage.on_addSubstyleButton_clicked" id="EditorHighlightingStylesPage.on_addSubstyleButton_clicked" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.on_addSubstyleButton_clicked" />
       <keyword name="EditorHighlightingStylesPage.on_allBackgroundColoursButton_clicked" id="EditorHighlightingStylesPage.on_allBackgroundColoursButton_clicked" ref="eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html#EditorHighlightingStylesPage.on_allBackgroundColoursButton_clicked" />
@@ -4659,6 +4672,7 @@
       <keyword name="EditorStylesPage" id="EditorStylesPage" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage" />
       <keyword name="EditorStylesPage (Constructor)" id="EditorStylesPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage.__init__" />
       <keyword name="EditorStylesPage (Module)" id="EditorStylesPage (Module)" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html" />
+      <keyword name="EditorStylesPage.__setSampleStyleSheet" id="EditorStylesPage.__setSampleStyleSheet" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage.__setSampleStyleSheet" />
       <keyword name="EditorStylesPage.on_annotationsErrorBgButton_clicked" id="EditorStylesPage.on_annotationsErrorBgButton_clicked" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage.on_annotationsErrorBgButton_clicked" />
       <keyword name="EditorStylesPage.on_annotationsErrorFgButton_clicked" id="EditorStylesPage.on_annotationsErrorFgButton_clicked" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage.on_annotationsErrorFgButton_clicked" />
       <keyword name="EditorStylesPage.on_annotationsStyleWarningBgButton_clicked" id="EditorStylesPage.on_annotationsStyleWarningBgButton_clicked" ref="eric7.Preferences.ConfigurationPages.EditorStylesPage.html#EditorStylesPage.on_annotationsStyleWarningBgButton_clicked" />
@@ -4773,12 +4787,15 @@
       <keyword name="EricApplication" id="EricApplication" ref="eric7.EricWidgets.EricApplication.html#EricApplication" />
       <keyword name="EricApplication (Constructor)" id="EricApplication (Constructor)" ref="eric7.EricWidgets.EricApplication.html#EricApplication.__init__" />
       <keyword name="EricApplication (Module)" id="EricApplication (Module)" ref="eric7.EricWidgets.EricApplication.html" />
+      <keyword name="EricApplication.__setPaletteFromStyleSheet" id="EricApplication.__setPaletteFromStyleSheet" ref="eric7.EricWidgets.EricApplication.html#EricApplication.__setPaletteFromStyleSheet" />
       <keyword name="EricApplication.getObject" id="EricApplication.getObject" ref="eric7.EricWidgets.EricApplication.html#EricApplication.getObject" />
       <keyword name="EricApplication.getPluginObject" id="EricApplication.getPluginObject" ref="eric7.EricWidgets.EricApplication.html#EricApplication.getPluginObject" />
       <keyword name="EricApplication.getPluginObjectType" id="EricApplication.getPluginObjectType" ref="eric7.EricWidgets.EricApplication.html#EricApplication.getPluginObjectType" />
       <keyword name="EricApplication.getPluginObjects" id="EricApplication.getPluginObjects" ref="eric7.EricWidgets.EricApplication.html#EricApplication.getPluginObjects" />
+      <keyword name="EricApplication.getStyleIconsPath" id="EricApplication.getStyleIconsPath" ref="eric7.EricWidgets.EricApplication.html#EricApplication.getStyleIconsPath" />
       <keyword name="EricApplication.registerObject" id="EricApplication.registerObject" ref="eric7.EricWidgets.EricApplication.html#EricApplication.registerObject" />
       <keyword name="EricApplication.registerPluginObject" id="EricApplication.registerPluginObject" ref="eric7.EricWidgets.EricApplication.html#EricApplication.registerPluginObject" />
+      <keyword name="EricApplication.setStyleSheetFile" id="EricApplication.setStyleSheetFile" ref="eric7.EricWidgets.EricApplication.html#EricApplication.setStyleSheetFile" />
       <keyword name="EricApplication.unregisterPluginObject" id="EricApplication.unregisterPluginObject" ref="eric7.EricWidgets.EricApplication.html#EricApplication.unregisterPluginObject" />
       <keyword name="EricApplication.usesDarkPalette" id="EricApplication.usesDarkPalette" ref="eric7.EricWidgets.EricApplication.html#EricApplication.usesDarkPalette" />
       <keyword name="EricApplication.usesSmallScreen" id="EricApplication.usesSmallScreen" ref="eric7.EricWidgets.EricApplication.html#EricApplication.usesSmallScreen" />
@@ -5981,6 +5998,7 @@
       <keyword name="FindFileWidget" id="FindFileWidget" ref="eric7.UI.FindFileWidget.html#FindFileWidget" />
       <keyword name="FindFileWidget (Constructor)" id="FindFileWidget (Constructor)" ref="eric7.UI.FindFileWidget.html#FindFileWidget.__init__" />
       <keyword name="FindFileWidget (Module)" id="FindFileWidget (Module)" ref="eric7.UI.FindFileWidget.html" />
+      <keyword name="FindFileWidget.__clearResults" id="FindFileWidget.__clearResults" ref="eric7.UI.FindFileWidget.html#FindFileWidget.__clearResults" />
       <keyword name="FindFileWidget.__contextMenuRequested" id="FindFileWidget.__contextMenuRequested" ref="eric7.UI.FindFileWidget.html#FindFileWidget.__contextMenuRequested" />
       <keyword name="FindFileWidget.__copyToClipboard" id="FindFileWidget.__copyToClipboard" ref="eric7.UI.FindFileWidget.html#FindFileWidget.__copyToClipboard" />
       <keyword name="FindFileWidget.__createItem" id="FindFileWidget.__createItem" ref="eric7.UI.FindFileWidget.html#FindFileWidget.__createItem" />
@@ -6009,6 +6027,7 @@
       <keyword name="FindLocationWidget" id="FindLocationWidget" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget" />
       <keyword name="FindLocationWidget (Constructor)" id="FindLocationWidget (Constructor)" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.__init__" />
       <keyword name="FindLocationWidget (Module)" id="FindLocationWidget (Module)" ref="eric7.UI.FindLocationWidget.html" />
+      <keyword name="FindLocationWidget.__clearResults" id="FindLocationWidget.__clearResults" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.__clearResults" />
       <keyword name="FindLocationWidget.__openFile" id="FindLocationWidget.__openFile" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.__openFile" />
       <keyword name="FindLocationWidget.__projectClosed" id="FindLocationWidget.__projectClosed" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.__projectClosed" />
       <keyword name="FindLocationWidget.__projectOpened" id="FindLocationWidget.__projectOpened" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.__projectOpened" />
@@ -6018,7 +6037,6 @@
       <keyword name="FindLocationWidget.checkStop" id="FindLocationWidget.checkStop" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.checkStop" />
       <keyword name="FindLocationWidget.on_fileList_currentItemChanged" id="FindLocationWidget.on_fileList_currentItemChanged" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.on_fileList_currentItemChanged" />
       <keyword name="FindLocationWidget.on_fileList_itemActivated" id="FindLocationWidget.on_fileList_itemActivated" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.on_fileList_itemActivated" />
-      <keyword name="FindLocationWidget.on_fileNameEdit_textChanged" id="FindLocationWidget.on_fileNameEdit_textChanged" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.on_fileNameEdit_textChanged" />
       <keyword name="FindLocationWidget.on_searchDirPicker_textChanged" id="FindLocationWidget.on_searchDirPicker_textChanged" ref="eric7.UI.FindLocationWidget.html#FindLocationWidget.on_searchDirPicker_textChanged" />
       <keyword name="FirefoxImporter" id="FirefoxImporter" ref="eric7.WebBrowser.Bookmarks.BookmarksImporters.FirefoxImporter.html#FirefoxImporter" />
       <keyword name="FirefoxImporter (Constructor)" id="FirefoxImporter (Constructor)" ref="eric7.WebBrowser.Bookmarks.BookmarksImporters.FirefoxImporter.html#FirefoxImporter.__init__" />
@@ -7149,6 +7167,7 @@
       <keyword name="GreaseMonkeyScript.updateUrl" id="GreaseMonkeyScript.updateUrl" ref="eric7.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.updateUrl" />
       <keyword name="GreaseMonkeyScript.version" id="GreaseMonkeyScript.version" ref="eric7.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.version" />
       <keyword name="GreaseMonkeyScript.webScript" id="GreaseMonkeyScript.webScript" ref="eric7.WebBrowser.GreaseMonkey.GreaseMonkeyScript.html#GreaseMonkeyScript.webScript" />
+      <keyword name="GroupEnum" id="GroupEnum" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html#GroupEnum" />
       <keyword name="HTMLGenerator" id="HTMLGenerator" ref="eric7.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator" />
       <keyword name="HTMLGenerator (Constructor)" id="HTMLGenerator (Constructor)" ref="eric7.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.__init__" />
       <keyword name="HTMLGenerator.generate" id="HTMLGenerator.generate" ref="eric7.QScintilla.Exporters.ExporterHTML.html#HTMLGenerator.generate" />
@@ -7512,7 +7531,6 @@
       <keyword name="HexEditWidget.__toReadable" id="HexEditWidget.__toReadable" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.__toReadable" />
       <keyword name="HexEditWidget.__updateCursor" id="HexEditWidget.__updateCursor" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.__updateCursor" />
       <keyword name="HexEditWidget.addressArea" id="HexEditWidget.addressArea" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.addressArea" />
-      <keyword name="HexEditWidget.addressAreaColors" id="HexEditWidget.addressAreaColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.addressAreaColors" />
       <keyword name="HexEditWidget.addressOffset" id="HexEditWidget.addressOffset" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.addressOffset" />
       <keyword name="HexEditWidget.addressWidth" id="HexEditWidget.addressWidth" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.addressWidth" />
       <keyword name="HexEditWidget.asciiArea" id="HexEditWidget.asciiArea" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.asciiArea" />
@@ -7533,7 +7551,6 @@
       <keyword name="HexEditWidget.getSelectionLength" id="HexEditWidget.getSelectionLength" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.getSelectionLength" />
       <keyword name="HexEditWidget.goto" id="HexEditWidget.goto" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.goto" />
       <keyword name="HexEditWidget.hasSelection" id="HexEditWidget.hasSelection" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.hasSelection" />
-      <keyword name="HexEditWidget.highlightColors" id="HexEditWidget.highlightColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.highlightColors" />
       <keyword name="HexEditWidget.highlighting" id="HexEditWidget.highlighting" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.highlighting" />
       <keyword name="HexEditWidget.indexOf" id="HexEditWidget.indexOf" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.indexOf" />
       <keyword name="HexEditWidget.insert" id="HexEditWidget.insert" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.insert" />
@@ -7574,11 +7591,9 @@
       <keyword name="HexEditWidget.selectStartOfDocument" id="HexEditWidget.selectStartOfDocument" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectStartOfDocument" />
       <keyword name="HexEditWidget.selectToEndOfLine" id="HexEditWidget.selectToEndOfLine" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectToEndOfLine" />
       <keyword name="HexEditWidget.selectToStartOfLine" id="HexEditWidget.selectToStartOfLine" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectToStartOfLine" />
-      <keyword name="HexEditWidget.selectionColors" id="HexEditWidget.selectionColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectionColors" />
       <keyword name="HexEditWidget.selectionToHexString" id="HexEditWidget.selectionToHexString" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectionToHexString" />
       <keyword name="HexEditWidget.selectionToReadableString" id="HexEditWidget.selectionToReadableString" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.selectionToReadableString" />
       <keyword name="HexEditWidget.setAddressArea" id="HexEditWidget.setAddressArea" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setAddressArea" />
-      <keyword name="HexEditWidget.setAddressAreaColors" id="HexEditWidget.setAddressAreaColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setAddressAreaColors" />
       <keyword name="HexEditWidget.setAddressOffset" id="HexEditWidget.setAddressOffset" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setAddressOffset" />
       <keyword name="HexEditWidget.setAddressWidth" id="HexEditWidget.setAddressWidth" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setAddressWidth" />
       <keyword name="HexEditWidget.setAsciiArea" id="HexEditWidget.setAsciiArea" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setAsciiArea" />
@@ -7586,12 +7601,10 @@
       <keyword name="HexEditWidget.setCursorPosition" id="HexEditWidget.setCursorPosition" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setCursorPosition" />
       <keyword name="HexEditWidget.setData" id="HexEditWidget.setData" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setData" />
       <keyword name="HexEditWidget.setFont" id="HexEditWidget.setFont" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setFont" />
-      <keyword name="HexEditWidget.setHighlightColors" id="HexEditWidget.setHighlightColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setHighlightColors" />
       <keyword name="HexEditWidget.setHighlighting" id="HexEditWidget.setHighlighting" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setHighlighting" />
       <keyword name="HexEditWidget.setModified" id="HexEditWidget.setModified" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setModified" />
       <keyword name="HexEditWidget.setOverwriteMode" id="HexEditWidget.setOverwriteMode" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setOverwriteMode" />
       <keyword name="HexEditWidget.setReadOnly" id="HexEditWidget.setReadOnly" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setReadOnly" />
-      <keyword name="HexEditWidget.setSelectionColors" id="HexEditWidget.setSelectionColors" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.setSelectionColors" />
       <keyword name="HexEditWidget.toReadableString" id="HexEditWidget.toReadableString" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.toReadableString" />
       <keyword name="HexEditWidget.undo" id="HexEditWidget.undo" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.undo" />
       <keyword name="HexEditWidget.undoStack" id="HexEditWidget.undoStack" ref="eric7.HexEdit.HexEditWidget.html#HexEditWidget.undoStack" />
@@ -9064,14 +9077,37 @@
       <keyword name="ImagesIcon.__toggleLoadingImages" id="ImagesIcon.__toggleLoadingImages" ref="eric7.WebBrowser.StatusBar.ImagesIcon.html#ImagesIcon.__toggleLoadingImages" />
       <keyword name="ImagesIcon.__updateIcon" id="ImagesIcon.__updateIcon" ref="eric7.WebBrowser.StatusBar.ImagesIcon.html#ImagesIcon.__updateIcon" />
       <keyword name="ImagesIcon.preferencesChanged" id="ImagesIcon.preferencesChanged" ref="eric7.WebBrowser.StatusBar.ImagesIcon.html#ImagesIcon.preferencesChanged" />
+      <keyword name="ImportNode" id="ImportNode" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNode" />
+      <keyword name="ImportNode (Constructor)" id="ImportNode (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNode.__init__" />
+      <keyword name="ImportNode (Module)" id="ImportNode (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html" />
+      <keyword name="ImportNode.__eq__" id="ImportNode.__eq__" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNode.__eq__" />
+      <keyword name="ImportNode.__lt__" id="ImportNode.__lt__" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNode.__lt__" />
+      <keyword name="ImportNode.__str__" id="ImportNode.__str__" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNode.__str__" />
+      <keyword name="ImportNodeException" id="ImportNodeException" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html#ImportNodeException" />
       <keyword name="ImportedModule" id="ImportedModule" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#ImportedModule" />
       <keyword name="ImportedModule (Constructor)" id="ImportedModule (Constructor)" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#ImportedModule.__init__" />
       <keyword name="ImportedModule.addImport" id="ImportedModule.addImport" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#ImportedModule.addImport" />
       <keyword name="Imports" id="Imports" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#Imports" />
       <keyword name="Imports (Constructor)" id="Imports (Constructor)" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#Imports.__init__" />
+      <keyword name="Imports (Package)" id="Imports (Package)" ref="index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.html" />
       <keyword name="Imports.addImport" id="Imports.addImport" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#Imports.addImport" />
       <keyword name="Imports.getImport" id="Imports.getImport" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#Imports.getImport" />
       <keyword name="Imports.getImports" id="Imports.getImports" ref="eric7.Utilities.ClassBrowsers.pyclbr.html#Imports.getImports" />
+      <keyword name="ImportsChecker" id="ImportsChecker" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker" />
+      <keyword name="ImportsChecker (Constructor)" id="ImportsChecker (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__init__" />
+      <keyword name="ImportsChecker (Module)" id="ImportsChecker (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html" />
+      <keyword name="ImportsChecker.__checkBannedImport" id="ImportsChecker.__checkBannedImport" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkBannedImport" />
+      <keyword name="ImportsChecker.__checkBannedRelativeImports" id="ImportsChecker.__checkBannedRelativeImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkBannedRelativeImports" />
+      <keyword name="ImportsChecker.__checkImportOrder" id="ImportsChecker.__checkImportOrder" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkImportOrder" />
+      <keyword name="ImportsChecker.__checkLocalImports" id="ImportsChecker.__checkLocalImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkLocalImports" />
+      <keyword name="ImportsChecker.__checkUnnecessaryAlias" id="ImportsChecker.__checkUnnecessaryAlias" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__checkUnnecessaryAlias" />
+      <keyword name="ImportsChecker.__error" id="ImportsChecker.__error" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__error" />
+      <keyword name="ImportsChecker.__findErrorInAll" id="ImportsChecker.__findErrorInAll" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__findErrorInAll" />
+      <keyword name="ImportsChecker.__findNodes" id="ImportsChecker.__findNodes" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__findNodes" />
+      <keyword name="ImportsChecker.__ignoreCode" id="ImportsChecker.__ignoreCode" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__ignoreCode" />
+      <keyword name="ImportsChecker.__tidyImports" id="ImportsChecker.__tidyImports" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.__tidyImports" />
+      <keyword name="ImportsChecker.getStandardModules" id="ImportsChecker.getStandardModules" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.getStandardModules" />
+      <keyword name="ImportsChecker.run" id="ImportsChecker.run" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html#ImportsChecker.run" />
       <keyword name="ImportsDiagramBuilder" id="ImportsDiagramBuilder" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder" />
       <keyword name="ImportsDiagramBuilder (Constructor)" id="ImportsDiagramBuilder (Constructor)" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.__init__" />
       <keyword name="ImportsDiagramBuilder (Module)" id="ImportsDiagramBuilder (Module)" ref="eric7.Graphics.ImportsDiagramBuilder.html" />
@@ -9084,6 +9120,7 @@
       <keyword name="ImportsDiagramBuilder.initialize" id="ImportsDiagramBuilder.initialize" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.initialize" />
       <keyword name="ImportsDiagramBuilder.parsePersistenceData" id="ImportsDiagramBuilder.parsePersistenceData" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.parsePersistenceData" />
       <keyword name="ImportsDiagramBuilder.toDict" id="ImportsDiagramBuilder.toDict" ref="eric7.Graphics.ImportsDiagramBuilder.html#ImportsDiagramBuilder.toDict" />
+      <keyword name="ImportsEnums (Module)" id="ImportsEnums (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html" />
       <keyword name="IndentationWrapper" id="IndentationWrapper" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#IndentationWrapper" />
       <keyword name="IndentationWrapper (Constructor)" id="IndentationWrapper (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#IndentationWrapper.__init__" />
       <keyword name="IndentationWrapper.__buildTokensLogical" id="IndentationWrapper.__buildTokensLogical" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html#IndentationWrapper.__buildTokensLogical" />
@@ -9127,6 +9164,12 @@
       <keyword name="InstallInfoDialog.wasLoaded" id="InstallInfoDialog.wasLoaded" ref="eric7.UI.InstallInfoDialog.html#InstallInfoDialog.wasLoaded" />
       <keyword name="Interface" id="Interface" ref="eric7.Utilities.ClassBrowsers.idlclbr.html#Interface" />
       <keyword name="Interface (Constructor)" id="Interface (Constructor)" ref="eric7.Utilities.ClassBrowsers.idlclbr.html#Interface.__init__" />
+      <keyword name="InterfaceLightPage" id="InterfaceLightPage" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#InterfaceLightPage" />
+      <keyword name="InterfaceLightPage (Constructor)" id="InterfaceLightPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#InterfaceLightPage.__init__" />
+      <keyword name="InterfaceLightPage (Module)" id="InterfaceLightPage (Module)" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html" />
+      <keyword name="InterfaceLightPage.__populateLanguageCombo" id="InterfaceLightPage.__populateLanguageCombo" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#InterfaceLightPage.__populateLanguageCombo" />
+      <keyword name="InterfaceLightPage.__populateStyleCombo" id="InterfaceLightPage.__populateStyleCombo" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#InterfaceLightPage.__populateStyleCombo" />
+      <keyword name="InterfaceLightPage.save" id="InterfaceLightPage.save" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#InterfaceLightPage.save" />
       <keyword name="InterfacePage" id="InterfacePage" ref="eric7.Preferences.ConfigurationPages.InterfacePage.html#InterfacePage" />
       <keyword name="InterfacePage (Constructor)" id="InterfacePage (Constructor)" ref="eric7.Preferences.ConfigurationPages.InterfacePage.html#InterfacePage.__init__" />
       <keyword name="InterfacePage (Module)" id="InterfacePage (Module)" ref="eric7.Preferences.ConfigurationPages.InterfacePage.html" />
@@ -9848,7 +9891,6 @@
       <keyword name="LexerQSS.isCommentStyle" id="LexerQSS.isCommentStyle" ref="eric7.QScintilla.Lexers.LexerQSS.html#LexerQSS.isCommentStyle" />
       <keyword name="LexerQSS.isStringStyle" id="LexerQSS.isStringStyle" ref="eric7.QScintilla.Lexers.LexerQSS.html#LexerQSS.isStringStyle" />
       <keyword name="LexerQSS.language" id="LexerQSS.language" ref="eric7.QScintilla.Lexers.LexerQSS.html#LexerQSS.language" />
-      <keyword name="LexerQSS.lexer" id="LexerQSS.lexer" ref="eric7.QScintilla.Lexers.LexerQSS.html#LexerQSS.lexer" />
       <keyword name="LexerQSS.lexerName" id="LexerQSS.lexerName" ref="eric7.QScintilla.Lexers.LexerQSS.html#LexerQSS.lexerName" />
       <keyword name="LexerRuby" id="LexerRuby" ref="eric7.QScintilla.Lexers.LexerRuby.html#LexerRuby" />
       <keyword name="LexerRuby (Constructor)" id="LexerRuby (Constructor)" ref="eric7.QScintilla.Lexers.LexerRuby.html#LexerRuby.__init__" />
@@ -9984,6 +10026,15 @@
       <keyword name="Listspace.showWindowMenu" id="Listspace.showWindowMenu" ref="eric7.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.showWindowMenu" />
       <keyword name="Listspace.splitCount" id="Listspace.splitCount" ref="eric7.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.splitCount" />
       <keyword name="Listspace.tile" id="Listspace.tile" ref="eric7.Plugins.ViewManagerPlugins.Listspace.Listspace.html#Listspace.tile" />
+      <keyword name="LocalImportVisitor" id="LocalImportVisitor" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor" />
+      <keyword name="LocalImportVisitor (Constructor)" id="LocalImportVisitor (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.__init__" />
+      <keyword name="LocalImportVisitor (Module)" id="LocalImportVisitor (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html" />
+      <keyword name="LocalImportVisitor.__assertExternalModule" id="LocalImportVisitor.__assertExternalModule" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.__assertExternalModule" />
+      <keyword name="LocalImportVisitor.__visitImportNode" id="LocalImportVisitor.__visitImportNode" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.__visitImportNode" />
+      <keyword name="LocalImportVisitor.visit" id="LocalImportVisitor.visit" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.visit" />
+      <keyword name="LocalImportVisitor.visit_FunctionDef" id="LocalImportVisitor.visit_FunctionDef" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.visit_FunctionDef" />
+      <keyword name="LocalImportVisitor.visit_Import" id="LocalImportVisitor.visit_Import" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.visit_Import" />
+      <keyword name="LocalImportVisitor.visit_ImportFrom" id="LocalImportVisitor.visit_ImportFrom" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html#LocalImportVisitor.visit_ImportFrom" />
       <keyword name="LogView (Module)" id="LogView (Module)" ref="eric7.UI.LogView.html" />
       <keyword name="LogViewer" id="LogViewer" ref="eric7.UI.LogView.html#LogViewer" />
       <keyword name="LogViewer (Constructor)" id="LogViewer (Constructor)" ref="eric7.UI.LogView.html#LogViewer.__init__" />
@@ -10007,6 +10058,7 @@
       <keyword name="LogViewerPage" id="LogViewerPage" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage" />
       <keyword name="LogViewerPage (Constructor)" id="LogViewerPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage.__init__" />
       <keyword name="LogViewerPage (Module)" id="LogViewerPage (Module)" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html" />
+      <keyword name="LogViewerPage.__colorChanged" id="LogViewerPage.__colorChanged" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage.__colorChanged" />
       <keyword name="LogViewerPage.save" id="LogViewerPage.save" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html#LogViewerPage.save" />
       <keyword name="LoggingVisitor" id="LoggingVisitor" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#LoggingVisitor" />
       <keyword name="LoggingVisitor (Constructor)" id="LoggingVisitor (Constructor)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#LoggingVisitor.__init__" />
@@ -10402,6 +10454,7 @@
       <keyword name="MiniEditor.__contextMenuRequested" id="MiniEditor.__contextMenuRequested" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__contextMenuRequested" />
       <keyword name="MiniEditor.__convertTabs" id="MiniEditor.__convertTabs" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__convertTabs" />
       <keyword name="MiniEditor.__createActions" id="MiniEditor.__createActions" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__createActions" />
+      <keyword name="MiniEditor.__createConfigActions" id="MiniEditor.__createConfigActions" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__createConfigActions" />
       <keyword name="MiniEditor.__createEditActions" id="MiniEditor.__createEditActions" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__createEditActions" />
       <keyword name="MiniEditor.__createFileActions" id="MiniEditor.__createFileActions" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__createFileActions" />
       <keyword name="MiniEditor.__createHelpActions" id="MiniEditor.__createHelpActions" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__createHelpActions" />
@@ -10421,6 +10474,7 @@
       <keyword name="MiniEditor.__initContextMenu" id="MiniEditor.__initContextMenu" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__initContextMenu" />
       <keyword name="MiniEditor.__initContextMenuLanguages" id="MiniEditor.__initContextMenuLanguages" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__initContextMenuLanguages" />
       <keyword name="MiniEditor.__languageMenuTriggered" id="MiniEditor.__languageMenuTriggered" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__languageMenuTriggered" />
+      <keyword name="MiniEditor.__loadConfiguration" id="MiniEditor.__loadConfiguration" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__loadConfiguration" />
       <keyword name="MiniEditor.__loadEditorConfig" id="MiniEditor.__loadEditorConfig" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__loadEditorConfig" />
       <keyword name="MiniEditor.__loadEditorConfigObject" id="MiniEditor.__loadEditorConfigObject" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__loadEditorConfigObject" />
       <keyword name="MiniEditor.__loadFile" id="MiniEditor.__loadFile" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__loadFile" />
@@ -10429,6 +10483,7 @@
       <keyword name="MiniEditor.__modificationChanged" id="MiniEditor.__modificationChanged" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__modificationChanged" />
       <keyword name="MiniEditor.__newFile" id="MiniEditor.__newFile" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__newFile" />
       <keyword name="MiniEditor.__open" id="MiniEditor.__open" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__open" />
+      <keyword name="MiniEditor.__preferencesChanged" id="MiniEditor.__preferencesChanged" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__preferencesChanged" />
       <keyword name="MiniEditor.__printFile" id="MiniEditor.__printFile" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__printFile" />
       <keyword name="MiniEditor.__printPreview" id="MiniEditor.__printPreview" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__printPreview" />
       <keyword name="MiniEditor.__printPreviewFile" id="MiniEditor.__printPreviewFile" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__printPreviewFile" />
@@ -10456,6 +10511,7 @@
       <keyword name="MiniEditor.__setTextDisplay" id="MiniEditor.__setTextDisplay" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__setTextDisplay" />
       <keyword name="MiniEditor.__showContextMenuLanguages" id="MiniEditor.__showContextMenuLanguages" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__showContextMenuLanguages" />
       <keyword name="MiniEditor.__showLanguagesMenu" id="MiniEditor.__showLanguagesMenu" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__showLanguagesMenu" />
+      <keyword name="MiniEditor.__showPreferences" id="MiniEditor.__showPreferences" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__showPreferences" />
       <keyword name="MiniEditor.__strippedName" id="MiniEditor.__strippedName" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__strippedName" />
       <keyword name="MiniEditor.__styleNeeded" id="MiniEditor.__styleNeeded" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__styleNeeded" />
       <keyword name="MiniEditor.__undo" id="MiniEditor.__undo" ref="eric7.QScintilla.MiniEditor.html#MiniEditor.__undo" />
@@ -10820,6 +10876,7 @@
       <keyword name="NewPythonPackageDialog (Module)" id="NewPythonPackageDialog (Module)" ref="eric7.Project.NewPythonPackageDialog.html" />
       <keyword name="NewPythonPackageDialog.getData" id="NewPythonPackageDialog.getData" ref="eric7.Project.NewPythonPackageDialog.html#NewPythonPackageDialog.getData" />
       <keyword name="NewPythonPackageDialog.on_packageEdit_textChanged" id="NewPythonPackageDialog.on_packageEdit_textChanged" ref="eric7.Project.NewPythonPackageDialog.html#NewPythonPackageDialog.on_packageEdit_textChanged" />
+      <keyword name="NodeTypeEnum" id="NodeTypeEnum" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html#NodeTypeEnum" />
       <keyword name="NoneSplashScreen" id="NoneSplashScreen" ref="eric7.UI.SplashScreen.html#NoneSplashScreen" />
       <keyword name="NoneSplashScreen (Constructor)" id="NoneSplashScreen (Constructor)" ref="eric7.UI.SplashScreen.html#NoneSplashScreen.__init__" />
       <keyword name="NoneSplashScreen.clearMessage" id="NoneSplashScreen.clearMessage" ref="eric7.UI.SplashScreen.html#NoneSplashScreen.clearMessage" />
@@ -11679,6 +11736,8 @@
       <keyword name="PreviewerQSS" id="PreviewerQSS" ref="eric7.UI.Previewers.PreviewerQSS.html#PreviewerQSS" />
       <keyword name="PreviewerQSS (Constructor)" id="PreviewerQSS (Constructor)" ref="eric7.UI.Previewers.PreviewerQSS.html#PreviewerQSS.__init__" />
       <keyword name="PreviewerQSS (Module)" id="PreviewerQSS (Module)" ref="eric7.UI.Previewers.PreviewerQSS.html" />
+      <keyword name="PreviewerQSS.on_checkBox_stateChanged" id="PreviewerQSS.on_checkBox_stateChanged" ref="eric7.UI.Previewers.PreviewerQSS.html#PreviewerQSS.on_checkBox_stateChanged" />
+      <keyword name="PreviewerQSS.on_styleIconsPathPicker_textChanged" id="PreviewerQSS.on_styleIconsPathPicker_textChanged" ref="eric7.UI.Previewers.PreviewerQSS.html#PreviewerQSS.on_styleIconsPathPicker_textChanged" />
       <keyword name="PreviewerQSS.processEditor" id="PreviewerQSS.processEditor" ref="eric7.UI.Previewers.PreviewerQSS.html#PreviewerQSS.processEditor" />
       <keyword name="Previewers (Package)" id="Previewers (Package)" ref="index-eric7.UI.Previewers.html" />
       <keyword name="PrintToPdfDialog" id="PrintToPdfDialog" ref="eric7.WebBrowser.Tools.PrintToPdfDialog.html#PrintToPdfDialog" />
@@ -15527,6 +15586,7 @@
       <keyword name="TasksPage" id="TasksPage" ref="eric7.Preferences.ConfigurationPages.TasksPage.html#TasksPage" />
       <keyword name="TasksPage (Constructor)" id="TasksPage (Constructor)" ref="eric7.Preferences.ConfigurationPages.TasksPage.html#TasksPage.__init__" />
       <keyword name="TasksPage (Module)" id="TasksPage (Module)" ref="eric7.Preferences.ConfigurationPages.TasksPage.html" />
+      <keyword name="TasksPage.__colorChanged" id="TasksPage.__colorChanged" ref="eric7.Preferences.ConfigurationPages.TasksPage.html#TasksPage.__colorChanged" />
       <keyword name="TasksPage.save" id="TasksPage.save" ref="eric7.Preferences.ConfigurationPages.TasksPage.html#TasksPage.save" />
       <keyword name="TasksReader" id="TasksReader" ref="eric7.EricXML.TasksReader.html#TasksReader" />
       <keyword name="TasksReader (Constructor)" id="TasksReader (Constructor)" ref="eric7.EricXML.TasksReader.html#TasksReader.__init__" />
@@ -15639,6 +15699,11 @@
       <keyword name="TextVisitor.visit_FunctionDef" id="TextVisitor.visit_FunctionDef" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#TextVisitor.visit_FunctionDef" />
       <keyword name="TextVisitor.visit_Module" id="TextVisitor.visit_Module" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#TextVisitor.visit_Module" />
       <keyword name="TextVisitor.visit_Str" id="TextVisitor.visit_Str" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html#TextVisitor.visit_Str" />
+      <keyword name="ThemeManager" id="ThemeManager" ref="eric7.Preferences.ThemeManager.html#ThemeManager" />
+      <keyword name="ThemeManager (Constructor)" id="ThemeManager (Constructor)" ref="eric7.Preferences.ThemeManager.html#ThemeManager.__init__" />
+      <keyword name="ThemeManager (Module)" id="ThemeManager (Module)" ref="eric7.Preferences.ThemeManager.html" />
+      <keyword name="ThemeManager.exportTheme" id="ThemeManager.exportTheme" ref="eric7.Preferences.ThemeManager.html#ThemeManager.exportTheme" />
+      <keyword name="ThemeManager.importTheme" id="ThemeManager.importTheme" ref="eric7.Preferences.ThemeManager.html#ThemeManager.importTheme" />
       <keyword name="ThreadExtension" id="ThreadExtension" ref="eric7.DebugClients.Python.ThreadExtension.html#ThreadExtension" />
       <keyword name="ThreadExtension (Constructor)" id="ThreadExtension (Constructor)" ref="eric7.DebugClients.Python.ThreadExtension.html#ThreadExtension.__init__" />
       <keyword name="ThreadExtension (Module)" id="ThreadExtension (Module)" ref="eric7.DebugClients.Python.ThreadExtension.html" />
@@ -16070,6 +16135,7 @@
       <keyword name="UrlBar.__browserUrlChanged" id="UrlBar.__browserUrlChanged" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__browserUrlChanged" />
       <keyword name="UrlBar.__checkBookmark" id="UrlBar.__checkBookmark" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__checkBookmark" />
       <keyword name="UrlBar.__loadFinished" id="UrlBar.__loadFinished" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__loadFinished" />
+      <keyword name="UrlBar.__loadProgress" id="UrlBar.__loadProgress" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__loadProgress" />
       <keyword name="UrlBar.__loadStarted" id="UrlBar.__loadStarted" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__loadStarted" />
       <keyword name="UrlBar.__rssTriggered" id="UrlBar.__rssTriggered" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__rssTriggered" />
       <keyword name="UrlBar.__setRssButton" id="UrlBar.__setRssButton" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.__setRssButton" />
@@ -16083,7 +16149,6 @@
       <keyword name="UrlBar.keyPressEvent" id="UrlBar.keyPressEvent" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.keyPressEvent" />
       <keyword name="UrlBar.mouseDoubleClickEvent" id="UrlBar.mouseDoubleClickEvent" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.mouseDoubleClickEvent" />
       <keyword name="UrlBar.mousePressEvent" id="UrlBar.mousePressEvent" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.mousePressEvent" />
-      <keyword name="UrlBar.paintEvent" id="UrlBar.paintEvent" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.paintEvent" />
       <keyword name="UrlBar.preferencesChanged" id="UrlBar.preferencesChanged" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.preferencesChanged" />
       <keyword name="UrlBar.setBrowser" id="UrlBar.setBrowser" ref="eric7.WebBrowser.UrlBar.UrlBar.html#UrlBar.setBrowser" />
       <keyword name="UrlInterceptor" id="UrlInterceptor" ref="eric7.WebBrowser.Network.UrlInterceptor.html#UrlInterceptor" />
@@ -16191,11 +16256,13 @@
       <keyword name="UserInterface.__editorOpened" id="UserInterface.__editorOpened" ref="eric7.UI.UserInterface.html#UserInterface.__editorOpened" />
       <keyword name="UserInterface.__exportPreferences" id="UserInterface.__exportPreferences" ref="eric7.UI.UserInterface.html#UserInterface.__exportPreferences" />
       <keyword name="UserInterface.__exportShortcuts" id="UserInterface.__exportShortcuts" ref="eric7.UI.UserInterface.html#UserInterface.__exportShortcuts" />
+      <keyword name="UserInterface.__exportTheme" id="UserInterface.__exportTheme" ref="eric7.UI.UserInterface.html#UserInterface.__exportTheme" />
       <keyword name="UserInterface.__getFloatingGeometry" id="UserInterface.__getFloatingGeometry" ref="eric7.UI.UserInterface.html#UserInterface.__getFloatingGeometry" />
       <keyword name="UserInterface.__hasErrorLog" id="UserInterface.__hasErrorLog" ref="eric7.UI.UserInterface.html#UserInterface.__hasErrorLog" />
       <keyword name="UserInterface.__helpViewer" id="UserInterface.__helpViewer" ref="eric7.UI.UserInterface.html#UserInterface.__helpViewer" />
       <keyword name="UserInterface.__importPreferences" id="UserInterface.__importPreferences" ref="eric7.UI.UserInterface.html#UserInterface.__importPreferences" />
       <keyword name="UserInterface.__importShortcuts" id="UserInterface.__importShortcuts" ref="eric7.UI.UserInterface.html#UserInterface.__importShortcuts" />
+      <keyword name="UserInterface.__importTheme" id="UserInterface.__importTheme" ref="eric7.UI.UserInterface.html#UserInterface.__importTheme" />
       <keyword name="UserInterface.__initActions" id="UserInterface.__initActions" ref="eric7.UI.UserInterface.html#UserInterface.__initActions" />
       <keyword name="UserInterface.__initDebugToolbarsLayout" id="UserInterface.__initDebugToolbarsLayout" ref="eric7.UI.UserInterface.html#UserInterface.__initDebugToolbarsLayout" />
       <keyword name="UserInterface.__initEricDocAction" id="UserInterface.__initEricDocAction" ref="eric7.UI.UserInterface.html#UserInterface.__initEricDocAction" />
@@ -17137,11 +17204,6 @@
       <keyword name="WebBrowserClearPrivateDataDialog (Constructor)" id="WebBrowserClearPrivateDataDialog (Constructor)" ref="eric7.WebBrowser.WebBrowserClearPrivateDataDialog.html#WebBrowserClearPrivateDataDialog.__init__" />
       <keyword name="WebBrowserClearPrivateDataDialog (Module)" id="WebBrowserClearPrivateDataDialog (Module)" ref="eric7.WebBrowser.WebBrowserClearPrivateDataDialog.html" />
       <keyword name="WebBrowserClearPrivateDataDialog.getData" id="WebBrowserClearPrivateDataDialog.getData" ref="eric7.WebBrowser.WebBrowserClearPrivateDataDialog.html#WebBrowserClearPrivateDataDialog.getData" />
-      <keyword name="WebBrowserInterfacePage" id="WebBrowserInterfacePage" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html#WebBrowserInterfacePage" />
-      <keyword name="WebBrowserInterfacePage (Constructor)" id="WebBrowserInterfacePage (Constructor)" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html#WebBrowserInterfacePage.__init__" />
-      <keyword name="WebBrowserInterfacePage (Module)" id="WebBrowserInterfacePage (Module)" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html" />
-      <keyword name="WebBrowserInterfacePage.__populateStyleCombo" id="WebBrowserInterfacePage.__populateStyleCombo" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html#WebBrowserInterfacePage.__populateStyleCombo" />
-      <keyword name="WebBrowserInterfacePage.save" id="WebBrowserInterfacePage.save" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html#WebBrowserInterfacePage.save" />
       <keyword name="WebBrowserJavaScriptConsole" id="WebBrowserJavaScriptConsole" ref="eric7.WebBrowser.WebBrowserJavaScriptConsole.html#WebBrowserJavaScriptConsole" />
       <keyword name="WebBrowserJavaScriptConsole (Constructor)" id="WebBrowserJavaScriptConsole (Constructor)" ref="eric7.WebBrowser.WebBrowserJavaScriptConsole.html#WebBrowserJavaScriptConsole.__init__" />
       <keyword name="WebBrowserJavaScriptConsole (Module)" id="WebBrowserJavaScriptConsole (Module)" ref="eric7.WebBrowser.WebBrowserJavaScriptConsole.html" />
@@ -18103,6 +18165,7 @@
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.HelpViewersPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.HexEditorPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.IconsPage.html#create" />
+      <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.InterfacePage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.IrcPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.LogViewerPage.html#create" />
@@ -18127,7 +18190,6 @@
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.VcsPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.ViewmanagerPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.html#create" />
-      <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.WebBrowserPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.WebBrowserSpellCheckingPage.html#create" />
       <keyword name="create" id="create" ref="eric7.Preferences.ConfigurationPages.WebBrowserVirusTotalPage.html#create" />
@@ -18850,6 +18912,7 @@
       <keyword name="setIconEditor" id="setIconEditor" ref="eric7.Preferences.__init__.html#setIconEditor" />
       <keyword name="setIcons" id="setIcons" ref="eric7.Preferences.__init__.html#setIcons" />
       <keyword name="setIrc" id="setIrc" ref="eric7.Preferences.__init__.html#setIrc" />
+      <keyword name="setItemIcon" id="setItemIcon" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html#setItemIcon" />
       <keyword name="setJedi" id="setJedi" ref="eric7.Preferences.__init__.html#setJedi" />
       <keyword name="setLibraryPaths" id="setLibraryPaths" ref="eric7.Toolbox.Startup.html#setLibraryPaths" />
       <keyword name="setMicroPython" id="setMicroPython" ref="eric7.Preferences.__init__.html#setMicroPython" />
@@ -18934,6 +18997,7 @@
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations.html" />
+      <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Naming.translations.html" />
       <keyword name="translations (Module)" id="translations (Module)" ref="eric7.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.translations.html" />
@@ -19268,6 +19332,7 @@
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleAddBuiltinIgnoreDialog.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleFixer.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html</file>
@@ -19276,6 +19341,11 @@
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.translations.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.DocStyleChecker.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.translations.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html</file>
+      <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousChecker.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.MiscellaneousDefaults.html</file>
       <file>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.eradicate.html</file>
@@ -19648,6 +19718,7 @@
       <file>eric7.Preferences.ConfigurationPages.HexEditorPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.IconsPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.IconsPreviewDialog.html</file>
+      <file>eric7.Preferences.ConfigurationPages.InterfaceLightPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.InterfacePage.html</file>
       <file>eric7.Preferences.ConfigurationPages.IrcPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.LogViewerPage.html</file>
@@ -19673,7 +19744,6 @@
       <file>eric7.Preferences.ConfigurationPages.VcsPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.ViewmanagerPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.WebBrowserAppearancePage.html</file>
-      <file>eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html</file>
       <file>eric7.Preferences.ConfigurationPages.WebBrowserPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.WebBrowserSpellCheckingPage.html</file>
       <file>eric7.Preferences.ConfigurationPages.WebBrowserVirusTotalPage.html</file>
@@ -19686,6 +19756,7 @@
       <file>eric7.Preferences.ShortcutsDialog.html</file>
       <file>eric7.Preferences.ShortcutsFile.html</file>
       <file>eric7.Preferences.SubstyleDefinitionDialog.html</file>
+      <file>eric7.Preferences.ThemeManager.html</file>
       <file>eric7.Preferences.ToolConfigurationDialog.html</file>
       <file>eric7.Preferences.ToolGroupConfigurationDialog.html</file>
       <file>eric7.Preferences.ViewProfileDialog.html</file>
@@ -20168,6 +20239,7 @@
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.html</file>
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Complexity.html</file>
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.DocStyle.html</file>
+      <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.html</file>
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.html</file>
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Naming.html</file>
       <file>index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.PathLib.html</file>
--- a/eric7/Documentation/Source/eric7.EricWidgets.EricApplication.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.EricWidgets.EricApplication.html	Sat Jan 01 14:34:29 2022 +0100
@@ -43,7 +43,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>PaletteRoleMapping</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -59,6 +59,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#EricApplication.__setPaletteFromStyleSheet">__setPaletteFromStyleSheet</a></td>
+<td>Private method to set the palette from a style sheet.</td>
+</tr>
+<tr>
 <td><a href="#EricApplication.getObject">getObject</a></td>
 <td>Public method to get a reference to a registered object.</td>
 </tr>
@@ -75,6 +79,10 @@
 <td>Public method to get a list of (name, reference) pairs of all registered plugin objects.</td>
 </tr>
 <tr>
+<td><a href="#EricApplication.getStyleIconsPath">getStyleIconsPath</a></td>
+<td>Public method to get the path for the style icons.</td>
+</tr>
+<tr>
 <td><a href="#EricApplication.registerObject">registerObject</a></td>
 <td>Public method to register an object in the object registry.</td>
 </tr>
@@ -83,6 +91,10 @@
 <td>Public method to register a plugin object in the object registry.</td>
 </tr>
 <tr>
+<td><a href="#EricApplication.setStyleSheetFile">setStyleSheetFile</a></td>
+<td>Public method to read a QSS style sheet file and set the application style sheet based on its contents.</td>
+</tr>
+<tr>
 <td><a href="#EricApplication.unregisterPluginObject">unregisterPluginObject</a></td>
 <td>Public method to unregister a plugin object in the object registry.</td>
 </tr>
@@ -115,6 +127,20 @@
 command line arguments
 </dd>
 </dl>
+<a NAME="EricApplication.__setPaletteFromStyleSheet" ID="EricApplication.__setPaletteFromStyleSheet"></a>
+<h4>EricApplication.__setPaletteFromStyleSheet</h4>
+<b>__setPaletteFromStyleSheet</b>(<i>styleSheet</i>)
+
+<p>
+        Private method to set the palette from a style sheet.
+</p>
+<dl>
+
+<dt><i>styleSheet</i> (str)</dt>
+<dd>
+style sheet
+</dd>
+</dl>
 <a NAME="EricApplication.getObject" ID="EricApplication.getObject"></a>
 <h4>EricApplication.getObject</h4>
 <b>getObject</b>(<i>name</i>)
@@ -234,6 +260,33 @@
 list of (str, any)
 </dd>
 </dl>
+<a NAME="EricApplication.getStyleIconsPath" ID="EricApplication.getStyleIconsPath"></a>
+<h4>EricApplication.getStyleIconsPath</h4>
+<b>getStyleIconsPath</b>(<i>universal=False</i>)
+
+<p>
+        Public method to get the path for the style icons.
+</p>
+<dl>
+
+<dt><i>universal</i> (bool (optional))</dt>
+<dd>
+flag indicating a universal file path (defaults to
+            False)
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+directory path containing the style icons
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="EricApplication.registerObject" ID="EricApplication.registerObject"></a>
 <h4>EricApplication.registerObject</h4>
 <b>registerObject</b>(<i>name, objectRef</i>)
@@ -288,6 +341,21 @@
 raised when the given name is already in use
 </dd>
 </dl>
+<a NAME="EricApplication.setStyleSheetFile" ID="EricApplication.setStyleSheetFile"></a>
+<h4>EricApplication.setStyleSheetFile</h4>
+<b>setStyleSheetFile</b>(<i>filename</i>)
+
+<p>
+        Public method to read a QSS style sheet file and set the application
+        style sheet based on its contents.
+</p>
+<dl>
+
+<dt><i>filename</i> (str)</dt>
+<dd>
+name of the QSS style sheet file
+</dd>
+</dl>
 <a NAME="EricApplication.unregisterPluginObject" ID="EricApplication.unregisterPluginObject"></a>
 <h4>EricApplication.unregisterPluginObject</h4>
 <b>unregisterPluginObject</b>(<i>name</i>)
--- a/eric7/Documentation/Source/eric7.EricWidgets.EricMainWindow.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.EricWidgets.EricMainWindow.html	Sat Jan 01 14:34:29 2022 +0100
@@ -78,9 +78,9 @@
 </p>
 <dl>
 
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (QWidget)</dt>
 <dd>
-reference to the parent widget (QWidget)
+reference to the parent widget
 </dd>
 </dl>
 <a NAME="EricMainWindow.setStyle" ID="EricMainWindow.setStyle"></a>
@@ -92,14 +92,14 @@
 </p>
 <dl>
 
-<dt><i>styleName</i></dt>
+<dt><i>styleName</i> (str)</dt>
 <dd>
-name of the style to set (string)
+name of the style to set
 </dd>
-<dt><i>styleSheetFile</i></dt>
+<dt><i>styleSheetFile</i> (str)</dt>
 <dd>
 name of a style sheet file to read to overwrite
-            defaults of the given style (string)
+            defaults of the given style
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- a/eric7/Documentation/Source/eric7.HexEdit.HexEditWidget.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.HexEdit.HexEditWidget.html	Sat Jan 01 14:34:29 2022 +0100
@@ -164,10 +164,6 @@
 <td>Public method to get the address area visibility.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.addressAreaColors">addressAreaColors</a></td>
-<td>Public method to get the address area colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.addressOffset">addressOffset</a></td>
 <td>Public method to get the address offset.</td>
 </tr>
@@ -248,10 +244,6 @@
 <td>Public method to test for a selection.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.highlightColors">highlightColors</a></td>
-<td>Public method to get the highlight colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.highlighting">highlighting</a></td>
 <td>Public method to get the highlighting state.</td>
 </tr>
@@ -412,10 +404,6 @@
 <td>Public method to extend the selection to the start of line.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.selectionColors">selectionColors</a></td>
-<td>Public method to get the selection colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.selectionToHexString">selectionToHexString</a></td>
 <td>Public method to get a hexadecimal representation of the selection.</td>
 </tr>
@@ -428,10 +416,6 @@
 <td>Public method to set the address area visibility.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.setAddressAreaColors">setAddressAreaColors</a></td>
-<td>Public method to set the address area colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.setAddressOffset">setAddressOffset</a></td>
 <td>Public method to set the address offset.</td>
 </tr>
@@ -460,10 +444,6 @@
 <td>Public method to set the font used to show the data.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.setHighlightColors">setHighlightColors</a></td>
-<td>Public method to set the highlight colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.setHighlighting">setHighlighting</a></td>
 <td>Public method to set the highlighting state.</td>
 </tr>
@@ -480,10 +460,6 @@
 <td>Public method to set the read only state.</td>
 </tr>
 <tr>
-<td><a href="#HexEditWidget.setSelectionColors">setSelectionColors</a></td>
-<td>Public method to set the selection colors.</td>
-</tr>
-<tr>
 <td><a href="#HexEditWidget.toReadableString">toReadableString</a></td>
 <td>Public method to get a formatted representation of our data.</td>
 </tr>
@@ -742,25 +718,6 @@
 bool
 </dd>
 </dl>
-<a NAME="HexEditWidget.addressAreaColors" ID="HexEditWidget.addressAreaColors"></a>
-<h4>HexEditWidget.addressAreaColors</h4>
-<b>addressAreaColors</b>(<i></i>)
-
-<p>
-        Public method to get the address area colors.
-</p>
-<dl>
-<dt>Return:</dt>
-<dd>
-address area foreground and background colors
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-tuple of 2 QColor
-</dd>
-</dl>
 <a NAME="HexEditWidget.addressOffset" ID="HexEditWidget.addressOffset"></a>
 <h4>HexEditWidget.addressOffset</h4>
 <b>addressOffset</b>(<i></i>)
@@ -1098,25 +1055,6 @@
 bool
 </dd>
 </dl>
-<a NAME="HexEditWidget.highlightColors" ID="HexEditWidget.highlightColors"></a>
-<h4>HexEditWidget.highlightColors</h4>
-<b>highlightColors</b>(<i></i>)
-
-<p>
-        Public method to get the highlight colors.
-</p>
-<dl>
-<dt>Return:</dt>
-<dd>
-highlight foreground and background colors
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-tuple of 2 QColor
-</dd>
-</dl>
 <a NAME="HexEditWidget.highlighting" ID="HexEditWidget.highlighting"></a>
 <h4>HexEditWidget.highlighting</h4>
 <b>highlighting</b>(<i></i>)
@@ -1585,25 +1523,6 @@
 <p>
         Public method to extend the selection to the start of line.
 </p>
-<a NAME="HexEditWidget.selectionColors" ID="HexEditWidget.selectionColors"></a>
-<h4>HexEditWidget.selectionColors</h4>
-<b>selectionColors</b>(<i></i>)
-
-<p>
-        Public method to get the selection colors.
-</p>
-<dl>
-<dt>Return:</dt>
-<dd>
-selection foreground and background colors
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-tuple of 2 QColor
-</dd>
-</dl>
 <a NAME="HexEditWidget.selectionToHexString" ID="HexEditWidget.selectionToHexString"></a>
 <h4>HexEditWidget.selectionToHexString</h4>
 <b>selectionToHexString</b>(<i></i>)
@@ -1656,24 +1575,6 @@
 flag indicating the address area visibility
 </dd>
 </dl>
-<a NAME="HexEditWidget.setAddressAreaColors" ID="HexEditWidget.setAddressAreaColors"></a>
-<h4>HexEditWidget.setAddressAreaColors</h4>
-<b>setAddressAreaColors</b>(<i>foreground, background</i>)
-
-<p>
-        Public method to set the address area colors.
-</p>
-<dl>
-
-<dt><i>foreground</i> (QColor)</dt>
-<dd>
-address area foreground color
-</dd>
-<dt><i>background</i> (QColor)</dt>
-<dd>
-address area background color
-</dd>
-</dl>
 <a NAME="HexEditWidget.setAddressOffset" ID="HexEditWidget.setAddressOffset"></a>
 <h4>HexEditWidget.setAddressOffset</h4>
 <b>setAddressOffset</b>(<i>offset</i>)
@@ -1795,24 +1696,6 @@
 font used to show the data
 </dd>
 </dl>
-<a NAME="HexEditWidget.setHighlightColors" ID="HexEditWidget.setHighlightColors"></a>
-<h4>HexEditWidget.setHighlightColors</h4>
-<b>setHighlightColors</b>(<i>foreground, background</i>)
-
-<p>
-        Public method to set the highlight colors.
-</p>
-<dl>
-
-<dt><i>foreground</i> (QColor)</dt>
-<dd>
-highlight foreground color
-</dd>
-<dt><i>background</i> (QColor)</dt>
-<dd>
-highlight background color
-</dd>
-</dl>
 <a NAME="HexEditWidget.setHighlighting" ID="HexEditWidget.setHighlighting"></a>
 <h4>HexEditWidget.setHighlighting</h4>
 <b>setHighlighting</b>(<i>on</i>)
@@ -1873,24 +1756,6 @@
 new read only state
 </dd>
 </dl>
-<a NAME="HexEditWidget.setSelectionColors" ID="HexEditWidget.setSelectionColors"></a>
-<h4>HexEditWidget.setSelectionColors</h4>
-<b>setSelectionColors</b>(<i>foreground, background</i>)
-
-<p>
-        Public method to set the selection colors.
-</p>
-<dl>
-
-<dt><i>foreground</i> (QColor)</dt>
-<dd>
-selection foreground color
-</dd>
-<dt><i>background</i> (QColor)</dt>
-<dd>
-selection background color
-</dd>
-</dl>
 <a NAME="HexEditWidget.toReadableString" ID="HexEditWidget.toReadableString"></a>
 <h4>HexEditWidget.toReadableString</h4>
 <b>toReadableString</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleChecker.html	Sat Jan 01 14:34:29 2022 +0100
@@ -186,8 +186,9 @@
         excludeMessages, includeMessages, repeatMessages, fixCodes,
         noFixCodes, fixIssues, maxLineLength, maxDocLineLength, blankLines,
         hangClosing, docType, codeComplexityArgs, miscellaneousArgs,
-        annotationArgs, securityArgs, errors, eol, encoding, backup)
-        bool, str, dict, dict, dict, list of str, str, str, bool)
+        annotationArgs, securityArgs, importsArgs, errors, eol, encoding,
+        backup)
+        bool, str, dict, dict, dict, dict, list of str, str, str, bool)
 </dd>
 </dl>
 <dl>
@@ -308,9 +309,10 @@
 arguments used by the codeStyleCheck function (list of
         excludeMessages, includeMessages, repeatMessages, fixCodes,
         noFixCodes, fixIssues, maxLineLength, maxDocLineLength, blankLines,
-        hangClosing, docType, codeComplexityArgs, miscellaneousArgs, errors,
-        eol, encoding, backup)
-        bool, str, dict, dict, list of str, str, str, bool)
+        hangClosing, docType, codeComplexityArgs, miscellaneousArgs,
+        annotationArgs, securityArgs, importsArgs, errors, eol, encoding,
+        backup)
+        bool, str, dict, dict, dict, dict, list of str, str, str, bool)
 </dd>
 </dl>
 <dl>
--- a/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerDialog.html	Sat Jan 01 14:34:29 2022 +0100
@@ -95,6 +95,10 @@
 <td>Private slot called when the code style check finished or the user pressed the cancel button.</td>
 </tr>
 <tr>
+<td><a href="#CodeStyleCheckerDialog.__getBanRelativeImportsValue">__getBanRelativeImportsValue</a></td>
+<td>Private method to get the value corresponding the selected button.</td>
+</tr>
+<tr>
 <td><a href="#CodeStyleCheckerDialog.__getBuiltinsIgnoreList">__getBuiltinsIgnoreList</a></td>
 <td>Private method to get a dictionary containing the builtins assignments to be ignored.</td>
 </tr>
@@ -171,6 +175,10 @@
 <td>Private method to select message codes via a selection dialog.</td>
 </tr>
 <tr>
+<td><a href="#CodeStyleCheckerDialog.__setBanRelativeImports">__setBanRelativeImports</a></td>
+<td>Private method to set the button according to the ban relative imports setting.</td>
+</tr>
+<tr>
 <td><a href="#CodeStyleCheckerDialog.__updateFixerStatistics">__updateFixerStatistics</a></td>
 <td>Private method to update the collected fixer related statistics.</td>
 </tr>
@@ -461,6 +469,25 @@
         Private slot called when the code style check finished or the user
         pressed the cancel button.
 </p>
+<a NAME="CodeStyleCheckerDialog.__getBanRelativeImportsValue" ID="CodeStyleCheckerDialog.__getBanRelativeImportsValue"></a>
+<h4>CodeStyleCheckerDialog.__getBanRelativeImportsValue</h4>
+<b>__getBanRelativeImportsValue</b>(<i></i>)
+
+<p>
+        Private method to get the value corresponding the selected button.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+value for the BanRelativeImports argument
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
 <a NAME="CodeStyleCheckerDialog.__getBuiltinsIgnoreList" ID="CodeStyleCheckerDialog.__getBuiltinsIgnoreList"></a>
 <h4>CodeStyleCheckerDialog.__getBuiltinsIgnoreList</h4>
 <b>__getBuiltinsIgnoreList</b>(<i></i>)
@@ -818,6 +845,21 @@
             issues
 </dd>
 </dl>
+<a NAME="CodeStyleCheckerDialog.__setBanRelativeImports" ID="CodeStyleCheckerDialog.__setBanRelativeImports"></a>
+<h4>CodeStyleCheckerDialog.__setBanRelativeImports</h4>
+<b>__setBanRelativeImports</b>(<i>value</i>)
+
+<p>
+        Private method to set the button according to the ban relative imports
+        setting.
+</p>
+<dl>
+
+<dt><i>value</i> (str)</dt>
+<dd>
+value of the ban relative imports setting
+</dd>
+</dl>
 <a NAME="CodeStyleCheckerDialog.__updateFixerStatistics" ID="CodeStyleCheckerDialog.__updateFixerStatistics"></a>
 <h4>CodeStyleCheckerDialog.__updateFixerStatistics</h4>
 <b>__updateFixerStatistics</b>(<i>fixer</i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities</h1>
+
+<p>
+Module implementing utility functions for the code style checker dialogs.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+
+<tr>
+<td><a href="#setItemIcon">setItemIcon</a></td>
+<td>Function to set the icon of the passed message item.</td>
+</tr>
+</table>
+<hr />
+<hr />
+<a NAME="setItemIcon" ID="setItemIcon"></a>
+<h2>setItemIcon</h2>
+<b>setItemIcon</b>(<i>itm, column, msgCode, severity=None</i>)
+
+<p>
+    Function to set the icon of the passed message item.
+</p>
+<dl>
+
+<dt><i>itm</i> (QTreeWidgetItem)</dt>
+<dd>
+reference to the message item
+</dd>
+<dt><i>column</i> (int)</dt>
+<dd>
+column for the icon
+</dd>
+<dt><i>msgCode</i> (str)</dt>
+<dd>
+message code
+</dd>
+<dt><i>severity</i> (str (optional))</dt>
+<dd>
+severity for message code 'S' (defaults to None)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleStatisticsDialog.html	Sat Jan 01 14:34:29 2022 +0100
@@ -73,14 +73,14 @@
 
 <a NAME="CodeStyleStatisticsDialog.__init__" ID="CodeStyleStatisticsDialog.__init__"></a>
 <h4>CodeStyleStatisticsDialog (Constructor)</h4>
-<b>CodeStyleStatisticsDialog</b>(<i>statistics, parent=None</i>)
+<b>CodeStyleStatisticsDialog</b>(<i>statisticData, parent=None</i>)
 
 <p>
         Constructor
 </p>
 <dl>
 
-<dt><i>statistics</i> (dict)</dt>
+<dt><i>statisticData</i> (dict)</dt>
 <dd>
 dictionary with the statistical data
 </dd>
@@ -91,7 +91,7 @@
 </dl>
 <a NAME="CodeStyleStatisticsDialog.__createItem" ID="CodeStyleStatisticsDialog.__createItem"></a>
 <h4>CodeStyleStatisticsDialog.__createItem</h4>
-<b>__createItem</b>(<i>counts, code, message</i>)
+<b>__createItem</b>(<i>counts, msgCode, message</i>)
 
 <p>
         Private method to create an entry in the result list.
@@ -103,9 +103,9 @@
 dictionary containing the total and ignored occurrences
             of the issue
 </dd>
-<dt><i>code</i> (str)</dt>
+<dt><i>msgCode</i> (str)</dt>
 <dd>
-of a code style issue message
+code of a code style issue message
 </dd>
 <dt><i>message</i> (str)</dt>
 <dd>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,227 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode</h1>
+
+<p>
+Module implementing a class representing an import or import from node.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#ImportNode">ImportNode</a></td>
+<td>Class representing an import or import from node.</td>
+</tr>
+<tr>
+<td><a href="#ImportNodeException">ImportNodeException</a></td>
+<td>Class representing an exception for an invalid import node.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="ImportNode" ID="ImportNode"></a>
+<h2>ImportNode</h2>
+
+<p>
+    Class representing an import or import from node.
+</p>
+<h3>Derived from</h3>
+None
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#ImportNode.__init__">ImportNode</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#ImportNode.__eq__">__eq__</a></td>
+<td>Special method implementing the equality operator.</td>
+</tr>
+<tr>
+<td><a href="#ImportNode.__lt__">__lt__</a></td>
+<td>Special method implementing the less than operator.</td>
+</tr>
+<tr>
+<td><a href="#ImportNode.__str__">__str__</a></td>
+<td>Special method to create a string representation of the instance.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="ImportNode.__init__" ID="ImportNode.__init__"></a>
+<h4>ImportNode (Constructor)</h4>
+<b>ImportNode</b>(<i>appNames, astNode, checker</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>appNames</i> (list of str)</dt>
+<dd>
+list of application package names
+</dd>
+<dt><i>astNode</i> (ast.AST)</dt>
+<dd>
+reference to the ast node
+</dd>
+<dt><i>checker</i> (ImportsChecker)</dt>
+<dd>
+reference to the checker object
+</dd>
+</dl>
+<dl>
+
+<dt>Raises <b>ImportNodeException</b>:</dt>
+<dd>
+raised to indicate an invalid node was
+            given to this class
+</dd>
+</dl>
+<a NAME="ImportNode.__eq__" ID="ImportNode.__eq__"></a>
+<h4>ImportNode.__eq__</h4>
+<b>__eq__</b>(<i>other</i>)
+
+<p>
+        Special method implementing the equality operator.
+</p>
+<dl>
+
+<dt><i>other</i> (ImportNode)</dt>
+<dd>
+reference to the object to compare
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating equality
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="ImportNode.__lt__" ID="ImportNode.__lt__"></a>
+<h4>ImportNode.__lt__</h4>
+<b>__lt__</b>(<i>other</i>)
+
+<p>
+        Special method implementing the less than operator.
+</p>
+<dl>
+
+<dt><i>other</i> (ImportNode)</dt>
+<dd>
+reference to the object to compare
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating a less than situation
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="ImportNode.__str__" ID="ImportNode.__str__"></a>
+<h4>ImportNode.__str__</h4>
+<b>__str__</b>(<i></i>)
+
+<p>
+        Special method to create a string representation of the instance.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+string representation of the instance
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<dl>
+
+<dt>Raises <b>ImportNodeException</b>:</dt>
+<dd>
+raised to indicate an invalid node was
+            given to this class
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="ImportNodeException" ID="ImportNodeException"></a>
+<h2>ImportNodeException</h2>
+
+<p>
+    Class representing an exception for an invalid import node.
+</p>
+<h3>Derived from</h3>
+Exception
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,355 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker</h1>
+
+<p>
+Module implementing a checker for import statements.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#ImportsChecker">ImportsChecker</a></td>
+<td>Class implementing a checker for import statements.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="ImportsChecker" ID="ImportsChecker"></a>
+<h2>ImportsChecker</h2>
+
+<p>
+    Class implementing a checker for import statements.
+</p>
+<h3>Derived from</h3>
+None
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>Codes</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#ImportsChecker.__init__">ImportsChecker</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__checkBannedImport">__checkBannedImport</a></td>
+<td>Private method to check import of banned modules.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__checkBannedRelativeImports">__checkBannedRelativeImports</a></td>
+<td>Private method to check if relative imports are banned.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__checkImportOrder">__checkImportOrder</a></td>
+<td>Private method to check the order of import statements.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__checkLocalImports">__checkLocalImports</a></td>
+<td>Private method to check local imports.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__checkUnnecessaryAlias">__checkUnnecessaryAlias</a></td>
+<td>Private method to check unnecessary import aliases.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__error">__error</a></td>
+<td>Private method to record an issue.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__findErrorInAll">__findErrorInAll</a></td>
+<td>Private method to check the '__all__' node for errors.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__findNodes">__findNodes</a></td>
+<td>Private method to find all import and import from nodes of the given tree.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__ignoreCode">__ignoreCode</a></td>
+<td>Private method to check if the message code should be ignored.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.__tidyImports">__tidyImports</a></td>
+<td>Private method to check various other import related topics.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.getStandardModules">getStandardModules</a></td>
+<td>Public method to get a list of modules of the standard library.</td>
+</tr>
+<tr>
+<td><a href="#ImportsChecker.run">run</a></td>
+<td>Public method to check the given source against miscellaneous conditions.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="ImportsChecker.__init__" ID="ImportsChecker.__init__"></a>
+<h4>ImportsChecker (Constructor)</h4>
+<b>ImportsChecker</b>(<i>source, filename, tree, select, ignore, expected, repeat, args</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>source</i> (list of str)</dt>
+<dd>
+source code to be checked
+</dd>
+<dt><i>filename</i> (str)</dt>
+<dd>
+name of the source file
+</dd>
+<dt><i>tree</i> (ast.Module)</dt>
+<dd>
+AST tree of the source code
+</dd>
+<dt><i>select</i> (list of str)</dt>
+<dd>
+list of selected codes
+</dd>
+<dt><i>ignore</i> (list of str)</dt>
+<dd>
+list of codes to be ignored
+</dd>
+<dt><i>expected</i> (list of str)</dt>
+<dd>
+list of expected codes
+</dd>
+<dt><i>repeat</i> (bool)</dt>
+<dd>
+flag indicating to report each occurrence of a code
+</dd>
+<dt><i>args</i> (dict)</dt>
+<dd>
+dictionary of arguments for the various checks
+</dd>
+</dl>
+<a NAME="ImportsChecker.__checkBannedImport" ID="ImportsChecker.__checkBannedImport"></a>
+<h4>ImportsChecker.__checkBannedImport</h4>
+<b>__checkBannedImport</b>(<i>node</i>)
+
+<p>
+        Private method to check import of banned modules.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+reference to the node to be checked
+</dd>
+</dl>
+<a NAME="ImportsChecker.__checkBannedRelativeImports" ID="ImportsChecker.__checkBannedRelativeImports"></a>
+<h4>ImportsChecker.__checkBannedRelativeImports</h4>
+<b>__checkBannedRelativeImports</b>(<i>node</i>)
+
+<p>
+        Private method to check if relative imports are banned.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+reference to the node to be checked
+</dd>
+</dl>
+<a NAME="ImportsChecker.__checkImportOrder" ID="ImportsChecker.__checkImportOrder"></a>
+<h4>ImportsChecker.__checkImportOrder</h4>
+<b>__checkImportOrder</b>(<i></i>)
+
+<p>
+        Private method to check the order of import statements.
+</p>
+<a NAME="ImportsChecker.__checkLocalImports" ID="ImportsChecker.__checkLocalImports"></a>
+<h4>ImportsChecker.__checkLocalImports</h4>
+<b>__checkLocalImports</b>(<i></i>)
+
+<p>
+        Private method to check local imports.
+</p>
+<a NAME="ImportsChecker.__checkUnnecessaryAlias" ID="ImportsChecker.__checkUnnecessaryAlias"></a>
+<h4>ImportsChecker.__checkUnnecessaryAlias</h4>
+<b>__checkUnnecessaryAlias</b>(<i>node</i>)
+
+<p>
+        Private method to check unnecessary import aliases.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+reference to the node to be checked
+</dd>
+</dl>
+<a NAME="ImportsChecker.__error" ID="ImportsChecker.__error"></a>
+<h4>ImportsChecker.__error</h4>
+<b>__error</b>(<i>lineNumber, offset, code, *args</i>)
+
+<p>
+        Private method to record an issue.
+</p>
+<dl>
+
+<dt><i>lineNumber</i> (int)</dt>
+<dd>
+line number of the issue
+</dd>
+<dt><i>offset</i> (int)</dt>
+<dd>
+position within line of the issue
+</dd>
+<dt><i>code</i> (str)</dt>
+<dd>
+message code
+</dd>
+<dt><i>args</i> (list)</dt>
+<dd>
+arguments for the message
+</dd>
+</dl>
+<a NAME="ImportsChecker.__findErrorInAll" ID="ImportsChecker.__findErrorInAll"></a>
+<h4>ImportsChecker.__findErrorInAll</h4>
+<b>__findErrorInAll</b>(<i>node</i>)
+
+<p>
+        Private method to check the '__all__' node for errors.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.List or ast.Tuple)</dt>
+<dd>
+reference to the '__all__' node
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a reference to the node and an error code
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+rtype tuple of (ast.List | ast.Tuple, str)
+</dd>
+</dl>
+<a NAME="ImportsChecker.__findNodes" ID="ImportsChecker.__findNodes"></a>
+<h4>ImportsChecker.__findNodes</h4>
+<b>__findNodes</b>(<i>tree</i>)
+
+<p>
+        Private method to find all import and import from nodes of the given
+        tree.
+</p>
+<dl>
+
+<dt><i>tree</i> (ast.AST)</dt>
+<dd>
+reference to the ast node tree to be parsed
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a list of import nodes and the '__all__' node
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (ast.Import | ast.ImportFrom, ast.List | ast.Tuple)
+</dd>
+</dl>
+<a NAME="ImportsChecker.__ignoreCode" ID="ImportsChecker.__ignoreCode"></a>
+<h4>ImportsChecker.__ignoreCode</h4>
+<b>__ignoreCode</b>(<i>code</i>)
+
+<p>
+        Private method to check if the message code should be ignored.
+</p>
+<dl>
+
+<dt><i>code</i> (str)</dt>
+<dd>
+message code to check for
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating to ignore the given code
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="ImportsChecker.__tidyImports" ID="ImportsChecker.__tidyImports"></a>
+<h4>ImportsChecker.__tidyImports</h4>
+<b>__tidyImports</b>(<i></i>)
+
+<p>
+        Private method to check various other import related topics.
+</p>
+<a NAME="ImportsChecker.getStandardModules" ID="ImportsChecker.getStandardModules"></a>
+<h4>ImportsChecker.getStandardModules</h4>
+<b>getStandardModules</b>(<i></i>)
+
+<p>
+        Public method to get a list of modules of the standard library.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+set of builtin modules
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+set of str
+</dd>
+</dl>
+<a NAME="ImportsChecker.run" ID="ImportsChecker.run"></a>
+<h4>ImportsChecker.run</h4>
+<b>run</b>(<i></i>)
+
+<p>
+        Public method to check the given source against miscellaneous
+        conditions.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums</h1>
+
+<p>
+Module implementing some enums for the import order checker.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#GroupEnum">GroupEnum</a></td>
+<td>Class representing the various import groups.</td>
+</tr>
+<tr>
+<td><a href="#NodeTypeEnum">NodeTypeEnum</a></td>
+<td>Class representing the import node types.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="GroupEnum" ID="GroupEnum"></a>
+<h2>GroupEnum</h2>
+
+<p>
+    Class representing the various import groups.
+</p>
+<h3>Derived from</h3>
+enum.IntEnum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>APPLICATION</td></tr><tr><td>FUTURE</td></tr><tr><td>STDLIB</td></tr><tr><td>THIRD_PARTY</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="NodeTypeEnum" ID="NodeTypeEnum"></a>
+<h2>NodeTypeEnum</h2>
+
+<p>
+    Class representing the import node types.
+</p>
+<h3>Derived from</h3>
+enum.IntEnum
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>IMPORT</td></tr><tr><td>IMPORT_FROM</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,200 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor</h1>
+
+<p>
+Module implementing a node visitor for checking local import statements.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#LocalImportVisitor">LocalImportVisitor</a></td>
+<td>Class implementing a node visitor for checking local import statements.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="LocalImportVisitor" ID="LocalImportVisitor"></a>
+<h2>LocalImportVisitor</h2>
+
+<p>
+    Class implementing a node visitor for checking local import statements.
+</p>
+<h3>Derived from</h3>
+ast.NodeVisitor
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#LocalImportVisitor.__init__">LocalImportVisitor</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.__assertExternalModule">__assertExternalModule</a></td>
+<td>Private method to assert the given node.</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.__visitImportNode">__visitImportNode</a></td>
+<td>Private method to handle an import or import from statement.</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.visit">visit</a></td>
+<td>Public method to traverse the tree of an AST node.</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.visit_FunctionDef">visit_FunctionDef</a></td>
+<td>Public method to handle a function definition.</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.visit_Import">visit_Import</a></td>
+<td>Public method to handle an import statement.</td>
+</tr>
+<tr>
+<td><a href="#LocalImportVisitor.visit_ImportFrom">visit_ImportFrom</a></td>
+<td>Public method to handle an import from statement.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="LocalImportVisitor.__init__" ID="LocalImportVisitor.__init__"></a>
+<h4>LocalImportVisitor (Constructor)</h4>
+<b>LocalImportVisitor</b>(<i>args, checker</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>args</i> (dict)</dt>
+<dd>
+dictionary containing the checker arguments
+</dd>
+<dt><i>checker</i> (ImportsChecker)</dt>
+<dd>
+reference to the checker
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.__assertExternalModule" ID="LocalImportVisitor.__assertExternalModule"></a>
+<h4>LocalImportVisitor.__assertExternalModule</h4>
+<b>__assertExternalModule</b>(<i>node, module</i>)
+
+<p>
+        Private method to assert the given node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.stmt)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+<dt><i>module</i> (str)</dt>
+<dd>
+name of the module
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.__visitImportNode" ID="LocalImportVisitor.__visitImportNode"></a>
+<h4>LocalImportVisitor.__visitImportNode</h4>
+<b>__visitImportNode</b>(<i>node</i>)
+
+<p>
+        Private method to handle an import or import from statement.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Import or ast.ImportFrom)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.visit" ID="LocalImportVisitor.visit"></a>
+<h4>LocalImportVisitor.visit</h4>
+<b>visit</b>(<i>node</i>)
+
+<p>
+        Public method to traverse the tree of an AST node.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.AST)</dt>
+<dd>
+AST node to parse
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.visit_FunctionDef" ID="LocalImportVisitor.visit_FunctionDef"></a>
+<h4>LocalImportVisitor.visit_FunctionDef</h4>
+<b>visit_FunctionDef</b>(<i>node</i>)
+
+<p>
+        Public method to handle a function definition.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.FunctionDef)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.visit_Import" ID="LocalImportVisitor.visit_Import"></a>
+<h4>LocalImportVisitor.visit_Import</h4>
+<b>visit_Import</b>(<i>node</i>)
+
+<p>
+        Public method to handle an import statement.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.Import)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
+<a NAME="LocalImportVisitor.visit_ImportFrom" ID="LocalImportVisitor.visit_ImportFrom"></a>
+<h4>LocalImportVisitor.visit_ImportFrom</h4>
+<b>visit_ImportFrom</b>(<i>node</i>)
+
+<p>
+        Public method to handle an import from statement.
+</p>
+<dl>
+
+<dt><i>node</i> (ast.ImportFrom)</dt>
+<dd>
+reference to the node to be processed
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations</h1>
+
+<p>
+Module implementing message translations for the code style plugin messages
+(import statements part).
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>_importsMessages</td></tr><tr><td>_importsMessagesSampleArgs</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/eric7.Plugins.PluginCodeStyleChecker.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Plugins.PluginCodeStyleChecker.html	Sat Jan 01 14:34:29 2022 +0100
@@ -117,7 +117,7 @@
 </tr>
 <tr>
 <td><a href="#CodeStyleCheckerPlugin.__translateStyleCheck">__translateStyleCheck</a></td>
-<td>Private slot called after perfoming a style check on one file.</td>
+<td>Private slot called after performing a style check on one file.</td>
 </tr>
 <tr>
 <td><a href="#CodeStyleCheckerPlugin.activate">activate</a></td>
@@ -310,7 +310,7 @@
 <b>__translateStyleCheck</b>(<i>fn, codeStyleCheckerStats, results</i>)
 
 <p>
-        Private slot called after perfoming a style check on one file.
+        Private slot called after performing a style check on one file.
 </p>
 <dl>
 
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationDialog.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationDialog.html	Sat Jan 01 14:34:29 2022 +0100
@@ -251,7 +251,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>DEFAULTMODE</td></tr><tr><td>HEXEDITORMODE</td></tr><tr><td>TRAYSTARTERMODE</td></tr><tr><td>WEBBROWSERMODE</td></tr>
+<tr><td>DEFAULTMODE</td></tr><tr><td>EDITORMODE</td></tr><tr><td>HEXEDITORMODE</td></tr><tr><td>TRAYSTARTERMODE</td></tr><tr><td>WEBBROWSERMODE</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.EditorHighlightingStylesPage.html	Sat Jan 01 14:34:29 2022 +0100
@@ -103,6 +103,10 @@
 <td>Private method to style one item of the style element list.</td>
 </tr>
 <tr>
+<td><a href="#EditorHighlightingStylesPage.__styleSample">__styleSample</a></td>
+<td>Private method to style the sample text.</td>
+</tr>
+<tr>
 <td><a href="#EditorHighlightingStylesPage.__stylesForItem">__stylesForItem</a></td>
 <td>Private method to get the style and sub-style number of the given item.</td>
 </tr>
@@ -385,6 +389,28 @@
 sub-style number
 </dd>
 </dl>
+<a NAME="EditorHighlightingStylesPage.__styleSample" ID="EditorHighlightingStylesPage.__styleSample"></a>
+<h4>EditorHighlightingStylesPage.__styleSample</h4>
+<b>__styleSample</b>(<i>color, paper, font=None</i>)
+
+<p>
+        Private method to style the sample text.
+</p>
+<dl>
+
+<dt><i>color</i> (QColor)</dt>
+<dd>
+foreground color for the sample
+</dd>
+<dt><i>paper</i> (QColor)</dt>
+<dd>
+background color for the sample
+</dd>
+<dt><i>font</i> (QFont (optional))</dt>
+<dd>
+font for the sample (defaults to None)
+</dd>
+</dl>
 <a NAME="EditorHighlightingStylesPage.__stylesForItem" ID="EditorHighlightingStylesPage.__stylesForItem"></a>
 <h4>EditorHighlightingStylesPage.__stylesForItem</h4>
 <b>__stylesForItem</b>(<i>itm</i>)
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.EditorStylesPage.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.EditorStylesPage.html	Sat Jan 01 14:34:29 2022 +0100
@@ -63,6 +63,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#EditorStylesPage.__setSampleStyleSheet">__setSampleStyleSheet</a></td>
+<td>Private method to colorize a sample with given foreground and background colors.</td>
+</tr>
+<tr>
 <td><a href="#EditorStylesPage.on_annotationsErrorBgButton_clicked">on_annotationsErrorBgButton_clicked</a></td>
 <td>Private slot to set the background colour of the error annotations.</td>
 </tr>
@@ -120,6 +124,29 @@
 <p>
         Constructor
 </p>
+<a NAME="EditorStylesPage.__setSampleStyleSheet" ID="EditorStylesPage.__setSampleStyleSheet"></a>
+<h4>EditorStylesPage.__setSampleStyleSheet</h4>
+<b>__setSampleStyleSheet</b>(<i>sampleLineEdit, color, background</i>)
+
+<p>
+        Private method to colorize a sample with given foreground and
+        background colors.
+</p>
+<dl>
+
+<dt><i>sampleLineEdit</i> (QLineEdit)</dt>
+<dd>
+line edit element to be colorized
+</dd>
+<dt><i>color</i> (QColor)</dt>
+<dd>
+text color to be shown
+</dd>
+<dt><i>background</i> (QColor)</dt>
+<dd>
+background color to be shown
+</dd>
+</dl>
 <a NAME="EditorStylesPage.on_annotationsErrorBgButton_clicked" ID="EditorStylesPage.on_annotationsErrorBgButton_clicked"></a>
 <h4>EditorStylesPage.on_annotationsErrorBgButton_clicked</h4>
 <b>on_annotationsErrorBgButton_clicked</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.InterfaceLightPage.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,138 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Preferences.ConfigurationPages.InterfaceLightPage</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Preferences.ConfigurationPages.InterfaceLightPage</h1>
+
+<p>
+Module implementing the Interface configuration page (variant for web browser).
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#InterfaceLightPage">InterfaceLightPage</a></td>
+<td>Class implementing the Interface configuration page (variant for generic use).</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+
+<tr>
+<td><a href="#create">create</a></td>
+<td>Module function to create the configuration page.</td>
+</tr>
+</table>
+<hr />
+<hr />
+<a NAME="InterfaceLightPage" ID="InterfaceLightPage"></a>
+<h2>InterfaceLightPage</h2>
+
+<p>
+    Class implementing the Interface configuration page (variant for generic
+    use).
+</p>
+<h3>Derived from</h3>
+ConfigurationPageBase, Ui_InterfaceLightPage
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#InterfaceLightPage.__init__">InterfaceLightPage</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#InterfaceLightPage.__populateLanguageCombo">__populateLanguageCombo</a></td>
+<td>Private method to initialize the language combo box.</td>
+</tr>
+<tr>
+<td><a href="#InterfaceLightPage.__populateStyleCombo">__populateStyleCombo</a></td>
+<td>Private method to populate the style combo box.</td>
+</tr>
+<tr>
+<td><a href="#InterfaceLightPage.save">save</a></td>
+<td>Public slot to save the Interface configuration.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="InterfaceLightPage.__init__" ID="InterfaceLightPage.__init__"></a>
+<h4>InterfaceLightPage (Constructor)</h4>
+<b>InterfaceLightPage</b>(<i></i>)
+
+<p>
+        Constructor
+</p>
+<a NAME="InterfaceLightPage.__populateLanguageCombo" ID="InterfaceLightPage.__populateLanguageCombo"></a>
+<h4>InterfaceLightPage.__populateLanguageCombo</h4>
+<b>__populateLanguageCombo</b>(<i></i>)
+
+<p>
+        Private method to initialize the language combo box.
+</p>
+<a NAME="InterfaceLightPage.__populateStyleCombo" ID="InterfaceLightPage.__populateStyleCombo"></a>
+<h4>InterfaceLightPage.__populateStyleCombo</h4>
+<b>__populateStyleCombo</b>(<i></i>)
+
+<p>
+        Private method to populate the style combo box.
+</p>
+<a NAME="InterfaceLightPage.save" ID="InterfaceLightPage.save"></a>
+<h4>InterfaceLightPage.save</h4>
+<b>save</b>(<i></i>)
+
+<p>
+        Public slot to save the Interface configuration.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+<hr />
+<a NAME="create" ID="create"></a>
+<h2>create</h2>
+<b>create</b>(<i>dlg</i>)
+
+<p>
+    Module function to create the configuration page.
+</p>
+<dl>
+
+<dt><i>dlg</i></dt>
+<dd>
+reference to the configuration dialog
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+reference to the instantiated page (ConfigurationPageBase)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.LogViewerPage.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.LogViewerPage.html	Sat Jan 01 14:34:29 2022 +0100
@@ -63,6 +63,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#LogViewerPage.__colorChanged">__colorChanged</a></td>
+<td>Private slot handling the selection of a color.</td>
+</tr>
+<tr>
 <td><a href="#LogViewerPage.save">save</a></td>
 <td>Public slot to save the Interface configuration.</td>
 </tr>
@@ -87,6 +91,24 @@
 reference to the parent widget (QWidget)
 </dd>
 </dl>
+<a NAME="LogViewerPage.__colorChanged" ID="LogViewerPage.__colorChanged"></a>
+<h4>LogViewerPage.__colorChanged</h4>
+<b>__colorChanged</b>(<i>colorKey, color</i>)
+
+<p>
+        Private slot handling the selection of a color.
+</p>
+<dl>
+
+<dt><i>colorKey</i> (str)</dt>
+<dd>
+key of the color entry
+</dd>
+<dt><i>color</i> (QColor)</dt>
+<dd>
+selected color
+</dd>
+</dl>
 <a NAME="LogViewerPage.save" ID="LogViewerPage.save"></a>
 <h4>LogViewerPage.save</h4>
 <b>save</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.TasksPage.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.TasksPage.html	Sat Jan 01 14:34:29 2022 +0100
@@ -63,6 +63,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#TasksPage.__colorChanged">__colorChanged</a></td>
+<td>Private slot handling the selection of a color.</td>
+</tr>
+<tr>
 <td><a href="#TasksPage.save">save</a></td>
 <td>Public slot to save the Tasks configuration.</td>
 </tr>
@@ -80,6 +84,24 @@
 <p>
         Constructor
 </p>
+<a NAME="TasksPage.__colorChanged" ID="TasksPage.__colorChanged"></a>
+<h4>TasksPage.__colorChanged</h4>
+<b>__colorChanged</b>(<i>colorKey, color</i>)
+
+<p>
+        Private slot handling the selection of a color.
+</p>
+<dl>
+
+<dt><i>colorKey</i> (str)</dt>
+<dd>
+key of the color entry
+</dd>
+<dt><i>color</i> (QColor)</dt>
+<dd>
+selected color
+</dd>
+</dl>
 <a NAME="TasksPage.save" ID="TasksPage.save"></a>
 <h4>TasksPage.save</h4>
 <b>save</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html	Sat Dec 04 11:12:45 2021 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-<!DOCTYPE html>
-<html><head>
-<title>eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage</title>
-<meta charset="UTF-8">
-<link rel="stylesheet" href="styles.css">
-</head>
-<body>
-<a NAME="top" ID="top"></a>
-<h1>eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage</h1>
-
-<p>
-Module implementing the Interface configuration page (variant for web browser).
-</p>
-<h3>Global Attributes</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Classes</h3>
-
-<table>
-
-<tr>
-<td><a href="#WebBrowserInterfacePage">WebBrowserInterfacePage</a></td>
-<td>Class implementing the Interface configuration page (variant for web browser).</td>
-</tr>
-</table>
-<h3>Functions</h3>
-
-<table>
-
-<tr>
-<td><a href="#create">create</a></td>
-<td>Module function to create the configuration page.</td>
-</tr>
-</table>
-<hr />
-<hr />
-<a NAME="WebBrowserInterfacePage" ID="WebBrowserInterfacePage"></a>
-<h2>WebBrowserInterfacePage</h2>
-
-<p>
-    Class implementing the Interface configuration page (variant for web
-    browser).
-</p>
-<h3>Derived from</h3>
-ConfigurationPageBase, Ui_WebBrowserInterfacePage
-<h3>Class Attributes</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Class Methods</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-<h3>Methods</h3>
-
-<table>
-
-<tr>
-<td><a href="#WebBrowserInterfacePage.__init__">WebBrowserInterfacePage</a></td>
-<td>Constructor</td>
-</tr>
-<tr>
-<td><a href="#WebBrowserInterfacePage.__populateStyleCombo">__populateStyleCombo</a></td>
-<td>Private method to populate the style combo box.</td>
-</tr>
-<tr>
-<td><a href="#WebBrowserInterfacePage.save">save</a></td>
-<td>Public slot to save the Interface configuration.</td>
-</tr>
-</table>
-<h3>Static Methods</h3>
-
-<table>
-<tr><td>None</td></tr>
-</table>
-
-<a NAME="WebBrowserInterfacePage.__init__" ID="WebBrowserInterfacePage.__init__"></a>
-<h4>WebBrowserInterfacePage (Constructor)</h4>
-<b>WebBrowserInterfacePage</b>(<i></i>)
-
-<p>
-        Constructor
-</p>
-<a NAME="WebBrowserInterfacePage.__populateStyleCombo" ID="WebBrowserInterfacePage.__populateStyleCombo"></a>
-<h4>WebBrowserInterfacePage.__populateStyleCombo</h4>
-<b>__populateStyleCombo</b>(<i></i>)
-
-<p>
-        Private method to populate the style combo box.
-</p>
-<a NAME="WebBrowserInterfacePage.save" ID="WebBrowserInterfacePage.save"></a>
-<h4>WebBrowserInterfacePage.save</h4>
-<b>save</b>(<i></i>)
-
-<p>
-        Public slot to save the Interface configuration.
-</p>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-<hr />
-<a NAME="create" ID="create"></a>
-<h2>create</h2>
-<b>create</b>(<i>dlg</i>)
-
-<p>
-    Module function to create the configuration page.
-</p>
-<dl>
-
-<dt><i>dlg</i></dt>
-<dd>
-reference to the configuration dialog
-</dd>
-</dl>
-<dl>
-<dt>Return:</dt>
-<dd>
-reference to the instantiated page (ConfigurationPageBase)
-</dd>
-</dl>
-<div align="right"><a href="#top">Up</a></div>
-<hr />
-</body></html>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/eric7.Preferences.ThemeManager.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Preferences.ThemeManager</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.Preferences.ThemeManager</h1>
+
+<p>
+Module implementing a manager object for color themes.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#ThemeManager">ThemeManager</a></td>
+<td>Class implementing a manager object for color themes.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="ThemeManager" ID="ThemeManager"></a>
+<h2>ThemeManager</h2>
+
+<p>
+    Class implementing a manager object for color themes.
+</p>
+<h3>Derived from</h3>
+QObject
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>ColorKeyList</td></tr><tr><td>ColorKeyPatternList</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#ThemeManager.__init__">ThemeManager</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#ThemeManager.exportTheme">exportTheme</a></td>
+<td>Public method to export the current colors to a theme file.</td>
+</tr>
+<tr>
+<td><a href="#ThemeManager.importTheme">importTheme</a></td>
+<td>Public method to import a theme file and set the colors.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="ThemeManager.__init__" ID="ThemeManager.__init__"></a>
+<h4>ThemeManager (Constructor)</h4>
+<b>ThemeManager</b>(<i>parent: QObject = None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>parent</i> (QObject (optional))</dt>
+<dd>
+reference to the parent object (defaults to None)
+</dd>
+</dl>
+<a NAME="ThemeManager.exportTheme" ID="ThemeManager.exportTheme"></a>
+<h4>ThemeManager.exportTheme</h4>
+<b>exportTheme</b>(<i></i>)
+
+<p>
+        Public method to export the current colors to a theme file.
+</p>
+<a NAME="ThemeManager.importTheme" ID="ThemeManager.importTheme"></a>
+<h4>ThemeManager.importTheme</h4>
+<b>importTheme</b>(<i></i>)
+
+<p>
+        Public method to import a theme file and set the colors.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating a successful import
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/eric7.QScintilla.EditorOutlineSizesDialog.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.QScintilla.EditorOutlineSizesDialog.html	Sat Jan 01 14:34:29 2022 +0100
@@ -23,7 +23,7 @@
 
 <tr>
 <td><a href="#EditorOutlineSizesDialog">EditorOutlineSizesDialog</a></td>
-<td>Class documentation goes here.</td>
+<td>Class implementing a dialog to change the default size settings of the Source Outline pane.</td>
 </tr>
 </table>
 <h3>Functions</h3>
@@ -37,7 +37,8 @@
 <h2>EditorOutlineSizesDialog</h2>
 
 <p>
-    Class documentation goes here.
+    Class implementing a dialog to change the default size settings of the
+    Source Outline pane.
 </p>
 <h3>Derived from</h3>
 QDialog, Ui_EditorOutlineSizesDialog
--- a/eric7/Documentation/Source/eric7.QScintilla.Lexers.LexerQSS.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.QScintilla.Lexers.LexerQSS.html	Sat Jan 01 14:34:29 2022 +0100
@@ -79,10 +79,6 @@
 <td>Public method to return the lexer language.</td>
 </tr>
 <tr>
-<td><a href="#LexerQSS.lexer">lexer</a></td>
-<td>Public method to return the lexer type.</td>
-</tr>
-<tr>
 <td><a href="#LexerQSS.lexerName">lexerName</a></td>
 <td>Public method to return the lexer name.</td>
 </tr>
@@ -187,25 +183,6 @@
 lexer language (string)
 </dd>
 </dl>
-<a NAME="LexerQSS.lexer" ID="LexerQSS.lexer"></a>
-<h4>LexerQSS.lexer</h4>
-<b>lexer</b>(<i></i>)
-
-<p>
-        Public method to return the lexer type.
-</p>
-<dl>
-<dt>Return:</dt>
-<dd>
-lexer type
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-str
-</dd>
-</dl>
 <a NAME="LexerQSS.lexerName" ID="LexerQSS.lexerName"></a>
 <h4>LexerQSS.lexerName</h4>
 <b>lexerName</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.QScintilla.MiniEditor.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.QScintilla.MiniEditor.html	Sat Jan 01 14:34:29 2022 +0100
@@ -125,6 +125,10 @@
 <td>Private method to create the actions.</td>
 </tr>
 <tr>
+<td><a href="#MiniEditor.__createConfigActions">__createConfigActions</a></td>
+<td>Private method to create the Settings actions.</td>
+</tr>
+<tr>
 <td><a href="#MiniEditor.__createEditActions">__createEditActions</a></td>
 <td>Private method to create the Edit actions.</td>
 </tr>
@@ -201,6 +205,10 @@
 <td>Private method to handle the selection of a lexer language.</td>
 </tr>
 <tr>
+<td><a href="#MiniEditor.__loadConfiguration">__loadConfiguration</a></td>
+<td>Private slot to load the configuration.</td>
+</tr>
+<tr>
 <td><a href="#MiniEditor.__loadEditorConfig">__loadEditorConfig</a></td>
 <td>Private method to load the EditorConfig properties.</td>
 </tr>
@@ -233,6 +241,10 @@
 <td>Private slot to open a file.</td>
 </tr>
 <tr>
+<td><a href="#MiniEditor.__preferencesChanged">__preferencesChanged</a></td>
+<td>Private slot to handle a configuration change.</td>
+</tr>
+<tr>
 <td><a href="#MiniEditor.__printFile">__printFile</a></td>
 <td>Private slot to print the text.</td>
 </tr>
@@ -341,6 +353,10 @@
 <td>Private slot to show the Languages menu of the status bar.</td>
 </tr>
 <tr>
+<td><a href="#MiniEditor.__showPreferences">__showPreferences</a></td>
+<td>Private slot to set the preferences.</td>
+</tr>
+<tr>
 <td><a href="#MiniEditor.__strippedName">__strippedName</a></td>
 <td>Private method to return the filename part of the given path.</td>
 </tr>
@@ -578,6 +594,13 @@
 <p>
         Private method to create the actions.
 </p>
+<a NAME="MiniEditor.__createConfigActions" ID="MiniEditor.__createConfigActions"></a>
+<h4>MiniEditor.__createConfigActions</h4>
+<b>__createConfigActions</b>(<i></i>)
+
+<p>
+        Private method to create the Settings actions.
+</p>
 <a NAME="MiniEditor.__createEditActions" ID="MiniEditor.__createEditActions"></a>
 <h4>MiniEditor.__createEditActions</h4>
 <b>__createEditActions</b>(<i></i>)
@@ -819,6 +842,13 @@
 reference to the action that was triggered (QAction)
 </dd>
 </dl>
+<a NAME="MiniEditor.__loadConfiguration" ID="MiniEditor.__loadConfiguration"></a>
+<h4>MiniEditor.__loadConfiguration</h4>
+<b>__loadConfiguration</b>(<i></i>)
+
+<p>
+        Private slot to load the configuration.
+</p>
 <a NAME="MiniEditor.__loadEditorConfig" ID="MiniEditor.__loadEditorConfig"></a>
 <h4>MiniEditor.__loadEditorConfig</h4>
 <b>__loadEditorConfig</b>(<i>fileName=""</i>)
@@ -926,6 +956,13 @@
 <p>
         Private slot to open a file.
 </p>
+<a NAME="MiniEditor.__preferencesChanged" ID="MiniEditor.__preferencesChanged"></a>
+<h4>MiniEditor.__preferencesChanged</h4>
+<b>__preferencesChanged</b>(<i></i>)
+
+<p>
+        Private slot to handle a configuration change.
+</p>
 <a NAME="MiniEditor.__printFile" ID="MiniEditor.__printFile"></a>
 <h4>MiniEditor.__printFile</h4>
 <b>__printFile</b>(<i></i>)
@@ -1218,6 +1255,13 @@
 position the menu should be shown at (QPoint)
 </dd>
 </dl>
+<a NAME="MiniEditor.__showPreferences" ID="MiniEditor.__showPreferences"></a>
+<h4>MiniEditor.__showPreferences</h4>
+<b>__showPreferences</b>(<i></i>)
+
+<p>
+        Private slot to set the preferences.
+</p>
 <a NAME="MiniEditor.__strippedName" ID="MiniEditor.__strippedName"></a>
 <h4>MiniEditor.__strippedName</h4>
 <b>__strippedName</b>(<i>fullFileName</i>)
--- a/eric7/Documentation/Source/eric7.UI.FindFileWidget.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.UI.FindFileWidget.html	Sat Jan 01 14:34:29 2022 +0100
@@ -101,6 +101,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#FindFileWidget.__clearResults">__clearResults</a></td>
+<td>Private slot to clear the current search results.</td>
+</tr>
+<tr>
 <td><a href="#FindFileWidget.__contextMenuRequested">__contextMenuRequested</a></td>
 <td>Private slot to handle the context menu request.</td>
 </tr>
@@ -225,6 +229,13 @@
 parent widget of this dialog (defaults to None)
 </dd>
 </dl>
+<a NAME="FindFileWidget.__clearResults" ID="FindFileWidget.__clearResults"></a>
+<h4>FindFileWidget.__clearResults</h4>
+<b>__clearResults</b>(<i></i>)
+
+<p>
+        Private slot to clear the current search results.
+</p>
 <a NAME="FindFileWidget.__contextMenuRequested" ID="FindFileWidget.__contextMenuRequested"></a>
 <h4>FindFileWidget.__contextMenuRequested</h4>
 <b>__contextMenuRequested</b>(<i>pos</i>)
--- a/eric7/Documentation/Source/eric7.UI.FindLocationWidget.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.UI.FindLocationWidget.html	Sat Jan 01 14:34:29 2022 +0100
@@ -96,6 +96,10 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#FindLocationWidget.__clearResults">__clearResults</a></td>
+<td>Private slot to clear the current search results.</td>
+</tr>
+<tr>
 <td><a href="#FindLocationWidget.__openFile">__openFile</a></td>
 <td>Private slot to open a file.</td>
 </tr>
@@ -132,10 +136,6 @@
 <td>Private slot to handle the double click on a file item.</td>
 </tr>
 <tr>
-<td><a href="#FindLocationWidget.on_fileNameEdit_textChanged">on_fileNameEdit_textChanged</a></td>
-<td>Private slot to handle the textChanged signal of the file name edit.</td>
-</tr>
-<tr>
 <td><a href="#FindLocationWidget.on_searchDirPicker_textChanged">on_searchDirPicker_textChanged</a></td>
 <td>Private slot to handle the textChanged signal of the search directory edit.</td>
 </tr>
@@ -164,6 +164,13 @@
 parent widget of this dialog
 </dd>
 </dl>
+<a NAME="FindLocationWidget.__clearResults" ID="FindLocationWidget.__clearResults"></a>
+<h4>FindLocationWidget.__clearResults</h4>
+<b>__clearResults</b>(<i></i>)
+
+<p>
+        Private slot to clear the current search results.
+</p>
 <a NAME="FindLocationWidget.__openFile" ID="FindLocationWidget.__openFile"></a>
 <h4>FindLocationWidget.__openFile</h4>
 <b>__openFile</b>(<i>itm=None</i>)
@@ -275,20 +282,6 @@
 column that was double clicked (ignored)
 </dd>
 </dl>
-<a NAME="FindLocationWidget.on_fileNameEdit_textChanged" ID="FindLocationWidget.on_fileNameEdit_textChanged"></a>
-<h4>FindLocationWidget.on_fileNameEdit_textChanged</h4>
-<b>on_fileNameEdit_textChanged</b>(<i>text</i>)
-
-<p>
-        Private slot to handle the textChanged signal of the file name edit.
-</p>
-<dl>
-
-<dt><i>text</i> (str)</dt>
-<dd>
-(ignored)
-</dd>
-</dl>
 <a NAME="FindLocationWidget.on_searchDirPicker_textChanged" ID="FindLocationWidget.on_searchDirPicker_textChanged"></a>
 <h4>FindLocationWidget.on_searchDirPicker_textChanged</h4>
 <b>on_searchDirPicker_textChanged</b>(<i>text</i>)
--- a/eric7/Documentation/Source/eric7.UI.Previewers.PreviewerQSS.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.UI.Previewers.PreviewerQSS.html	Sat Jan 01 14:34:29 2022 +0100
@@ -59,6 +59,14 @@
 <td>Constructor</td>
 </tr>
 <tr>
+<td><a href="#PreviewerQSS.on_checkBox_stateChanged">on_checkBox_stateChanged</a></td>
+<td>Private slot to synchronize the checkbox state.</td>
+</tr>
+<tr>
+<td><a href="#PreviewerQSS.on_styleIconsPathPicker_textChanged">on_styleIconsPathPicker_textChanged</a></td>
+<td>Private slot handling a change of the style icons path.</td>
+</tr>
+<tr>
 <td><a href="#PreviewerQSS.processEditor">processEditor</a></td>
 <td>Public slot to process an editor's text.</td>
 </tr>
@@ -83,6 +91,34 @@
 reference to the parent widget (QWidget)
 </dd>
 </dl>
+<a NAME="PreviewerQSS.on_checkBox_stateChanged" ID="PreviewerQSS.on_checkBox_stateChanged"></a>
+<h4>PreviewerQSS.on_checkBox_stateChanged</h4>
+<b>on_checkBox_stateChanged</b>(<i>state</i>)
+
+<p>
+        Private slot to synchronize the checkbox state.
+</p>
+<dl>
+
+<dt><i>state</i> (int)</dt>
+<dd>
+state of the enabled check box
+</dd>
+</dl>
+<a NAME="PreviewerQSS.on_styleIconsPathPicker_textChanged" ID="PreviewerQSS.on_styleIconsPathPicker_textChanged"></a>
+<h4>PreviewerQSS.on_styleIconsPathPicker_textChanged</h4>
+<b>on_styleIconsPathPicker_textChanged</b>(<i>txt</i>)
+
+<p>
+        Private slot handling a change of the style icons path.
+</p>
+<dl>
+
+<dt><i>txt</i> (str)</dt>
+<dd>
+name of the style icons directory
+</dd>
+</dl>
 <a NAME="PreviewerQSS.processEditor" ID="PreviewerQSS.processEditor"></a>
 <h4>PreviewerQSS.processEditor</h4>
 <b>processEditor</b>(<i>editor=None</i>)
--- a/eric7/Documentation/Source/eric7.UI.UserInterface.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.UI.UserInterface.html	Sat Jan 01 14:34:29 2022 +0100
@@ -433,6 +433,10 @@
 <td>Private slot to export the keyboard shortcuts.</td>
 </tr>
 <tr>
+<td><a href="#UserInterface.__exportTheme">__exportTheme</a></td>
+<td>Private slot to export the current theme to a file.</td>
+</tr>
+<tr>
 <td><a href="#UserInterface.__getFloatingGeometry">__getFloatingGeometry</a></td>
 <td>Private method to get the geometry of a floating windows.</td>
 </tr>
@@ -453,6 +457,10 @@
 <td>Private slot to import the keyboard shortcuts.</td>
 </tr>
 <tr>
+<td><a href="#UserInterface.__importTheme">__importTheme</a></td>
+<td>Private slot to import a previously exported theme.</td>
+</tr>
+<tr>
 <td><a href="#UserInterface.__initActions">__initActions</a></td>
 <td>Private method to define the user interface actions.</td>
 </tr>
@@ -1724,6 +1732,13 @@
 <p>
         Private slot to export the keyboard shortcuts.
 </p>
+<a NAME="UserInterface.__exportTheme" ID="UserInterface.__exportTheme"></a>
+<h4>UserInterface.__exportTheme</h4>
+<b>__exportTheme</b>(<i></i>)
+
+<p>
+        Private slot to export the current theme to a file.
+</p>
 <a NAME="UserInterface.__getFloatingGeometry" ID="UserInterface.__getFloatingGeometry"></a>
 <h4>UserInterface.__getFloatingGeometry</h4>
 <b>__getFloatingGeometry</b>(<i>w</i>)
@@ -1778,6 +1793,13 @@
 <p>
         Private slot to import the keyboard shortcuts.
 </p>
+<a NAME="UserInterface.__importTheme" ID="UserInterface.__importTheme"></a>
+<h4>UserInterface.__importTheme</h4>
+<b>__importTheme</b>(<i></i>)
+
+<p>
+        Private slot to import a previously exported theme.
+</p>
 <a NAME="UserInterface.__initActions" ID="UserInterface.__initActions"></a>
 <h4>UserInterface.__initActions</h4>
 <b>__initActions</b>(<i></i>)
--- a/eric7/Documentation/Source/eric7.Utilities.__init__.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.Utilities.__init__.html	Sat Jan 01 14:34:29 2022 +0100
@@ -752,24 +752,25 @@
 </p>
 <dl>
 
-<dt><i>path</i></dt>
+<dt><i>path</i> (str)</dt>
 <dd>
 root of the tree to check
 </dd>
-<dt><i>filesonly</i></dt>
+<dt><i>filesonly</i> (bool)</dt>
 <dd>
 flag indicating that only files are wanted
 </dd>
-<dt><i>pattern</i></dt>
+<dt><i>pattern</i> (str or list of str)</dt>
 <dd>
-a filename pattern to check against
+a filename pattern or list of filename patterns to check
+        against
 </dd>
-<dt><i>followsymlinks</i></dt>
+<dt><i>followsymlinks</i> (bool)</dt>
 <dd>
 flag indicating whether symbolic links
-            should be followed
+        should be followed
 </dd>
-<dt><i>checkStop</i></dt>
+<dt><i>checkStop</i> (function)</dt>
 <dd>
 function to be called to check for a stop
 </dd>
@@ -781,6 +782,12 @@
         at path. The names are expanded to start with path.
 </dd>
 </dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+list of strs
+</dd>
+</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 <hr />
--- a/eric7/Documentation/Source/eric7.WebBrowser.UrlBar.UrlBar.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/eric7.WebBrowser.UrlBar.UrlBar.html	Sat Jan 01 14:34:29 2022 +0100
@@ -75,6 +75,10 @@
 <td>Private slot to set some data after the page was loaded.</td>
 </tr>
 <tr>
+<td><a href="#UrlBar.__loadProgress">__loadProgress</a></td>
+<td>Private slot to track the load progress.</td>
+</tr>
+<tr>
 <td><a href="#UrlBar.__loadStarted">__loadStarted</a></td>
 <td>Private slot to perform actions before the page is loaded.</td>
 </tr>
@@ -127,10 +131,6 @@
 <td>Protected method called by a mouse press event.</td>
 </tr>
 <tr>
-<td><a href="#UrlBar.paintEvent">paintEvent</a></td>
-<td>Protected method handling a paint event.</td>
-</tr>
-<tr>
 <td><a href="#UrlBar.preferencesChanged">preferencesChanged</a></td>
 <td>Public slot to handle a change of preferences.</td>
 </tr>
@@ -154,13 +154,13 @@
 </p>
 <dl>
 
-<dt><i>mainWindow</i></dt>
+<dt><i>mainWindow</i> (WebBrowserWindow)</dt>
 <dd>
-reference to the main window (WebBrowserWindow)
+reference to the main window
 </dd>
-<dt><i>parent</i></dt>
+<dt><i>parent</i> (WebBrowserView)</dt>
 <dd>
-reference to the parent widget (WebBrowserView)
+reference to the parent widget
 </dd>
 </dl>
 <a NAME="UrlBar.__bookmarkChanged" ID="UrlBar.__bookmarkChanged"></a>
@@ -179,9 +179,9 @@
 </p>
 <dl>
 
-<dt><i>url</i></dt>
+<dt><i>url</i> (QUrl)</dt>
 <dd>
-new URL of the browser (QUrl)
+new URL of the browser
 </dd>
 </dl>
 <a NAME="UrlBar.__checkBookmark" ID="UrlBar.__checkBookmark"></a>
@@ -200,9 +200,23 @@
 </p>
 <dl>
 
-<dt><i>ok</i></dt>
+<dt><i>ok</i> (bool)</dt>
 <dd>
-flag indicating a successful load (boolean)
+flag indicating a successful load
+</dd>
+</dl>
+<a NAME="UrlBar.__loadProgress" ID="UrlBar.__loadProgress"></a>
+<h4>UrlBar.__loadProgress</h4>
+<b>__loadProgress</b>(<i>progress</i>)
+
+<p>
+        Private slot to track the load progress.
+</p>
+<dl>
+
+<dt><i>progress</i> (int)</dt>
+<dd>
+load progress in percent
 </dd>
 </dl>
 <a NAME="UrlBar.__loadStarted" ID="UrlBar.__loadStarted"></a>
@@ -265,7 +279,13 @@
 <dl>
 <dt>Return:</dt>
 <dd>
-reference to the associated browser (HelpBrowser)
+reference to the associated browser
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+WebBrowserView
 </dd>
 </dl>
 <a NAME="UrlBar.dragEnterEvent" ID="UrlBar.dragEnterEvent"></a>
@@ -277,9 +297,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QDragEnterEvent)</dt>
 <dd>
-reference to the drag enter event (QDragEnterEvent)
+reference to the drag enter event
 </dd>
 </dl>
 <a NAME="UrlBar.dropEvent" ID="UrlBar.dropEvent"></a>
@@ -291,9 +311,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QDropEvent)</dt>
 <dd>
-reference to the drop event (QDropEvent)
+reference to the drop event
 </dd>
 </dl>
 <a NAME="UrlBar.focusOutEvent" ID="UrlBar.focusOutEvent"></a>
@@ -305,9 +325,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QFocusEvent)</dt>
 <dd>
-reference to the focus event (QFocusEvent)
+reference to the focus event
 </dd>
 </dl>
 <a NAME="UrlBar.keyPressEvent" ID="UrlBar.keyPressEvent"></a>
@@ -319,9 +339,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QKeyEvent)</dt>
 <dd>
-reference to the key press event (QKeyEvent)
+reference to the key press event
 </dd>
 </dl>
 <a NAME="UrlBar.mouseDoubleClickEvent" ID="UrlBar.mouseDoubleClickEvent"></a>
@@ -333,9 +353,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QMouseEvent)</dt>
 <dd>
-reference to the mouse event (QMouseEvent)
+reference to the mouse event
 </dd>
 </dl>
 <a NAME="UrlBar.mousePressEvent" ID="UrlBar.mousePressEvent"></a>
@@ -347,23 +367,9 @@
 </p>
 <dl>
 
-<dt><i>evt</i></dt>
+<dt><i>evt</i> (QMouseEvent)</dt>
 <dd>
-reference to the mouse event (QMouseEvent)
-</dd>
-</dl>
-<a NAME="UrlBar.paintEvent" ID="UrlBar.paintEvent"></a>
-<h4>UrlBar.paintEvent</h4>
-<b>paintEvent</b>(<i>evt</i>)
-
-<p>
-        Protected method handling a paint event.
-</p>
-<dl>
-
-<dt><i>evt</i></dt>
-<dd>
-reference to the paint event (QPaintEvent)
+reference to the mouse event
 </dd>
 </dl>
 <a NAME="UrlBar.preferencesChanged" ID="UrlBar.preferencesChanged"></a>
@@ -382,9 +388,9 @@
 </p>
 <dl>
 
-<dt><i>browser</i></dt>
+<dt><i>browser</i> (WebBrowserView)</dt>
 <dd>
-reference to the browser widget (WebBrowserView)
+reference to the browser widget
 </dd>
 </dl>
 <div align="right"><a href="#top">Up</a></div>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric7/Documentation/Source/index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.html	Sat Jan 01 14:34:29 2022 +0100
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<h1>eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports</h1>
+
+<p>
+Package implementing a checker for import statements.
+</p>
+
+
+<h3>Modules</h3>
+<table>
+
+<tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportNode.html">ImportNode</a></td>
+<td>Module implementing a class representing an import or import from node.</td>
+</tr>
+<tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsChecker.html">ImportsChecker</a></td>
+<td>Module implementing a checker for import statements.</td>
+</tr>
+<tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.ImportsEnums.html">ImportsEnums</a></td>
+<td>Module implementing some enums for the import order checker.</td>
+</tr>
+<tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.LocalImportVisitor.html">LocalImportVisitor</a></td>
+<td>Module implementing a node visitor for checking local import statements.</td>
+</tr>
+<tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.translations.html">translations</a></td>
+<td>Module implementing message translations for the code style plugin messages (import statements part).</td>
+</tr>
+</table>
+</body></html>
\ No newline at end of file
--- a/eric7/Documentation/Source/index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.html	Sat Jan 01 14:34:29 2022 +0100
@@ -27,6 +27,10 @@
 <td>Package implementing the code documentation checker.</td>
 </tr>
 <tr>
+<td><a href="index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Imports.html">Imports</a></td>
+<td>Package implementing a checker for import statements.</td>
+</tr>
+<tr>
 <td><a href="index-eric7.Plugins.CheckerPlugins.CodeStyleChecker.Miscellaneous.html">Miscellaneous</a></td>
 <td>Package implementing the checker for miscellaneous issues.</td>
 </tr>
@@ -68,6 +72,10 @@
 <td>Module implementing a dialog to show the results of the code style check.</td>
 </tr>
 <tr>
+<td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCheckerUtilities.html">CodeStyleCheckerUtilities</a></td>
+<td>Module implementing utility functions for the code style checker dialogs.</td>
+</tr>
+<tr>
 <td><a href="eric7.Plugins.CheckerPlugins.CodeStyleChecker.CodeStyleCodeSelectionDialog.html">CodeStyleCodeSelectionDialog</a></td>
 <td>Module implementing a dialog to select code style message codes.</td>
 </tr>
--- a/eric7/Documentation/Source/index-eric7.Preferences.ConfigurationPages.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/index-eric7.Preferences.ConfigurationPages.html	Sat Jan 01 14:34:29 2022 +0100
@@ -172,6 +172,10 @@
 <td>Module implementing a dialog to preview the contents of an icon directory.</td>
 </tr>
 <tr>
+<td><a href="eric7.Preferences.ConfigurationPages.InterfaceLightPage.html">InterfaceLightPage</a></td>
+<td>Module implementing the Interface configuration page (variant for web browser).</td>
+</tr>
+<tr>
 <td><a href="eric7.Preferences.ConfigurationPages.InterfacePage.html">InterfacePage</a></td>
 <td>Module implementing the Interface configuration page.</td>
 </tr>
@@ -272,10 +276,6 @@
 <td>Module implementing the Web Browser Appearance configuration page.</td>
 </tr>
 <tr>
-<td><a href="eric7.Preferences.ConfigurationPages.WebBrowserInterfacePage.html">WebBrowserInterfacePage</a></td>
-<td>Module implementing the Interface configuration page (variant for web browser).</td>
-</tr>
-<tr>
 <td><a href="eric7.Preferences.ConfigurationPages.WebBrowserPage.html">WebBrowserPage</a></td>
 <td>Module implementing the  Web Browser configuration page.</td>
 </tr>
--- a/eric7/Documentation/Source/index-eric7.Preferences.html	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Documentation/Source/index-eric7.Preferences.html	Sat Jan 01 14:34:29 2022 +0100
@@ -74,6 +74,10 @@
 <td>Module implementing the sub-style definition dialog.</td>
 </tr>
 <tr>
+<td><a href="eric7.Preferences.ThemeManager.html">ThemeManager</a></td>
+<td>Module implementing a manager object for color themes.</td>
+</tr>
+<tr>
 <td><a href="eric7.Preferences.ToolConfigurationDialog.html">ToolConfigurationDialog</a></td>
 <td>Module implementing a configuration dialog for the tools menu.</td>
 </tr>
--- a/eric7/DocumentationTools/APIGenerator.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/APIGenerator.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/Config.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/Config.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/IndexGenerator.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/IndexGenerator.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/ModuleDocumentor.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/ModuleDocumentor.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/QtHelpGenerator.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/QtHelpGenerator.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/TemplatesListsStyleCSS.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/TemplatesListsStyleCSS.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/DocumentationTools/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/DocumentationTools/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2003 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2003 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricCore/EricTreeSortFilterProxyModel.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricCore/EricTreeSortFilterProxyModel.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricCore/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricCore/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGraphics/EricArrowItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGraphics/EricArrowItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGraphics/EricGraphicsView.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGraphics/EricGraphicsView.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGraphics/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGraphics/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGui/EricAction.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGui/EricAction.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGui/EricGenericDiffHighlighter.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGui/EricGenericDiffHighlighter.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGui/EricOverrideCursor.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGui/EricOverrideCursor.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricGui/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricGui/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricFtp.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricFtp.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricGoogleMail.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricGoogleMail.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricGoogleMailHelpers.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricGoogleMailHelpers.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricJsonClient.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricJsonClient.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricJsonServer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricJsonServer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricNetworkIcon.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricNetworkIcon.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricNetworkProxyFactory.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricNetworkProxyFactory.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslCertificateSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslCertificateSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslCertificatesDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslCertificatesDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -14,9 +14,7 @@
 )
 from PyQt6.QtWidgets import QDialog, QTreeWidgetItem
 with contextlib.suppress(ImportError):
-    from PyQt6.QtNetwork import (
-        QSslCertificate, QSslSocket, QSslConfiguration, QSsl
-    )
+    from PyQt6.QtNetwork import QSslCertificate, QSslConfiguration, QSsl
 
 from EricWidgets import EricMessageBox, EricFileDialog
 
@@ -271,7 +269,7 @@
         caList = QSslCertificate.fromData(Globals.toByteArray(
             Preferences.getSettings().value("Help/SystemCertificates")))
         if not caList:
-            caList = QSslSocket.systemCaCertificates()
+            caList = QSslConfiguration.systemCaCertificates()
         return caList
     
     def __populateCaCertificatesTree(self):
--- a/eric7/EricNetwork/EricSslCertificatesInfoDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslCertificatesInfoDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslCertificatesInfoWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslCertificatesInfoWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslErrorHandler.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslErrorHandler.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslInfoWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslInfoWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricSslUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricSslUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricTldExtractor.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricTldExtractor.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/EricUrlInfo.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/EricUrlInfo.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricNetwork/data/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricNetwork/data/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricUtilities/EricCache.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricUtilities/EricCache.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricUtilities/EricMutexLocker.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricUtilities/EricMutexLocker.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricUtilities/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricUtilities/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricAnimatedLabel.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricAnimatedLabel.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricAnimatedWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricAnimatedWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricApplication.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricApplication.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,24 +1,46 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
 Class implementing a specialized application class.
 """
 
+import os
+
 from PyQt6.QtCore import Qt, QCoreApplication
-from PyQt6.QtGui import QPalette
+from PyQt6.QtGui import QColor, QPalette
 from PyQt6.QtWidgets import QApplication
 
 QCoreApplication.setAttribute(
     Qt.ApplicationAttribute.AA_ShareOpenGLContexts, True)
 
+from . import EricMessageBox
+
 
 class EricApplication(QApplication):
     """
     Eric application class with an object registry.
     """
+    PaletteRoleMapping = {
+        "alternate-base": QPalette.ColorRole.AlternateBase,
+        "base": QPalette.ColorRole.Base,
+        "text": QPalette.ColorRole.Text,
+        "bright-text": QPalette.ColorRole.BrightText,
+        "placeholder-text": QPalette.ColorRole.PlaceholderText,
+        "window": QPalette.ColorRole.Window,
+        " window-text": QPalette.ColorRole.WindowText,
+        "tooltip-base": QPalette.ColorRole.ToolTipBase,
+        "tooltip-text": QPalette.ColorRole.ToolTipText,
+        "button": QPalette.ColorRole.Button,
+        "button-text": QPalette.ColorRole.ButtonText,
+        "highlight": QPalette.ColorRole.Highlight,
+        "highlighted-text": QPalette.ColorRole.HighlightedText,
+        "link": QPalette.ColorRole.Link,
+        "link-visited": QPalette.ColorRole.LinkVisited,
+    }
+    
     def __init__(self, argv):
         """
         Constructor
@@ -158,6 +180,89 @@
         
         return self.__pluginObjectRegistry[name][1]
     
+    def getStyleIconsPath(self, universal=False):
+        """
+        Public method to get the path for the style icons.
+        
+        @param universal flag indicating a universal file path (defaults to
+            False)
+        @type bool (optional)
+        @return directory path containing the style icons
+        @rtype str
+        """
+        import Preferences
+        import Utilities
+        from eric7config import getConfig
+        
+        styleIconsPath = Preferences.getUI("StyleIconsPath")
+        if not styleIconsPath:
+            # default is the 'StyleIcons' sub-directory of the icons
+            # directory
+            styleIconsPath = os.path.join(
+                getConfig('ericIconDir'), "StyleIcons")
+        
+        if universal:
+            return Utilities.fromNativeSeparators(styleIconsPath)
+        else:
+            return styleIconsPath
+    
+    def setStyleSheetFile(self, filename):
+        """
+        Public method to read a QSS style sheet file and set the application
+        style sheet based on its contents.
+        
+        @param filename name of the QSS style sheet file
+        @type str
+        """
+        if filename:
+            try:
+                with open(filename, "r", encoding="utf-8") as f:
+                    styleSheet = f.read()
+            except OSError as msg:
+                EricMessageBox.warning(
+                    self,
+                    QCoreApplication.translate(
+                        "EricApplication", "Loading Style Sheet"),
+                    QCoreApplication.translate(
+                        "EricApplication",
+                        """<p>The Qt Style Sheet file <b>{0}</b> could"""
+                        """ not be read.<br>Reason: {1}</p>""")
+                    .format(filename, str(msg)))
+                return
+        else:
+            styleSheet = ""
+        
+        if styleSheet:
+            # pre-process the style sheet to replace the placeholder for the
+            # path to the icons
+            styleIconsPath = self.getStyleIconsPath(universal=True)
+            styleSheet = styleSheet.replace("${path}", styleIconsPath)
+        
+        if "QPalette {" in styleSheet:
+            self.__setPaletteFromStyleSheet(styleSheet)
+        
+        ericApp().setStyleSheet(styleSheet)
+    
+    def __setPaletteFromStyleSheet(self, styleSheet):
+        """
+        Private method to set the palette from a style sheet.
+        
+        @param styleSheet style sheet
+        @type str
+        """
+        palette = self.palette()
+        
+        paletteStr = styleSheet.split("QPalette {")[1].split("}")[0]
+        paletteLines = paletteStr.strip().splitlines()
+        for line in paletteLines:
+            role, value = line.strip().split()
+            role = role.strip("\t :").lower()
+            value = value.strip("\t ;")
+            if role in self.PaletteRoleMapping and value.startswith("#"):
+                palette.setColor(self.PaletteRoleMapping[role], QColor(value))
+        
+        self.setPalette(palette)
+    
     def usesDarkPalette(self):
         """
         Public method to check, if the application uses a palette with a dark
--- a/eric7/EricWidgets/EricClickableLabel.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricClickableLabel.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricComboSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricComboSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricCompleters.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricCompleters.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricDirFileDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricDirFileDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricErrorMessage.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricErrorMessage.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricErrorMessageFilterDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricErrorMessageFilterDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricFileDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricFileDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricFileSaveConfirmDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricFileSaveConfirmDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2018 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricIconBar.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricIconBar.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricLed.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricLed.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricLineEdit.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricLineEdit.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricLineEditButton.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricLineEditButton.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricListSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricListSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricListView.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricListView.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricMainWindow.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricMainWindow.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,17 +1,15 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
 Module implementing a main window class with styling support.
 """
 
-from PyQt6.QtCore import QCoreApplication
 from PyQt6.QtWidgets import QMainWindow, QStyleFactory, QApplication
 
 from .EricApplication import ericApp
-from . import EricMessageBox
 
 
 class EricMainWindow(QMainWindow):
@@ -22,7 +20,8 @@
         """
         Constructor
         
-        @param parent reference to the parent widget (QWidget)
+        @param parent reference to the parent widget
+        @type QWidget
         """
         super().__init__(parent)
         
@@ -32,9 +31,11 @@
         """
         Public method to set the style of the interface.
         
-        @param styleName name of the style to set (string)
+        @param styleName name of the style to set
+        @type str
         @param styleSheetFile name of a style sheet file to read to overwrite
-            defaults of the given style (string)
+            defaults of the given style
+        @type str
         """
         # step 1: set the style
         style = None
@@ -47,22 +48,4 @@
             QApplication.setStyle(style)
         
         # step 2: set a style sheet
-        if styleSheetFile:
-            try:
-                with open(styleSheetFile, "r", encoding="utf-8") as f:
-                    styleSheet = f.read()
-            except OSError as msg:
-                EricMessageBox.warning(
-                    self,
-                    QCoreApplication.translate(
-                        "EricMainWindow", "Loading Style Sheet"),
-                    QCoreApplication.translate(
-                        "EricMainWindow",
-                        """<p>The Qt Style Sheet file <b>{0}</b> could"""
-                        """ not be read.<br>Reason: {1}</p>""")
-                    .format(styleSheetFile, str(msg)))
-                return
-        else:
-            styleSheet = ""
-        
-        ericApp().setStyleSheet(styleSheet)
+        ericApp().setStyleSheetFile(styleSheetFile)
--- a/eric7/EricWidgets/EricMapWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricMapWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2014 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricMessageBox.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricMessageBox.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricModelMenu.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricModelMenu.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricModelToolBar.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricModelToolBar.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricPassivePopup.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricPassivePopup.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricPasswordMeter.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricPasswordMeter.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2011 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricPathPicker.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricPathPicker.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricPathPickerDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricPathPickerDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2018 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricPlainTextDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricPlainTextDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricProcessDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricProcessDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricProgressDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricProgressDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricSideBar.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricSideBar.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricSimpleHelpDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricSimpleHelpDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricSingleApplication.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricSingleApplication.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricSpellCheckedTextEdit.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricSpellCheckedTextEdit.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricSqueezeLabels.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricSqueezeLabels.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricStringListEditWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricStringListEditWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTabWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTabWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2005 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2005 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTableView.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTableView.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTextEditSearchWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTextEditSearchWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -10,7 +10,7 @@
 import enum
 
 from PyQt6.QtCore import pyqtSlot, pyqtSignal, Qt, QMetaObject, QSize
-from PyQt6.QtGui import QPalette, QBrush, QColor, QTextDocument, QTextCursor
+from PyQt6.QtGui import QPalette, QTextDocument, QTextCursor
 from PyQt6.QtWidgets import (
     QWidget, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QCheckBox,
     QToolButton, QSizePolicy
@@ -259,6 +259,8 @@
         """
         if self.__textedit:
             self.__textedit.setFocus(Qt.FocusReason.ActiveWindowFocusReason)
+            if self.__texteditType == EricTextEditType.QWEBENGINEVIEW:
+                self.__textedit.findText("")
         if self.closeButton is not None:
             self.hide()
             self.closePressed.emit()
@@ -458,16 +460,13 @@
         @param error flag indicating an error condition
         @type bool
         """
-        le = self.findtextCombo.lineEdit()
-        p = le.palette()
-        if error:
-            p.setBrush(QPalette.ColorRole.Base, QBrush(QColor("#FF6666")))
-            p.setBrush(QPalette.ColorRole.Text, QBrush(QColor("#000000")))
-        else:
-            p.setBrush(QPalette.ColorRole.Base, self.__defaultBaseColor)
-            p.setBrush(QPalette.ColorRole.Text, self.__defaultTextColor)
-        le.setPalette(p)
-        le.update()
+        styleSheet = (
+            "color: #000000; background-color: #ff6666"
+            if error else
+            f"color: {self.__defaultTextColor};"
+            f" background-color: {self.__defaultBaseColor}"
+        )
+        self.findtextCombo.setStyleSheet(styleSheet)
     
     def __findTextFinished(self, result):
         """
--- a/eric7/EricWidgets/EricTextInputDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTextInputDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2018 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2018 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTextSpinBox.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTextSpinBox.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricToolBarDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricToolBarDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricToolBarManager.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricToolBarManager.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricToolBox.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricToolBox.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricToolButton.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricToolButton.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTreeView.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTreeView.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricTreeWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricTreeWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/EricZoomWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/EricZoomWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2013 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2013 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricWidgets/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricWidgets/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/Config.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/Config.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/DebuggerPropertiesReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/DebuggerPropertiesReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/HighlightingStylesReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/HighlightingStylesReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 
--- a/eric7/EricXML/MultiProjectReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/MultiProjectReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/PluginRepositoryReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/PluginRepositoryReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/ProjectReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/ProjectReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/SessionReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/SessionReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/ShortcutsReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/ShortcutsReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/SpellCheckDictionariesReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/SpellCheckDictionariesReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/TasksReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/TasksReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/TemplatesReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/TemplatesReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/UserProjectReader.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/UserProjectReader.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/XMLStreamReaderBase.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/XMLStreamReaderBase.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2010 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/EricXML/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/EricXML/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Globals/AppInfo.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Globals/AppInfo.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Globals/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Globals/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2006 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/ApplicationDiagramBuilder.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/ApplicationDiagramBuilder.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/AssociationItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/AssociationItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/ClassItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/ClassItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -161,14 +161,14 @@
         attrs = self.model.getInstanceAttributes()
         meths = self.model.getMethods()
         
-        x = self.margin + self.rect().x()
-        y = self.margin + self.rect().y()
+        x = self.margin + int(self.rect().x())
+        y = self.margin + int(self.rect().y())
         self.header = QGraphicsSimpleTextItem(self)
         self.header.setBrush(self._colors[0])
         self.header.setFont(boldFont)
         self.header.setText(self.model.getName())
         self.header.setPos(x, y)
-        y += self.header.boundingRect().height() + self.margin
+        y += int(self.header.boundingRect().height()) + self.margin
         
         if self.external:
             self.classAttributes = None
@@ -185,7 +185,8 @@
             self.classAttributes.setFont(self.font)
             self.classAttributes.setText(txt)
             self.classAttributes.setPos(x, y)
-            y += self.classAttributes.boundingRect().height() + self.margin
+            y += (int(self.classAttributes.boundingRect().height()) +
+                  self.margin)
         
         if not self.noAttrs and not self.external:
             txt = QCoreApplication.translate(
@@ -200,7 +201,7 @@
             self.attrs.setFont(self.font)
             self.attrs.setText(txt)
             self.attrs.setPos(x, y)
-            y += self.attrs.boundingRect().height() + self.margin
+            y += int(self.attrs.boundingRect().height()) + self.margin
         else:
             self.attrs = None
         
@@ -226,19 +227,24 @@
         if self.model is None:
             return
         
-        width = self.header.boundingRect().width()
-        height = self.header.boundingRect().height()
+        width = int(self.header.boundingRect().width())
+        height = int(self.header.boundingRect().height())
         if self.classAttributes:
-            width = max(width, self.classAttributes.boundingRect().width())
+            width = max(width,
+                        int(self.classAttributes.boundingRect().width()))
             height += (
-                self.classAttributes.boundingRect().height() + self.margin
+                int(self.classAttributes.boundingRect().height()) + self.margin
             )
         if self.attrs:
-            width = max(width, self.attrs.boundingRect().width())
-            height = height + self.attrs.boundingRect().height() + self.margin
+            width = max(width,
+                        int(self.attrs.boundingRect().width()))
+            height = (
+                height + int(self.attrs.boundingRect().height()) + self.margin
+            )
         if self.meths:
-            width = max(width, self.meths.boundingRect().width())
-            height += self.meths.boundingRect().height()
+            width = max(width,
+                        int(self.meths.boundingRect().width()))
+            height += int(self.meths.boundingRect().height())
         
         self.setSize(width + 2 * self.margin, height + 2 * self.margin)
         
@@ -288,20 +294,23 @@
         painter.setBrush(self.brush())
         painter.setFont(self.font)
         
-        offsetX = self.rect().x()
-        offsetY = self.rect().y()
-        w = self.rect().width()
-        h = self.rect().height()
+        offsetX = int(self.rect().x())
+        offsetY = int(self.rect().y())
+        w = int(self.rect().width())
+        h = int(self.rect().height())
         
         painter.drawRect(offsetX, offsetY, w, h)
-        y = self.margin + self.header.boundingRect().height()
+        y = self.margin + int(self.header.boundingRect().height())
         painter.drawLine(offsetX, offsetY + y, offsetX + w - 1, offsetY + y)
         if self.classAttributes:
-            y += self.margin + self.classAttributes.boundingRect().height()
+            y += (
+                self.margin +
+                int(self.classAttributes.boundingRect().height())
+            )
             painter.drawLine(offsetX, offsetY + y,
                              offsetX + w - 1, offsetY + y)
         if self.attrs:
-            y += self.margin + self.attrs.boundingRect().height()
+            y += self.margin + int(self.attrs.boundingRect().height())
             painter.drawLine(offsetX, offsetY + y,
                              offsetX + w - 1, offsetY + y)
         
--- a/eric7/Graphics/GraphicsUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/GraphicsUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/ImportsDiagramBuilder.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/ImportsDiagramBuilder.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/ModuleItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/ModuleItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -96,14 +96,14 @@
         
         classes = self.model.getClasses()
         
-        x = self.margin + self.rect().x()
-        y = self.margin + self.rect().y()
+        x = self.margin + int(self.rect().x())
+        y = self.margin + int(self.rect().y())
         self.header = QGraphicsSimpleTextItem(self)
         self.header.setBrush(self._colors[0])
         self.header.setFont(boldFont)
         self.header.setText(self.model.getName())
         self.header.setPos(x, y)
-        y += self.header.boundingRect().height() + self.margin
+        y += int(self.header.boundingRect().height()) + self.margin
         txt = "\n".join(classes) if classes else " "
         self.classes = QGraphicsSimpleTextItem(self)
         self.classes.setBrush(self._colors[0])
@@ -118,11 +118,11 @@
         if self.model is None:
             return
         
-        width = self.header.boundingRect().width()
-        height = self.header.boundingRect().height()
+        width = int(self.header.boundingRect().width())
+        height = int(self.header.boundingRect().height())
         if self.classes:
-            width = max(width, self.classes.boundingRect().width())
-            height += self.classes.boundingRect().height()
+            width = max(width, int(self.classes.boundingRect().width()))
+            height += int(self.classes.boundingRect().height())
         self.setSize(width + 2 * self.margin, height + 2 * self.margin)
     
     def setModel(self, model):
@@ -165,13 +165,13 @@
         painter.setBrush(self.brush())
         painter.setFont(self.font)
         
-        offsetX = self.rect().x()
-        offsetY = self.rect().y()
-        w = self.rect().width()
-        h = self.rect().height()
+        offsetX = int(self.rect().x())
+        offsetY = int(self.rect().y())
+        w = int(self.rect().width())
+        h = int(self.rect().height())
         
         painter.drawRect(offsetX, offsetY, w, h)
-        y = self.margin + self.header.boundingRect().height()
+        y = self.margin + int(self.header.boundingRect().height())
         painter.drawLine(offsetX, offsetY + y, offsetX + w - 1, offsetY + y)
         
         self.adjustAssociations()
--- a/eric7/Graphics/PackageDiagramBuilder.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/PackageDiagramBuilder.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/PackageItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/PackageItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -102,14 +102,14 @@
         
         modules = self.model.getModules()
         
-        x = self.margin + self.rect().x()
-        y = self.margin + self.rect().y()
+        x = self.margin + int(self.rect().x())
+        y = self.margin + int(self.rect().y())
         self.header = QGraphicsSimpleTextItem(self)
         self.header.setBrush(self._colors[0])
         self.header.setFont(boldFont)
         self.header.setText(self.model.getName())
         self.header.setPos(x, y)
-        y += self.header.boundingRect().height() + self.margin
+        y += int(self.header.boundingRect().height()) + self.margin
         
         if not self.noModules:
             if modules:
@@ -131,20 +131,21 @@
         if self.model is None:
             return
         
-        width = self.header.boundingRect().width()
-        height = self.header.boundingRect().height()
+        width = int(self.header.boundingRect().width())
+        height = int(self.header.boundingRect().height())
         if self.modules:
-            width = max(width, self.modules.boundingRect().width())
-            height += self.modules.boundingRect().height()
+            width = max(width,
+                        int(self.modules.boundingRect().width()))
+            height += int(self.modules.boundingRect().height())
         latchW = width / 3.0
         latchH = min(15.0, latchW)
         self.setSize(width + 2 * self.margin,
                      height + latchH + 2 * self.margin)
         
-        x = self.margin + self.rect().x()
-        y = self.margin + self.rect().y() + latchH
+        x = self.margin + int(self.rect().x())
+        y = self.margin + int(self.rect().y()) + latchH
         self.header.setPos(x, y)
-        y += self.header.boundingRect().height() + self.margin
+        y += int(self.header.boundingRect().height()) + self.margin
         if self.modules:
             self.modules.setPos(x, y)
        
@@ -184,20 +185,20 @@
         else:
             pen.setWidth(1)
         
-        offsetX = self.rect().x()
-        offsetY = self.rect().y()
-        w = self.rect().width()
+        offsetX = int(self.rect().x())
+        offsetY = int(self.rect().y())
+        w = int(self.rect().width())
         latchW = w / 3.0
         latchH = min(15.0, latchW)
-        h = self.rect().height() - latchH + 1
+        h = int(self.rect().height() - latchH + 1)
         
         painter.setPen(pen)
         painter.setBrush(self.brush())
         painter.setFont(self.font)
         
-        painter.drawRect(offsetX, offsetY, latchW, latchH)
-        painter.drawRect(offsetX, offsetY + latchH, w, h)
-        y = self.margin + self.header.boundingRect().height() + latchH
+        painter.drawRect(offsetX, offsetY, int(latchW), int(latchH))
+        painter.drawRect(offsetX, offsetY + int(latchH), w, h)
+        y = int(self.margin + self.header.boundingRect().height() + latchH)
         painter.drawLine(offsetX, offsetY + y, offsetX + w - 1, offsetY + y)
         
         self.adjustAssociations()
--- a/eric7/Graphics/PixmapDiagram.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/PixmapDiagram.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/SvgDiagram.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/SvgDiagram.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLClassDiagramBuilder.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLClassDiagramBuilder.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLDiagramBuilder.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLDiagramBuilder.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLGraphicsView.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLGraphicsView.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLItem.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLItem.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/UMLSceneSizeDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/UMLSceneSizeDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Graphics/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Graphics/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HelpViewer/HelpViewerImpl.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/HelpViewerImpl.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HelpViewer/HelpViewerImplQTB.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/HelpViewerImplQTB.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HelpViewer/HelpViewerImplQWE.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/HelpViewerImplQWE.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HelpViewer/HelpViewerWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/HelpViewerWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -39,6 +39,7 @@
 from WebBrowser.QtHelp.HelpSearchWidget import HelpSearchWidget
 
 
+# TODO: add support for bookmarks
 class HelpViewerWidget(QWidget):
     """
     Class implementing an embedded viewer for QtHelp and local HTML files.
--- a/eric7/HelpViewer/OpenPagesWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/OpenPagesWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HelpViewer/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HelpViewer/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HexEdit/HexEditChunks.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditChunks.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HexEdit/HexEditGotoWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditGotoWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HexEdit/HexEditMainWindow.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditMainWindow.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -1364,15 +1364,6 @@
             Preferences.getHexEditor("ShowAsciiArea"))
         self.__editor.setHighlighting(
             Preferences.getHexEditor("HighlightChanges"))
-        self.__editor.setHighlightColors(
-            Preferences.getHexEditor("HighlightingForeGround"),
-            Preferences.getHexEditor("HighlightingBackGround"))
-        self.__editor.setSelectionColors(
-            Preferences.getHexEditor("SelectionForeGround"),
-            Preferences.getHexEditor("SelectionBackGround"))
-        self.__editor.setAddressAreaColors(
-            Preferences.getHexEditor("AddressAreaForeGround"),
-            Preferences.getHexEditor("AddressAreaBackGround"))
         self.__editor.setFont(
             Preferences.getHexEditor("Font"))
         
--- a/eric7/HexEdit/HexEditSearchReplaceWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditSearchReplaceWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HexEdit/HexEditUndoStack.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditUndoStack.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/HexEdit/HexEditWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/HexEditWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -12,11 +12,11 @@
 from PyQt6.QtCore import (
     pyqtSignal, pyqtSlot, Qt, QByteArray, QTimer, QRect, QBuffer, QIODevice
 )
-from PyQt6.QtGui import (
-    QBrush, QPen, QColor, QFont, QPalette, QKeySequence, QPainter
-)
+from PyQt6.QtGui import QFont, QPalette, QKeySequence, QPainter
 from PyQt6.QtWidgets import QAbstractScrollArea, QApplication
 
+from EricWidgets.EricApplication import ericApp
+
 from .HexEditChunks import HexEditChunks
 from .HexEditUndoStack import HexEditUndoStack
 
@@ -65,9 +65,6 @@
         # Properties
         self.__addressArea = True
         # switch the address area on/off
-        self.__addressAreaBrush = QBrush()
-        self.__addressAreaPen = QPen()
-        # background and pen of the address area
         self.__addressOffset = 0
         # offset into the shown address range
         self.__addressWidth = 4
@@ -78,14 +75,8 @@
         # contents of the hex editor
         self.__highlighting = True
         # switch the highlighting feature on/off
-        self.__highlightingBrush = QBrush()
-        self.__highlightingPen = QPen()
-        # background and pen of highlighted text
         self.__overwriteMode = True
         # set overwrite mode on/off
-        self.__selectionBrush = QBrush()
-        self.__selectionPen = QPen()
-        # background and pen of selected text
         self.__readOnly = False
         # set read only mode on/off
         self.__cursorPosition = 0
@@ -133,16 +124,6 @@
         else:
             self.setFont(QFont(["Monospace"], 10))
         
-        self.setAddressAreaColors(
-            self.palette().color(QPalette.ColorRole.WindowText),
-            self.palette().alternateBase().color())
-        self.setHighlightColors(
-            self.palette().color(QPalette.ColorRole.WindowText),
-            QColor(0xff, 0xff, 0x99, 0xff))
-        self.setSelectionColors(
-            self.palette().highlightedText().color(),
-            self.palette().highlight().color())
-        
         self.__cursorTimer = QTimer()
         self.__cursorTimer.timeout.connect(self.__updateCursor)
         
@@ -213,28 +194,6 @@
         self.setCursorPosition(self.__cursorPosition)
         self.viewport().update()
     
-    def addressAreaColors(self):
-        """
-        Public method to get the address area colors.
-        
-        @return address area foreground and background colors
-        @rtype tuple of 2 QColor
-        """
-        return self.__addressAreaPen.color(), self.__addressAreaBrush.color()
-    
-    def setAddressAreaColors(self, foreground, background):
-        """
-        Public method to set the address area colors.
-        
-        @param foreground address area foreground color
-        @type QColor
-        @param background address area background color
-        @type QColor
-        """
-        self.__addressAreaPen = QPen(foreground)
-        self.__addressAreaBrush = QBrush(background)
-        self.viewport().update()
-    
     def addressOffset(self):
         """
         Public method to get the address offset.
@@ -505,28 +464,6 @@
         self.__highlighting = on
         self.viewport().update()
     
-    def highlightColors(self):
-        """
-        Public method to get the highlight colors.
-        
-        @return highlight foreground and background colors
-        @rtype tuple of 2 QColor
-        """
-        return self.__highlightingPen.color(), self.__highlightingBrush.color()
-    
-    def setHighlightColors(self, foreground, background):
-        """
-        Public method to set the highlight colors.
-        
-        @param foreground highlight foreground color
-        @type QColor
-        @param background highlight background color
-        @type QColor
-        """
-        self.__highlightingPen = QPen(foreground)
-        self.__highlightingBrush = QBrush(background)
-        self.viewport().update()
-    
     def overwriteMode(self):
         """
         Public method to get the overwrite mode.
@@ -555,28 +492,6 @@
         self.__blink = True
         self.viewport().update(self.__cursorRect)
     
-    def selectionColors(self):
-        """
-        Public method to get the selection colors.
-        
-        @return selection foreground and background colors
-        @rtype tuple of 2 QColor
-        """
-        return self.__selectionPen.color(), self.__selectionBrush.color()
-    
-    def setSelectionColors(self, foreground, background):
-        """
-        Public method to set the selection colors.
-        
-        @param foreground selection foreground color
-        @type QColor
-        @param background selection background color
-        @type QColor
-        """
-        self.__selectionPen = QPen(foreground)
-        self.__selectionBrush = QBrush(background)
-        self.viewport().update()
-    
     def isReadOnly(self):
         """
         Public method to test the read only state.
@@ -1357,6 +1272,34 @@
         """
         painter = QPainter(self.viewport())
         
+        # initialize colors
+        if ericApp().usesDarkPalette():
+            addressAreaForeground = self.palette().color(
+                QPalette.ColorRole.Text)
+            addressAreaBackground = self.palette().color(
+                QPalette.ColorRole.Base).lighter(200)
+            highlightingForeground = self.palette().color(
+                QPalette.ColorRole.HighlightedText).darker(200)
+            highlightingBackground = self.palette().color(
+                QPalette.ColorRole.Highlight).lighter()
+        else:
+            addressAreaForeground = self.palette().color(
+                QPalette.ColorRole.Text)
+            addressAreaBackground = self.palette().color(
+                QPalette.ColorRole.Base).darker()
+            highlightingForeground = self.palette().color(
+                QPalette.ColorRole.HighlightedText).lighter()
+            highlightingBackground = self.palette().color(
+                QPalette.ColorRole.Highlight).darker()
+        selectionForeground = self.palette().color(
+            QPalette.ColorRole.HighlightedText)
+        selectionBackground = self.palette().color(
+            QPalette.ColorRole.Highlight)
+        standardBackground = self.viewport().palette().color(
+            QPalette.ColorRole.Base)
+        standardForeground = self.viewport().palette().color(
+            QPalette.ColorRole.Text)
+        
         if (
             evt.rect() != self.__cursorRect and
             evt.rect() != self.__cursorRectAscii
@@ -1365,27 +1308,22 @@
             pxPosStartY = self.__pxCharHeight
             
             # draw some patterns if needed
-            painter.fillRect(
-                evt.rect(),
-                self.viewport().palette().color(QPalette.ColorRole.Base))
+            painter.fillRect(evt.rect(), standardBackground)
             if self.__addressArea:
                 painter.fillRect(
                     QRect(-pxOfsX, evt.rect().top(),
                           self.__pxPosHexX - self.__pxGapAdrHex // 2 - pxOfsX,
                           self.height()),
-                    self.__addressAreaBrush)
+                    addressAreaBackground)
             if self.__asciiArea:
                 linePos = self.__pxPosAsciiX - (self.__pxGapHexAscii // 2)
                 painter.setPen(Qt.GlobalColor.gray)
                 painter.drawLine(linePos - pxOfsX, evt.rect().top(),
                                  linePos - pxOfsX, self.height())
             
-            painter.setPen(
-                self.viewport().palette().color(QPalette.ColorRole.WindowText))
-            
             # paint the address area
             if self.__addressArea:
-                painter.setPen(self.__addressAreaPen)
+                painter.setPen(addressAreaForeground)
                 address = ""
                 row = 0
                 pxPosY = self.__pxCharHeight
@@ -1401,9 +1339,6 @@
                     pxPosY += self.__pxCharHeight
             
             # paint hex and ascii area
-            colStandard = QPen(
-                self.viewport().palette().color(QPalette.ColorRole.WindowText))
-            
             painter.setBackgroundMode(Qt.BGMode.TransparentMode)
             
             row = 0
@@ -1418,42 +1353,41 @@
                     bPosLine + colIdx < len(self.__dataShown) and
                     colIdx < self.BYTES_PER_LINE
                 ):
-                    c = self.viewport().palette().color(
-                        QPalette.ColorRole.Base)
-                    painter.setPen(colStandard)
+                    background = standardBackground
+                    painter.setPen(standardForeground)
                     
                     posBa = self.__bPosFirst + bPosLine + colIdx
                     if (
                         self.getSelectionBegin() <= posBa and
                         self.getSelectionEnd() > posBa
                     ):
-                        c = self.__selectionBrush.color()
-                        painter.setPen(self.__selectionPen)
+                        background = selectionBackground
+                        painter.setPen(selectionForeground)
                     elif (
                         self.__highlighting and
                         self.__markedShown and
                         self.__markedShown[posBa - self.__bPosFirst]
                     ):
-                        c = self.__highlightingBrush.color()
-                        painter.setPen(self.__highlightingPen)
+                        background = highlightingBackground
+                        painter.setPen(highlightingForeground)
                     
                     # render hex value
-                    r = QRect()
+                    rect = QRect()
                     if colIdx == 0:
-                        r.setRect(
+                        rect.setRect(
                             pxPosX,
                             pxPosY - self.__pxCharHeight +
                             self.__pxSelectionSub,
                             2 * self.__pxCharWidth,
                             self.__pxCharHeight)
                     else:
-                        r.setRect(
+                        rect.setRect(
                             pxPosX - self.__pxCharWidth,
                             pxPosY - self.__pxCharHeight +
                             self.__pxSelectionSub,
                             3 * self.__pxCharWidth,
                             self.__pxCharHeight)
-                    painter.fillRect(r, c)
+                    painter.fillRect(rect, background)
                     hexStr = (
                         chr(self.__hexDataShown[(bPosLine + colIdx) * 2]) +
                         chr(self.__hexDataShown[(bPosLine + colIdx) * 2 + 1])
@@ -1468,13 +1402,13 @@
                             ch = "."
                         else:
                             ch = chr(by)
-                        r.setRect(
+                        rect.setRect(
                             pxPosAsciiX2,
                             pxPosY - self.__pxCharHeight +
                             self.__pxSelectionSub,
                             self.__pxCharWidth,
                             self.__pxCharHeight)
-                        painter.fillRect(r, c)
+                        painter.fillRect(rect, background)
                         painter.drawText(pxPosAsciiX2, pxPosY, ch)
                         pxPosAsciiX2 += self.__pxCharWidth
                     
@@ -1486,14 +1420,11 @@
                 pxPosY += self.__pxCharHeight
         
         painter.setBackgroundMode(Qt.BGMode.TransparentMode)
-        painter.setPen(
-            self.viewport().palette().color(QPalette.ColorRole.WindowText))
-            
+        painter.setPen(standardForeground)
+        
         # paint cursor
         if self.__blink and not self.__readOnly and self.isActiveWindow():
-            painter.fillRect(
-                self.__cursorRect,
-                self.palette().color(QPalette.ColorRole.WindowText))
+            painter.fillRect(self.__cursorRect, standardForeground)
         else:
             if self.__hexDataShown:
                 try:
--- a/eric7/HexEdit/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/HexEdit/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2016 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2016 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/IconEditor/IconEditorGrid.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/IconEditorGrid.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -18,6 +18,7 @@
 from PyQt6.QtWidgets import QWidget, QSizePolicy, QApplication, QDialog
 
 from EricWidgets import EricMessageBox
+from EricWidgets.EricApplication import ericApp
 
 
 class IconEditCommand(QUndoCommand):
@@ -429,7 +430,10 @@
         painter = QPainter(self)
         
         if self.__zoom >= 3 and self.__gridEnabled:
-            painter.setPen(self.palette().windowText().color())
+            if ericApp().usesDarkPalette():
+                painter.setPen(self.palette().window().color())
+            else:
+                painter.setPen(self.palette().windowText().color())
             i = 0
             while i <= self.__image.width():
                 painter.drawLine(
--- a/eric7/IconEditor/IconEditorPalette.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/IconEditorPalette.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/IconEditor/IconEditorWindow.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/IconEditorWindow.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2002 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2002 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/IconEditor/IconSizeDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/IconSizeDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/IconEditor/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/IconEditor/cursors/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/IconEditor/cursors/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2009 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2009 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/JediInterface/AssistantJedi.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/JediInterface/AssistantJedi.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/JediInterface/JediClient.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/JediInterface/JediClient.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/JediInterface/JediServer.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/JediInterface/JediServer.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/JediInterface/RefactoringPreviewDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/JediInterface/RefactoringPreviewDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/JediInterface/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/JediInterface/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/AddEditDevicesDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/AddEditDevicesDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/CircuitPythonDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/CircuitPythonDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/ConnectionSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/ConnectionSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/EspBackupRestoreFirmwareDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/EspDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/EspDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/EspFirmwareSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/EspFirmwareSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/GenericMicroPythonDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/GenericMicroPythonDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/IgnoredDevicesDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/IgnoredDevicesDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonCommandsInterface.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonCommandsInterface.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonFileManager.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonFileManager.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonFileManagerWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonFileManagerWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonFileSystemUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonFileSystemUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonGraphWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonGraphWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonProgressInfoDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonProgressInfoDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonSerialPort.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonSerialPort.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/MicroPythonWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicroPythonWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -524,13 +524,11 @@
         @type QPoint
         """
         if Globals.isMacPlatform():
-            copyKeys = QKeySequence(Qt.Modifier.CTRL + Qt.Key.Key_C)
-            pasteKeys = QKeySequence(Qt.Modifier.CTRL + Qt.Key.Key_V)
+            copyKeys = QKeySequence("Ctrl+C")
+            pasteKeys = QKeySequence("Ctrl+V")
         else:
-            copyKeys = QKeySequence(
-                Qt.Modifier.CTRL + Qt.Modifier.SHIFT + Qt.Key.Key_C)
-            pasteKeys = QKeySequence(
-                Qt.Modifier.CTRL + Qt.Modifier.SHIFT + Qt.Key.Key_V)
+            copyKeys = QKeySequence("Ctrl+Shift+C")
+            pasteKeys = QKeySequence("Ctrl+Shift+V")
         menu = QMenu(self)
         menu.addAction(self.tr("Clear"), self.__clear)
         menu.addSeparator()
--- a/eric7/MicroPython/MicrobitDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/MicrobitDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/PyBoardDevices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/PyBoardDevices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/RP2040Devices.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/RP2040Devices.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/UF2FlashDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/UF2FlashDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -15,6 +15,7 @@
 from PyQt6.QtWidgets import QDialog
 
 from EricWidgets.EricPathPicker import EricPathPickerModes
+from EricWidgets.EricApplication import ericApp
 
 from .Ui_UF2FlashDialog import Ui_UF2FlashDialog
 
@@ -571,7 +572,9 @@
         self.bootPicker.setEnabled(False)
         
         self.__mandatoryStyleSheet = (
-            "QLineEdit {border: 2px solid;border-color: #800000}"
+            "QLineEdit {border: 2px solid; border-color: #dd8888}"
+            if ericApp().usesDarkPalette() else
+            "QLineEdit {border: 2px solid; border-color: #800000}"
         )
         self.__manualType = "<manual>"
         
--- a/eric7/MicroPython/UnknownDevicesDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/UnknownDevicesDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MicroPython/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MicroPython/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/AddProjectDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/AddProjectDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/MultiProject.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/MultiProject.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/MultiProjectBrowser.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/MultiProjectBrowser.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/MultiProjectFile.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/MultiProjectFile.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/PropertiesDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/PropertiesDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/MultiProject/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/MultiProject/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2008 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2008 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcChannelEditDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcChannelEditDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcChannelWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcChannelWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcIdentitiesEditDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcIdentitiesEditDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcMessageEdit.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcMessageEdit.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcNetworkEditDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcNetworkEditDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcNetworkListDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcNetworkListDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcNetworkManager.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcNetworkManager.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcNetworkWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcNetworkWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcServerEditDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcServerEditDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/IrcWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/IrcWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/IRC/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/IRC/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Network/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Network/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2012 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2012 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/Pip.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/Pip.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/PipDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/PipFileSelectionDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipFileSelectionDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 
--- a/eric7/PipInterface/PipFreezeDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipFreezeDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/PipPackageDetailsDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipPackageDetailsDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/PipPackagesInputDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipPackagesInputDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/PipPackagesWidget.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/PipPackagesWidget.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PipInterface/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PipInterface/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2015 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2015 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginDetailsDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginDetailsDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginExceptions.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginExceptions.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginInfoDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginInfoDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginInstallDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginInstallDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginManager.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginManager.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginRepositoryDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginRepositoryDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/PluginUninstallDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/PluginUninstallDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/PluginManager/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/PluginManager/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/AboutPlugin/AboutDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/AboutPlugin/AboutDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2004 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2004 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/AboutPlugin/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/AboutPlugin/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2007 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2007 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsChecker.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsCheckerDefaults.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsCheckerDefaults.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsEnums.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsEnums.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFunctionVisitor.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFunctionVisitor.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFutureVisitor.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/AnnotationsFutureVisitor.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2021 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/__init__.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/__init__.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Annotations/translations.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2020 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2020 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/AstUtilities.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/AstUtilities.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2019 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2019 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleAddBuiltinIgnoreDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2017 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2017 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleChecker.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2011 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -14,18 +14,19 @@
 import contextlib
 
 import pycodestyle
+
+from Complexity.ComplexityChecker import ComplexityChecker
+from DocStyle.DocStyleChecker import DocStyleChecker
+from Imports.ImportsChecker import ImportsChecker
+from Miscellaneous.MiscellaneousChecker import MiscellaneousChecker
 from Naming.NamingStyleChecker import NamingStyleChecker
+from PathLib.PathlibChecker import PathlibChecker
+from Security.SecurityChecker import SecurityChecker
+from Simplify.SimplifyChecker import SimplifyChecker
 
 # register the name checker
 pycodestyle.register_check(NamingStyleChecker, NamingStyleChecker.Codes)
 
-from DocStyle.DocStyleChecker import DocStyleChecker
-from Miscellaneous.MiscellaneousChecker import MiscellaneousChecker
-from Complexity.ComplexityChecker import ComplexityChecker
-from Security.SecurityChecker import SecurityChecker
-from PathLib.PathlibChecker import PathlibChecker
-from Simplify.SimplifyChecker import SimplifyChecker
-
 
 def initService():
     """
@@ -176,10 +177,11 @@
     @param args arguments used by the codeStyleCheck function (list of
         excludeMessages, includeMessages, repeatMessages, fixCodes,
         noFixCodes, fixIssues, maxLineLength, maxDocLineLength, blankLines,
-        hangClosing, docType, codeComplexityArgs, miscellaneousArgs, errors,
-        eol, encoding, backup)
+        hangClosing, docType, codeComplexityArgs, miscellaneousArgs,
+        annotationArgs, securityArgs, importsArgs, errors, eol, encoding,
+        backup)
     @type list of (str, str, bool, str, str, bool, int, list of (int, int),
-        bool, str, dict, dict, list of str, str, str, bool)
+        bool, str, dict, dict, dict, dict, list of str, str, str, bool)
     @return tuple of statistics (dict) and list of results (tuple for each
         found violation of style (lineno, position, text, ignored, fixed,
         autofixing, fixedMsg))
@@ -337,9 +339,10 @@
         excludeMessages, includeMessages, repeatMessages, fixCodes,
         noFixCodes, fixIssues, maxLineLength, maxDocLineLength, blankLines,
         hangClosing, docType, codeComplexityArgs, miscellaneousArgs,
-        annotationArgs, securityArgs, errors, eol, encoding, backup)
+        annotationArgs, securityArgs, importsArgs, errors, eol, encoding,
+        backup)
     @type list of (str, str, bool, str, str, bool, int, list of (int, int),
-        bool, str, dict, dict, dict, list of str, str, str, bool)
+        bool, str, dict, dict, dict, dict, list of str, str, str, bool)
     @return tuple of statistics data and list of result dictionaries with
         keys:
         <ul>
@@ -359,7 +362,7 @@
     (excludeMessages, includeMessages, repeatMessages, fixCodes, noFixCodes,
      fixIssues, maxLineLength, maxDocLineLength, blankLines, hangClosing,
      docType, codeComplexityArgs, miscellaneousArgs, annotationArgs,
-     securityArgs, errors, eol, encoding, backup) = args
+     securityArgs, importsArgs, errors, eol, encoding, backup) = args
     
     stats = {}
 
@@ -464,6 +467,14 @@
             simplifyChecker.run()
             stats.update(simplifyChecker.counters)
             errors += simplifyChecker.errors
+            
+            # check import statements
+            importsChecker = ImportsChecker(
+                source, filename, tree, select, ignore, [], repeatMessages,
+                importsArgs)
+            importsChecker.run()
+            stats.update(importsChecker.counters)
+            errors += importsChecker.errors
         
         elif syntaxError:
             errors = [syntaxError]
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.py	Sat Jan 01 14:34:29 2022 +0100
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2011 - 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+# Copyright (c) 2011 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
 #
 
 """
@@ -29,6 +29,7 @@
 import Utilities
 
 from . import pycodestyle
+from . import CodeStyleCheckerUtilities
 
 from .Miscellaneous.MiscellaneousDefaults import (
     MiscellaneousCheckerDefaultArgs
@@ -76,6 +77,9 @@
         "E": QCoreApplication.translate(
             "CheckerCategories",
             "Errors"),
+        "I": QCoreApplication.translate(
+            "CheckerCategories",
+            "Imports"),
         "M": QCoreApplication.translate(
             "CheckerCategories",
             "Miscellaneous"),
@@ -300,30 +304,10 @@
                 result["display"]
             ]
         )
-        if msgCode.startswith(("W", "-", "C", "M")):
-            itm.setIcon(1, UI.PixmapCache.getIcon("warning"))
-        elif msgCode.startswith(("A", "N")):
-            itm.setIcon(1, UI.PixmapCache.getIcon("namingError"))
-        elif msgCode.startswith("D"):
-            itm.setIcon(1, UI.PixmapCache.getIcon("docstringError"))
-        elif msgCode.startswith("P"):
-            itm.setIcon(1, UI.PixmapCache.getIcon("dirClosed"))
-        elif msgCode.startswith("Y"):
-            itm.setIcon(1, UI.PixmapCache.getIcon("filePython"))
-        elif msgCode.startswith("S"):
-            if "severity" in result:
-                if result["severity"] == "H":
-                    itm.setIcon(1, UI.PixmapCache.getIcon("securityLow"))
-                elif result["severity"] == "M":
-                    itm.setIcon(1, UI.PixmapCache.getIcon("securityMedium"))
-                elif result["severity"] == "L":
-                    itm.setIcon(1, UI.PixmapCache.getIcon("securityHigh"))
-                else:
-                    itm.setIcon(1, UI.PixmapCache.getIcon("securityLow"))
-            else:
-                itm.setIcon(1, UI.PixmapCache.getIcon("securityLow"))
-        else:
-            itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError"))
+        
+        CodeStyleCheckerUtilities.setItemIcon(
+            itm, 1, msgCode, result.get("severity"))
+        
         if result["fixed"]:
             itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed"))
         elif (
@@ -421,6 +405,35 @@
         self.__statistics["_IssuesFixed"] = 0
         self.__statistics["_SecurityOK"] = 0
     
+    def __getBanRelativeImportsValue(self):
+        """
+        Private method to get the value corresponding the selected button.
+        
+        @return value for the BanRelativeImports argument
+        @rtype str
+        """
+        if self.banParentsButton.isChecked():
+            return "parents"
+        elif self.banAllButton.isChecked():
+            return "true"
+        else:
+            return ""
+    
+    def __setBanRelativeImports(self, value):
+        """
+        Private method to set the button according to the ban relative imports
+        setting.
+        
+        @param value value of the ban relative imports setting
+        @type str
+        """
+        if value == "parents":
+            self.banParentsButton.setChecked(True)
+        elif value == "true":
+            self.banAllButton.setChecked(True)
+        else:
+            self.allowAllButton.setChecked(True)
+    
     def prepare(self, fileList, project):
         """
         Public method to prepare the dialog with a list of filenames.
@@ -562,6 +575,13 @@
                     SecurityDefaults["check_typed_exception"],
             }
         
+        if "ImportsChecker" not in self.__data:
+            self.__data["ImportsChecker"] = {
+                "ApplicationPackageNames": [],
+                "BannedModules": [],
+                "BanRelativeImports": "",
+            }
+        
         self.__initCategoriesList(self.__data["EnabledCheckerCategories"])
         self.excludeFilesEdit.setText(self.__data["ExcludeFiles"])
         self.excludeMessagesEdit.setText(self.__data["ExcludeMessages"])
@@ -823,11 +843,19 @@
                     self.typedExceptionsCheckBox.isChecked(),
             }
             
+            importsArgs = {
+                "ApplicationPackageNames":
+                    sorted(self.appPackagesEdit.toPlainText().split()),
+                "BannedModules":
+                    sorted(self.bannedModulesEdit.toPlainText().split()),
+                "BanRelativeImports": self.__getBanRelativeImportsValue(),
+            }
+            
             self.__options = [excludeMessages, includeMessages, repeatMessages,
                               fixCodes, noFixCodes, fixIssues, maxLineLength,
                               maxDocLineLength, blankLines, hangClosing,
                               docType, codeComplexityArgs, miscellaneousArgs,
-                              annotationArgs, securityArgs]
+                              annotationArgs, securityArgs, importsArgs]
             
             # now go through all the files
             self.progress = 0
@@ -1255,6 +1283,13 @@
                     "CheckTypedException":
                         self.typedExceptionsCheckBox.isChecked(),
                 },
+                "ImportsChecker": {
+                    "ApplicationPackageNames":
+                        sorted(self.appPackagesEdit.toPlainText().split()),
+                    "BannedModules":
+                        sorted(self.bannedModulesEdit.toPlainText().split()),
+                    "BanRelativeImports": self.__getBanRelativeImportsValue(),
+                },
             }
             if (
                 json.dumps(data, sort_keys=True) !=
@@ -1512,7 +1547,7 @@
             )
         ))
         
-        # type annotations
+        # Type Annotations Checker
         self.minAnnotationsCoverageSpinBox.setValue(int(
             Preferences.getSettings().value(
                 "PEP8/MinimumAnnotationsCoverage",
@@ -1554,7 +1589,7 @@
                 "PEP8/OverloadDecorators",
                 AnnotationsCheckerDefaultArgs["OverloadDecorators"]))))
         
-        # security
+        # Security Checker
         from .Security.SecurityDefaults import SecurityDefaults
         self.tmpDirectoriesEdit.setPlainText("\n".join(
             Preferences.toList(Preferences.getSettings().value(
@@ -1597,6 +1632,17 @@
                 "PEP8/CheckTypedException",
                 SecurityDefaults["check_typed_exception"]))),
         
+        # Imports Checker
+        self.appPackagesEdit.setPlainText(" ".join(
+            sorted(Preferences.toList(Preferences.getSettings().value(
+                "PEP8/ApplicationPackageNames", [])))))
+        self.bannedModulesEdit.setPlainText(" ".join(
+            sorted(Preferences.toList(Preferences.getSettings().value(
+                "PEP8/BannedModules", [])))))
+        self.__setBanRelativeImports(
+            Preferences.getSettings().value(
+                "PEP8/BanRelativeImports", ""))
+        
         self.__cleanupData()
     
     @pyqtSlot()
@@ -1661,7 +1707,7 @@
             "PEP8/CommentedCodeWhitelist",
             self.__getCommentedCodeCheckerWhiteList())
         
-        # type annotations
+        # Type Annotations Checker
         Preferences.getSettings().setValue(
             "PEP8/MinimumAnnotationsCoverage",
             self.minAnnotationsCoverageSpinBox.value())
@@ -1695,7 +1741,7 @@
             [d.strip()
              for d in self.overloadDecoratorEdit.text().split(",")])
         
-        # security
+        # Security Checker
         Preferences.getSettings().setValue(
             "PEP8/HardcodedTmpDirectories",
             [t.strip()
@@ -1732,6 +1778,17 @@
         Preferences.getSettings().setValue(
             "PEP8/CheckTypedException",
             self.typedExceptionsCheckBox.isChecked()),
+        
+        # Imports Checker
+        Preferences.getSettings().setValue(
+            "PEP8/ApplicationPackageNames",
+            sorted(self.appPackagesEdit.toPlainText().split()))
+        Preferences.getSettings().setValue(
+            "PEP8/BannedModules",
+            sorted(self.bannedModulesEdit.toPlainText().split()))
+        Preferences.getSettings().setValue(
+            "PEP8/BanRelativeImports",
+            self.__getBanRelativeImportsValue())
     
     @pyqtSlot()
     def on_resetDefaultButton_clicked(self):
@@ -1792,7 +1849,7 @@
                 "CommentedCodeChecker"]["WhiteList"]
         )
         
-        # type annotations
+        # Type Annotations Checker
         Preferences.getSettings().setValue(
             "PEP8/MinimumAnnotationsCoverage",
             AnnotationsCheckerDefaultArgs["MinimumCoverage"])
@@ -1824,7 +1881,7 @@
             "PEP8/OverloadDecorators",
             AnnotationsCheckerDefaultArgs["OverloadDecorators"])
         
-        # security
+        # Security Checker
         from .Security.SecurityDefaults import SecurityDefaults
         Preferences.getSettings().setValue(
             "PEP8/HardcodedTmpDirectories",
@@ -1857,6 +1914,14 @@
             "PEP8/CheckTypedException",
             SecurityDefaults["check_typed_exception"])
         
+        # Imports Checker
+        Preferences.getSettings().setValue(
+            "PEP8/ApplicationPackageNames", [])
+        Preferences.getSettings().setValue(
+            "PEP8/BannedModules", [])
+        Preferences.getSettings().setValue(
+            "PEP8/BanRelativeImports", "")
+        
         # Update UI with default values
         self.on_loadDefaultButton_clicked()
     
--- a/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui	Sat Dec 04 11:12:45 2021 +0100
+++ b/eric7/Plugins/CheckerPlugins/CodeStyleChecker/CodeStyleCheckerDialog.ui	Sat Jan 01 14:34:29 2022 +0100
@@ -35,11 +35,11 @@
        <item>
         <widget class="QTabWidget" name="optionsTabWidget">
          <property name="currentIndex">
-          <number>1</number>
+          <number>0</number>
          </property>
          <widget class="QWidget" name="globalOptionsTab">
           <attribute name="title">
-           <string>Global Options</string>
+           <string>Globals</string>
           </attribute>
           <layout class="QGridLayout" name="gridLayout_2">
            <item row="0" column="0">
@@ -245,7 +245,7 @@
          </widget>
          <widget class="QWidget" name="specificOptionsTab">
           <attribute name="title">
-           <string>Specific Options</string>
+           <string>Specifics</string>
           </attribute>
           <layout class="QVBoxLayout" name="verticalLayout_9">
            <item>
@@ -266,9 +266,9 @@
               <property name="geometry">
                <rect>
                 <x>0</x>
-                <y>-512</y>
+                <y>0</y>
                 <width>611</width>
-                <height>1417</height>
+                <height>923</height>
                </rect>
               </property>
               <layout class="QVBoxLayout" name="verticalLayout_4">
@@ -725,292 +725,332 @@
                  </layout>
                 </widget>
                </item>
-               <item>
-                <widget class="QGroupBox" name="groupBox_3">
-                 <property name="title">
-                  <string>Code Complexity</string>
-                 </property>
-                 <layout class="QGridLayout" name="gridLayout_4">
-                  <item row="0" column="2" rowspan="2">
-                   <spacer name="horizontalSpacer_5">
-                    <property name="orientation">
-                     <enum>Qt::Horizontal</enum>
-                    </property>
-                    <property name="sizeHint" stdset="0">
-                     <size>
-                      <width>313</width>
-                      <height>20</height>
-                     </size>
-                    </property>
-                   </spacer>
-                  </item>
-                  <item row="0" column="0">
-                   <widget class="QLabel" name="label_8">
-                    <property name="text">
-                     <string>Max. McCabe Complexity:</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="0" column="1">
-                   <widget class="QSpinBox" name="complexitySpinBox">
-                    <property name="toolTip">
-                     <string>Enter the maximum allowed code complexity (McCabe: 10)</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                    </property>
-                    <property name="maximum">
-                     <number>100</number>
-                    </property>
-                    <property name="value">
-                     <number>10</number>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="1" column="0">
-                   <widget class="QLabel" name="label_13">
-                    <property name="text">
-                     <string>Max. Line Complexity:</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="1" column="1">
-                   <widget class="QSpinBox" name="lineComplexitySpinBox">
-                    <property name="toolTip">
-                     <string>Enter the maximum complexity (number of nodes) for a line of code</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                    </property>
-                    <property name="maximum">
-                     <number>100</number>
-                    </property>
-                    <property name="value">
-                     <number>15</number>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="2" column="0">
-                   <widget class="QLabel" name="label_14">
-                    <property name="text">
-                     <string>Max. Line Complexity Score:</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item row="2" column="1">
-                   <widget class="QSpinBox" name="lineComplexityScoreSpinBox">
-                    <property name="toolTip">
-                     <string>Enter the maximum allowed median for line complexity</string>
-                    </property>
-                    <property name="alignment">
-                     <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                    </property>
-                    <property name="maximum">
-                     <number>100</number>
-                    </property>
-                    <property name="value">
-                     <number>10</number>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </widget>
-               </item>
-               <item>
-                <widget class="QGroupBox" name="groupBox_10">
-                 <property name="title">
-                  <string>Type Annotations</string>
-                 </property>
-                 <layout class="QVBoxLayout" name="verticalLayout_3">
-                  <item>
-                   <layout class="QGridLayout" name="gridLayout_6">
-                    <item row="0" column="0">
-                     <widget class="QLabel" name="label_18">
-                      <property name="text">
-                       <string>Min. Coverage:</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="1">
-                     <widget class="QSpinBox" name="minAnnotationsCoverageSpinBox">
-                      <property name="toolTip">
-                       <string>Enter the minimum percentage of type annotations</string>
-                      </property>
-                      <property name="alignment">
-                       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                      </property>
-                      <property name="specialValueText">
-                       <string>off</string>
-                      </property>
-                      <property name="suffix">
-                       <string>%</string>
-                      </property>
-                      <property name="maximum">
-                       <number>100</number>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="2">
-                     <spacer name="horizontalSpacer_7">
-                      <property name="orientation">
-                       <enum>Qt::Horizontal</enum>
-                      </property>
-                      <property name="sizeHint" stdset="0">
-                       <size>
-                        <width>352</width>
-                        <height>20</height>
-                       </size>
-                      </property>
-                     </spacer>
-                    </item>
-                    <item row="1" column="0">
-                     <widget class="QLabel" name="label_19">
-                      <property name="text">
-                       <string>Max. Complexity:</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="1">
-                     <widget class="QSpinBox" name="maxAnnotationsComplexitySpinBox">
-                      <property name="toolTip">
-                       <string>Enter the maximum type annotation complexity</string>
-                      </property>
-                      <property name="alignment">
-                       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                      </property>
-                      <property name="minimum">
-                       <number>1</number>
-                      </property>
-                      <property name="maximum">
-                       <number>9</number>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="2" column="0">
-                     <widget class="QLabel" name="label_32">
-                      <property name="text">
-                       <string>Max. Length:</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="2" column="1">
-                     <widget class="QSpinBox" name="maxAnnotationsLengthSpinBox">
-                      <property name="toolTip">
-                       <string>Enter the maximum type annotation length</string>
-                      </property>
-                      <property name="alignment">
-                       <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
-                      </property>
-                      <property name="minimum">
-                       <number>1</number>
-                      </property>
-                      <property name="maximum">
-                       <number>15</number>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <layout class="QGridLayout" name="gridLayout_9">
-                    <item row="0" column="0">
-                     <widget class="QCheckBox" name="suppressNoneReturningCheckBox">
-                      <property name="toolTip">
-                       <string>Select to not report functions without returns or with only bare returns</string>
-                      </property>
-                      <property name="text">
-                       <string>Suppress 'None' return</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="0" column="1">
-                     <widget class="QCheckBox" name="suppressDummyArgsCheckBox">
-                      <property name="toolTip">
-                       <string>Select to not report dummy (i.e. '_') arguments</string>
-                      </property>
-                      <property name="text">
-                       <string>Suppress Dummy Arguments</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="0">
-                     <widget class="QCheckBox" name="allowUntypedDefsCheckBox">
-                      <property name="toolTip">
-                       <string>Select to not report dynamically typed functions</string>
-                      </property>
-                      <property name="text">
-                       <string>Allow Untyped Functions</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="1" column="1">
-                     <widget class="QCheckBox" name="allowUntypedNestedCheckBox">
-                      <property name="toolTip">
-                       <string>Select to not report dynamically typed nested functions</string>
-                      </property>
-                      <property name="text">
-                       <string>Allow Untyped Nested Functions</string>
-                      </property>
-                     </widget>
-                    </item>
-                    <item row="2" column="0" colspan="2">
-                     <widget class="QCheckBox" name="mypyInitReturnCheckBox">
-                      <property name="toolTip">
-                       <string>Select to not report unhinted '__init__' return</string>
-                      </property>
-                      <property name="text">
-                       <string>Allow Untyped '__init__' function</string>
-                      </property>
-                     </widget>
-                    </item>
-                   </layout>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_33">
-                    <property name="text">
-                     <string>Dispatch Decorators:</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLineEdit" name="dispatchDecoratorEdit">
-                    <property name="toolTip">
-                     <string>Enter the list of dispatch decorators separated by comma</string>
-                    </property>
-                    <property name="clearButtonEnabled">
-                     <bool>true</bool>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLabel" name="label_34">
-                    <property name="text">
-                     <string>Overload Decorators:</string>
-                    </property>
-                   </widget>
-                  </item>
-                  <item>
-                   <widget class="QLineEdit" name="overloadDecoratorEdit">
-                    <property name="toolTip">
-                     <string>Enter the list of typing.overload decorators separated by comma</string>
-                    </property>
-                    <property name="clearButtonEnabled">
-                     <bool>true</bool>
-                    </property>
-                   </widget>
-                  </item>
-                 </layout>
-                </widget>
-               </item>
               </layout>
              </widget>
             </widget>
            </item>
           </layout>
          </widget>
+         <widget class="QWidget" name="codeComplexityTab">
+          <attribute name="title">
+           <string>Complexity</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_17">
+           <item>
+            <widget class="QGroupBox" name="groupBox_3">
+             <property name="title">
+              <string>Code Complexity</string>
+             </property>
+             <layout class="QGridLayout" name="gridLayout_4">
+              <item row="0" column="2" rowspan="2">
+               <spacer name="horizontalSpacer_5">
+                <property name="orientation">
+                 <enum>Qt::Horizontal</enum>
+                </property>
+                <property name="sizeHint" stdset="0">
+                 <size>
+                  <width>313</width>
+                  <height>20</height>
+                 </size>
+                </property>
+               </spacer>
+              </item>
+              <item row="0" column="0">
+               <widget class="QLabel" name="label_8">
+                <property name="text">
+                 <string>Max. McCabe Complexity:</string>
+                </property>
+               </widget>
+              </item>
+              <item row="0" column="1">
+               <widget class="QSpinBox" name="complexitySpinBox">
+                <property name="toolTip">
+                 <string>Enter the maximum allowed code complexity (McCabe: 10)</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+                <property name="value">
+                 <number>10</number>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="0">
+               <widget class="QLabel" name="label_13">
+                <property name="text">
+                 <string>Max. Line Complexity:</string>
+                </property>
+               </widget>
+              </item>
+              <item row="1" column="1">
+               <widget class="QSpinBox" name="lineComplexitySpinBox">
+                <property name="toolTip">
+                 <string>Enter the maximum complexity (number of nodes) for a line of code</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+                <property name="value">
+                 <number>15</number>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="0">
+               <widget class="QLabel" name="label_14">
+                <property name="text">
+                 <string>Max. Line Complexity Score:</string>
+                </property>
+               </widget>
+              </item>
+              <item row="2" column="1">
+               <widget class="QSpinBox" name="lineComplexityScoreSpinBox">
+                <property name="toolTip">
+                 <string>Enter the maximum allowed median for line complexity</string>
+                </property>
+                <property name="alignment">
+                 <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                </property>
+                <property name="maximum">
+                 <number>100</number>
+                </property>
+                <property name="value">
+                 <number>10</number>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="verticalSpacer_8">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>802</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
+         <widget class="QWidget" name="typeAnnotationsTab">
+          <attribute name="title">
+           <string>Annotations</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_18">
+           <item>
+            <widget class="QGroupBox" name="groupBox_10">
+             <property name="title">
+              <string>Type Annotations</string>
+             </property>
+             <layout class="QVBoxLayout" name="verticalLayout_3">
+              <item>
+               <layout class="QGridLayout" name="gridLayout_6">
+                <item row="0" column="0">
+                 <widget class="QLabel" name="label_18">
+                  <property name="text">
+                   <string>Min. Coverage:</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="0" column="1">
+                 <widget class="QSpinBox" name="minAnnotationsCoverageSpinBox">
+                  <property name="toolTip">
+                   <string>Enter the minimum percentage of type annotations</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="specialValueText">
+                   <string>off</string>
+                  </property>
+                  <property name="suffix">
+                   <string>%</string>
+                  </property>
+                  <property name="maximum">
+                   <number>100</number>
+                  </property>
+                 </widget>
+                </item>
+                <item row="0" column="2">
+                 <spacer name="horizontalSpacer_7">
+                  <property name="orientation">
+                   <enum>Qt::Horizontal</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>352</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+                <item row="1" column="0">
+                 <widget class="QLabel" name="label_19">
+                  <property name="text">
+                   <string>Max. Complexity:</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="1" column="1">
+                 <widget class="QSpinBox" name="maxAnnotationsComplexitySpinBox">
+                  <property name="toolTip">
+                   <string>Enter the maximum type annotation complexity</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="minimum">
+                   <number>1</number>
+                  </property>
+                  <property name="maximum">
+                   <number>9</number>
+                  </property>
+                 </widget>
+                </item>
+                <item row="2" column="0">
+                 <widget class="QLabel" name="label_32">
+                  <property name="text">
+                   <string>Max. Length:</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="2" column="1">
+                 <widget class="QSpinBox" name="maxAnnotationsLengthSpinBox">
+                  <property name="toolTip">
+                   <string>Enter the maximum type annotation length</string>
+                  </property>
+                  <property name="alignment">
+                   <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+                  </property>
+                  <property name="minimum">
+                   <number>1</number>
+                  </property>
+                  <property name="maximum">
+                   <number>15</number>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <layout class="QGridLayout" name="gridLayout_9">
+                <item row="0" column="0">
+                 <widget class="QCheckBox" name="suppressNoneReturningCheckBox">
+                  <property name="toolTip">
+                   <string>Select to not report functions without returns or with only bare returns</string>
+                  </property>
+                  <property name="text">
+                   <string>Suppress 'None' return</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="0" column="1">
+                 <widget class="QCheckBox" name="suppressDummyArgsCheckBox">
+                  <property name="toolTip">
+                   <string>Select to not report dummy (i.e. '_') arguments</string>
+                  </property>
+                  <property name="text">
+                   <string>Suppress Dummy Arguments</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="1" column="0">
+                 <widget class="QCheckBox" name="allowUntypedDefsCheckBox">
+                  <property name="toolTip">
+                   <string>Select to not report dynamically typed functions</string>
+                  </property>
+                  <property name="text">
+                   <string>Allow Untyped Functions</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="1" column="1">
+                 <widget class="QCheckBox" name="allowUntypedNestedCheckBox">
+                  <property name="toolTip">
+                   <string>Select to not report dynamically typed nested functions</string>
+                  </property>
+                  <property name="text">
+                   <string>Allow Untyped Nested Functions</string>
+                  </property>
+                 </widget>
+                </item>
+                <item row="2" column="0" colspan="2">
+                 <widget class="QCheckBox" name="mypyInitReturnCheckBox">
+                  <property name="toolTip">
+                   <string>Select to not report unhinted '__init__' return</string>
+                  </property>
+                  <property name="text">
+                   <string>Allow Untyped '__init__' function</string>
+                  </property>
+                 </widget>
+                </item>
+               </layout>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_33">
+                <property name="text">
+                 <string>Dispatch Decorators:</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLineEdit" name="dispatchDecoratorEdit">
+                <property name="toolTip">
+                 <string>Enter the list of dispatch decorators separated by comma</string>
+                </property>
+                <property name="clearButtonEnabled">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLabel" name="label_34">
+                <property name="text">
+                 <string>Overload Decorators:</string>
+                </property>
+               </widget>
+              </item>
+              <item>
+               <widget class="QLineEdit" name="overloadDecoratorEdit">
+                <property name="toolTip">
+                 <string>Enter the list of typing.overload decorators separated by comma</string>
+                </property>
+                <property name="clearButtonEnabled">
+                 <bool>true</bool>
+                </property>
+               </widget>
+              </item>
+             </layout>
+            </widget>
+           </item>
+           <item>
+            <spacer name="verticalSpacer_9">
+             <property name="orientation">
+              <enum>Qt::Vertical</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>20</width>
+               <height>596</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+          </layout>
+         </widget>
          <widget class="QWidget" name="securityOptionsTab">
           <attribute name="title">
-           <string>Security Options</string>
+           <string>Security</string>
           </attribute>
           <layout class="QGridLayout" name="gridLayout_7">
            <item row="0" column="0">
@@ -1253,6 +1293,120 @@
            </item>
           </layout>
          </widget>
+         <widget class="QWidget" name="importOptionsTab">
+          <attribute name="title">
+           <string>Imports</string>
+          </attribute>
+          <layout class="QVBoxLayout" name="verticalLayout_16">
+           <item>
+            <widget class="QGroupBox" name="groupBox_15">
+             <property name="title">
+              <string>Application Packages</string>
+             </property>
+             <layout class="QVBoxLayout" name="verticalLayout_14">
+              <item>